forked from TrueCloudLab/frostfs-testcases
single keyword for wallet initialization (#54)
Signed-off-by: anastasia prasolova <anastasia@nspcc.ru>
This commit is contained in:
parent
2f31e79327
commit
9c1d4b9b07
14 changed files with 153 additions and 228 deletions
17
Makefile
17
Makefile
|
@ -1,9 +1,18 @@
|
||||||
.DEFAULT_GOAL := help
|
.DEFAULT_GOAL := help
|
||||||
|
|
||||||
run:
|
OUTPUT_DIR = artifacts/
|
||||||
|
KEYWORDS_PATH = ../neofs-keywords
|
||||||
|
KEYWORDS_REPO = git@github.com:nspcc-dev/neofs-keywords.git
|
||||||
|
|
||||||
|
run: deps
|
||||||
@echo "⇒ Test Run"
|
@echo "⇒ Test Run"
|
||||||
@robot --timestampoutputs --outputdir artifacts/ robot/testsuites/integration/
|
@robot --timestampoutputs --outputdir $(OUTPUT_DIR) robot/testsuites/integration/
|
||||||
|
|
||||||
|
deps: $(KEYWORDS_PATH)
|
||||||
|
|
||||||
|
$(KEYWORDS_PATH):
|
||||||
|
@echo "Cloning keywords repo"
|
||||||
|
@git clone $(KEYWORDS_REPO) $(KEYWORDS_PATH)
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "⇒ run Run testcases ${R}"
|
@echo "⇒ run Run testcases ${R}"
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
4. Install Testcases dependencies
|
4. Install Testcases dependencies
|
||||||
- `pip3 install -r requirements.txt`
|
- `pip3 install -r requirements.txt`
|
||||||
|
- `make deps`
|
||||||
|
|
||||||
(replace pip3 with the appropriate python package manager on the system).
|
(replace pip3 with the appropriate python package manager on the system).
|
||||||
|
|
||||||
|
@ -37,6 +38,8 @@ Test cases are designed to run on Python 3.7+
|
||||||
|
|
||||||
### Run
|
### Run
|
||||||
|
|
||||||
|
0. Add keywords repo to PYTHONPATH `export PYTHONPATH=${PYTHONPATH}:~/neofs-keywords`
|
||||||
|
|
||||||
1. Execute the command `make run`
|
1. Execute the command `make run`
|
||||||
|
|
||||||
2. Logs will be available in the artifacts/ directory after tests with any of the statuses are completed.
|
2. Logs will be available in the artifacts/ directory after tests with any of the statuses are completed.
|
||||||
|
@ -87,7 +90,7 @@ The following UserScenarios and testcases are available for execution:
|
||||||
* services
|
* services
|
||||||
* http_gate.robot
|
* http_gate.robot
|
||||||
* s3_gate.robot
|
* s3_gate.robot
|
||||||
|
|
||||||
|
|
||||||
## Generation of documentation
|
## Generation of documentation
|
||||||
|
|
||||||
|
|
|
@ -367,7 +367,6 @@ def container_existing(private_key: str, cid: str):
|
||||||
_find_cid(complProc.stdout, cid)
|
_find_cid(complProc.stdout, cid)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@keyword('Search object')
|
@keyword('Search object')
|
||||||
def search_object(private_key: str, cid: str, keys: str, bearer: str, filters: str,
|
def search_object(private_key: str, cid: str, keys: str, bearer: str, filters: str,
|
||||||
expected_objects_list=[], options:str=""):
|
expected_objects_list=[], options:str=""):
|
||||||
|
|
|
@ -23,46 +23,6 @@ ROBOT_AUTO_KEYWORDS = False
|
||||||
NEOFS_CLI_EXEC = os.getenv('NEOFS_CLI_EXEC', 'neofs-cli')
|
NEOFS_CLI_EXEC = os.getenv('NEOFS_CLI_EXEC', 'neofs-cli')
|
||||||
NEOGO_CLI_EXEC = os.getenv('NEOGO_CLI_EXEC', 'neo-go')
|
NEOGO_CLI_EXEC = os.getenv('NEOGO_CLI_EXEC', 'neo-go')
|
||||||
|
|
||||||
@keyword('Init wallet')
|
|
||||||
def init_wallet():
|
|
||||||
if not os.path.exists(TEMP_DIR):
|
|
||||||
os.makedirs(TEMP_DIR)
|
|
||||||
filename = os.getcwd() + '/' + TEMP_DIR + str(uuid.uuid4()) + ".json"
|
|
||||||
cmd = f"{NEOGO_CLI_EXEC} wallet init -w {filename}"
|
|
||||||
logger.info(f"Executing command: {cmd}")
|
|
||||||
stdout = _run_sh(cmd)
|
|
||||||
logger.info(f"wallet init succeeded with output: {stdout}")
|
|
||||||
return filename
|
|
||||||
|
|
||||||
@keyword('Generate wallet from WIF')
|
|
||||||
def generate_wallet_from_wif(wallet: str, wif: str):
|
|
||||||
cmd = f"{NEOGO_CLI_EXEC} wallet import --wallet {wallet} --wif {wif}"
|
|
||||||
out = _run_sh_wallet_gen(cmd)
|
|
||||||
logger.info(f"Command completed with output: {out}")
|
|
||||||
|
|
||||||
@keyword('Generate wallet')
|
|
||||||
def generate_wallet(wallet: str):
|
|
||||||
cmd = f"{NEOGO_CLI_EXEC} wallet create -w {wallet}"
|
|
||||||
out = _run_sh_wallet_gen(cmd)
|
|
||||||
logger.info(f"Command completed with output: {out}")
|
|
||||||
|
|
||||||
@keyword('Dump Address')
|
|
||||||
def dump_address(wallet: str):
|
|
||||||
with open(wallet) as json_file:
|
|
||||||
data = json.load(json_file)
|
|
||||||
if len(data['accounts']) != 0:
|
|
||||||
return data['accounts'][0]['address']
|
|
||||||
else:
|
|
||||||
raise Exception("Can not get address.")
|
|
||||||
|
|
||||||
@keyword('Dump PrivKey')
|
|
||||||
def dump_privkey(wallet: str, address: str):
|
|
||||||
cmd = f"{NEOGO_CLI_EXEC} wallet export -w {wallet} --decrypt {address}"
|
|
||||||
logger.info(f"Executing command: {cmd}")
|
|
||||||
out = _run_sh_with_passwd('\r', cmd)
|
|
||||||
logger.info(f"Command completed with output: {out}")
|
|
||||||
return out
|
|
||||||
|
|
||||||
@keyword('Transfer Mainnet Gas')
|
@keyword('Transfer Mainnet Gas')
|
||||||
def transfer_mainnet_gas(wallet: str, address: str, address_to: str, amount: int, wallet_pass:str=''):
|
def transfer_mainnet_gas(wallet: str, address: str, address_to: str, amount: int, wallet_pass:str=''):
|
||||||
cmd = (
|
cmd = (
|
||||||
|
@ -257,15 +217,6 @@ def _get_balance_request(privkey: str):
|
||||||
|
|
||||||
return output
|
return output
|
||||||
|
|
||||||
def _run_sh(args):
|
|
||||||
complProc = subprocess.run(args, check=True, universal_newlines=True,
|
|
||||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
|
||||||
timeout=150, shell=True)
|
|
||||||
output, errors = complProc.stdout, complProc.stderr
|
|
||||||
if errors:
|
|
||||||
return errors
|
|
||||||
return output
|
|
||||||
|
|
||||||
def _run_sh_with_passwd(passwd, cmd):
|
def _run_sh_with_passwd(passwd, cmd):
|
||||||
p = pexpect.spawn(cmd)
|
p = pexpect.spawn(cmd)
|
||||||
p.expect(".*")
|
p.expect(".*")
|
||||||
|
@ -275,20 +226,3 @@ def _run_sh_with_passwd(passwd, cmd):
|
||||||
# take a string with tx hash
|
# take a string with tx hash
|
||||||
tx_hash = p.read().splitlines()[-1]
|
tx_hash = p.read().splitlines()[-1]
|
||||||
return tx_hash.decode()
|
return tx_hash.decode()
|
||||||
|
|
||||||
def _run_sh_wallet_gen(cmd):
|
|
||||||
'''
|
|
||||||
Internal method.
|
|
||||||
'''
|
|
||||||
logger.info(f"Executing command: {cmd}")
|
|
||||||
p = pexpect.spawn(cmd)
|
|
||||||
p.expect(".*")
|
|
||||||
p.sendline('\r')
|
|
||||||
p.expect(".*")
|
|
||||||
p.sendline('\r')
|
|
||||||
p.expect(".*")
|
|
||||||
p.sendline('\r')
|
|
||||||
p.wait()
|
|
||||||
out = p.read()
|
|
||||||
|
|
||||||
return out
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
*** Settings ***
|
||||||
|
Variables ../../../variables/common.py
|
||||||
|
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
|
|
||||||
*** Variables ***
|
*** Variables ***
|
||||||
${RULE_FOR_ALL} = REP 2 IN X CBF 1 SELECT 4 FROM * AS X
|
${RULE_FOR_ALL} = REP 2 IN X CBF 1 SELECT 4 FROM * AS X
|
||||||
|
|
||||||
|
@ -5,16 +10,9 @@ ${RULE_FOR_ALL} = REP 2 IN X CBF 1 SELECT 4 FROM * AS X
|
||||||
*** Keywords ***
|
*** Keywords ***
|
||||||
|
|
||||||
Generate Keys
|
Generate Keys
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} ${USER_KEY_GEN} = Init Wallet with Address ${TEMP_DIR}
|
||||||
Generate wallet ${WALLET}
|
${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY_GEN} = Init Wallet with Address ${TEMP_DIR}
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${USER_KEY_GEN} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
|
|
||||||
${WALLET_OTH} = Init wallet
|
|
||||||
Generate wallet ${WALLET_OTH}
|
|
||||||
${ADDR_OTH} = Dump Address ${WALLET_OTH}
|
|
||||||
${OTHER_KEY_GEN} = Dump PrivKey ${WALLET_OTH} ${ADDR_OTH}
|
|
||||||
|
|
||||||
${SYSTEM_KEY_GEN} = Set Variable ${NEOFS_IR_WIF}
|
${SYSTEM_KEY_GEN} = Set Variable ${NEOFS_IR_WIF}
|
||||||
${SYSTEM_KEY_GEN_SN} = Set Variable ${NEOFS_SN_WIF}
|
${SYSTEM_KEY_GEN_SN} = Set Variable ${NEOFS_SN_WIF}
|
||||||
|
|
||||||
|
@ -23,18 +21,18 @@ Generate Keys
|
||||||
Set Global Variable ${SYSTEM_KEY_IR} ${SYSTEM_KEY_GEN}
|
Set Global Variable ${SYSTEM_KEY_IR} ${SYSTEM_KEY_GEN}
|
||||||
Set Global Variable ${SYSTEM_KEY_SN} ${SYSTEM_KEY_GEN_SN}
|
Set Global Variable ${SYSTEM_KEY_SN} ${SYSTEM_KEY_GEN_SN}
|
||||||
|
|
||||||
Payment Operations ${WALLET} ${ADDR} ${USER_KEY}
|
Payment Operations ${WALLET} ${ADDR} ${USER_KEY}
|
||||||
Payment Operations ${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY}
|
Payment Operations ${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY}
|
||||||
|
|
||||||
# Basic ACL manual page: https://neospcc.atlassian.net/wiki/spaces/NEOF/pages/362348545/NeoFS+ACL
|
# Basic ACL manual page: https://neospcc.atlassian.net/wiki/spaces/NEOF/pages/362348545/NeoFS+ACL
|
||||||
# TODO: X - Sticky bit validation on public container
|
# TODO: X - Sticky bit validation on public container
|
||||||
|
|
||||||
|
|
||||||
Payment Operations
|
Payment Operations
|
||||||
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
||||||
|
|
||||||
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 3
|
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 3
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX}
|
... Transaction accepted in block ${TX}
|
||||||
Get Transaction ${TX}
|
Get Transaction ${TX}
|
||||||
Expected Mainnet Balance ${ADDR} 3
|
Expected Mainnet Balance ${ADDR} 3
|
||||||
|
@ -42,7 +40,7 @@ Payment Operations
|
||||||
${SCRIPT_HASH} = Get ScriptHash ${KEY}
|
${SCRIPT_HASH} = Get ScriptHash ${KEY}
|
||||||
|
|
||||||
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 2
|
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 2
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX_DEPOSIT}
|
... Transaction accepted in block ${TX_DEPOSIT}
|
||||||
Get Transaction ${TX_DEPOSIT}
|
Get Transaction ${TX_DEPOSIT}
|
||||||
|
|
||||||
|
@ -50,17 +48,17 @@ Payment Operations
|
||||||
Create Containers
|
Create Containers
|
||||||
# Create containers:
|
# Create containers:
|
||||||
|
|
||||||
Log Create Private Container
|
Log Create Private Container
|
||||||
${PRIV_CID_GEN} = Create container ${USER_KEY} 0x18888888 ${RULE_FOR_ALL}
|
${PRIV_CID_GEN} = Create container ${USER_KEY} 0x18888888 ${RULE_FOR_ALL}
|
||||||
Container Existing ${USER_KEY} ${PRIV_CID_GEN}
|
Container Existing ${USER_KEY} ${PRIV_CID_GEN}
|
||||||
|
|
||||||
Log Create Public Container
|
Log Create Public Container
|
||||||
${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x1FFFFFFF ${RULE_FOR_ALL}
|
${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x1FFFFFFF ${RULE_FOR_ALL}
|
||||||
Container Existing ${USER_KEY} ${PUBLIC_CID_GEN}
|
Container Existing ${USER_KEY} ${PUBLIC_CID_GEN}
|
||||||
|
|
||||||
Log Create Read-Only Container
|
Log Create Read-Only Container
|
||||||
${READONLY_CID_GEN} = Create container ${USER_KEY} 0x1FFF88FF ${RULE_FOR_ALL}
|
${READONLY_CID_GEN} = Create container ${USER_KEY} 0x1FFF88FF ${RULE_FOR_ALL}
|
||||||
Container Existing ${USER_KEY} ${READONLY_CID_GEN}
|
Container Existing ${USER_KEY} ${READONLY_CID_GEN}
|
||||||
|
|
||||||
Set Global Variable ${PRIV_CID} ${PRIV_CID_GEN}
|
Set Global Variable ${PRIV_CID} ${PRIV_CID_GEN}
|
||||||
Set Global Variable ${PUBLIC_CID} ${PUBLIC_CID_GEN}
|
Set Global Variable ${PUBLIC_CID} ${PUBLIC_CID_GEN}
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
*** Variables ***
|
*** Settings ***
|
||||||
|
Variables ../../../variables/common.py
|
||||||
|
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
|
|
||||||
|
*** Variables ***
|
||||||
${FILE_USR_HEADER} = key1=1,key2=abc
|
${FILE_USR_HEADER} = key1=1,key2=abc
|
||||||
${FILE_USR_HEADER_DEL} = key1=del,key2=del
|
${FILE_USR_HEADER_DEL} = key1=del,key2=del
|
||||||
${FILE_OTH_HEADER} = key1=oth,key2=oth
|
${FILE_OTH_HEADER} = key1=oth,key2=oth
|
||||||
|
@ -10,16 +14,9 @@ ${RULE_FOR_ALL} = REP 2 IN X CBF 1 SELECT 4 FROM * AS X
|
||||||
|
|
||||||
Generate Keys
|
Generate Keys
|
||||||
# Generate new wallets
|
# Generate new wallets
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} ${USER_KEY_GEN} = Init Wallet with Address ${TEMP_DIR}
|
||||||
Generate wallet ${WALLET}
|
${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY_GEN} = Init Wallet with Address ${TEMP_DIR}
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${USER_KEY_GEN} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
|
|
||||||
${WALLET_OTH} = Init wallet
|
|
||||||
Generate wallet ${WALLET_OTH}
|
|
||||||
${ADDR_OTH} = Dump Address ${WALLET_OTH}
|
|
||||||
${OTHER_KEY_GEN} = Dump PrivKey ${WALLET_OTH} ${ADDR_OTH}
|
|
||||||
|
|
||||||
# Get pre-defined keys
|
# Get pre-defined keys
|
||||||
${EACL_KEY_GEN} = Form WIF from String 782676b81a35c5f07325ec523e8521ee4946b6e5d4c6cd652dd0c3ba51ce03de
|
${EACL_KEY_GEN} = Form WIF from String 782676b81a35c5f07325ec523e8521ee4946b6e5d4c6cd652dd0c3ba51ce03de
|
||||||
${SYSTEM_KEY_GEN} = Set Variable ${NEOFS_IR_WIF}
|
${SYSTEM_KEY_GEN} = Set Variable ${NEOFS_IR_WIF}
|
||||||
|
@ -32,15 +29,15 @@ Generate Keys
|
||||||
Set Global Variable ${SYSTEM_KEY_SN} ${SYSTEM_KEY_GEN_SN}
|
Set Global Variable ${SYSTEM_KEY_SN} ${SYSTEM_KEY_GEN_SN}
|
||||||
Set Global Variable ${EACL_KEY} ${EACL_KEY_GEN}
|
Set Global Variable ${EACL_KEY} ${EACL_KEY_GEN}
|
||||||
|
|
||||||
Payment Operations ${WALLET} ${ADDR} ${USER_KEY}
|
Payment Operations ${WALLET} ${ADDR} ${USER_KEY}
|
||||||
Payment Operations ${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY}
|
Payment Operations ${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY}
|
||||||
|
|
||||||
|
|
||||||
Payment Operations
|
Payment Operations
|
||||||
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
||||||
|
|
||||||
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 3
|
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 3
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX}
|
... Transaction accepted in block ${TX}
|
||||||
Get Transaction ${TX}
|
Get Transaction ${TX}
|
||||||
Expected Mainnet Balance ${ADDR} 3
|
Expected Mainnet Balance ${ADDR} 3
|
||||||
|
@ -48,7 +45,7 @@ Payment Operations
|
||||||
${SCRIPT_HASH} = Get ScriptHash ${KEY}
|
${SCRIPT_HASH} = Get ScriptHash ${KEY}
|
||||||
|
|
||||||
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 2
|
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 2
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX_DEPOSIT}
|
... Transaction accepted in block ${TX_DEPOSIT}
|
||||||
Get Transaction ${TX_DEPOSIT}
|
Get Transaction ${TX_DEPOSIT}
|
||||||
|
|
||||||
|
@ -56,7 +53,7 @@ Payment Operations
|
||||||
Create Container Public
|
Create Container Public
|
||||||
Log Create Public Container
|
Log Create Public Container
|
||||||
${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x0FFFFFFF
|
${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x0FFFFFFF
|
||||||
[Return] ${PUBLIC_CID_GEN}
|
[Return] ${PUBLIC_CID_GEN}
|
||||||
|
|
||||||
|
|
||||||
Create Container Inaccessible
|
Create Container Inaccessible
|
||||||
|
@ -67,10 +64,10 @@ Create Container Inaccessible
|
||||||
|
|
||||||
Generate file
|
Generate file
|
||||||
[Arguments] ${SIZE}
|
[Arguments] ${SIZE}
|
||||||
|
|
||||||
${FILE_S_GEN} = Generate file of bytes ${SIZE}
|
${FILE_S_GEN} = Generate file of bytes ${SIZE}
|
||||||
Set Global Variable ${FILE_S} ${FILE_S_GEN}
|
Set Global Variable ${FILE_S} ${FILE_S_GEN}
|
||||||
|
|
||||||
|
|
||||||
Prepare eACL Role rules
|
Prepare eACL Role rules
|
||||||
Log Set eACL for different Role cases
|
Log Set eACL for different Role cases
|
||||||
|
@ -78,10 +75,10 @@ Prepare eACL Role rules
|
||||||
# eACL rules for all operations and similar permissions
|
# eACL rules for all operations and similar permissions
|
||||||
@{Roles} = Create List OTHERS USER SYSTEM
|
@{Roles} = Create List OTHERS USER SYSTEM
|
||||||
FOR ${role} IN @{Roles}
|
FOR ${role} IN @{Roles}
|
||||||
${rule1} = Create Dictionary Operation=GET Access=DENY Role=${role}
|
${rule1} = Create Dictionary Operation=GET Access=DENY Role=${role}
|
||||||
${rule2} = Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
${rule2} = Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
||||||
${rule3} = Create Dictionary Operation=PUT Access=DENY Role=${role}
|
${rule3} = Create Dictionary Operation=PUT Access=DENY Role=${role}
|
||||||
${rule4} = Create Dictionary Operation=DELETE Access=DENY Role=${role}
|
${rule4} = Create Dictionary Operation=DELETE Access=DENY Role=${role}
|
||||||
${rule5} = Create Dictionary Operation=SEARCH Access=DENY Role=${role}
|
${rule5} = Create Dictionary Operation=SEARCH Access=DENY Role=${role}
|
||||||
${rule6} = Create Dictionary Operation=GETRANGE Access=DENY Role=${role}
|
${rule6} = Create Dictionary Operation=GETRANGE Access=DENY Role=${role}
|
||||||
${rule7} = Create Dictionary Operation=GETRANGEHASH Access=DENY Role=${role}
|
${rule7} = Create Dictionary Operation=GETRANGEHASH Access=DENY Role=${role}
|
||||||
|
@ -89,4 +86,4 @@ Prepare eACL Role rules
|
||||||
${eACL_gen} = Create List ${rule1} ${rule2} ${rule3} ${rule4} ${rule5} ${rule6} ${rule7}
|
${eACL_gen} = Create List ${rule1} ${rule2} ${rule3} ${rule4} ${rule5} ${rule6} ${rule7}
|
||||||
Form eACL json common file gen_eacl_deny_all_${role} ${eACL_gen}
|
Form eACL json common file gen_eacl_deny_all_${role} ${eACL_gen}
|
||||||
Set Global Variable ${EACL_DENY_ALL_${role}} gen_eacl_deny_all_${role}
|
Set Global Variable ${EACL_DENY_ALL_${role}} gen_eacl_deny_all_${role}
|
||||||
END
|
END
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
*** Settings ***
|
||||||
|
Variables ../../../variables/common.py
|
||||||
|
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
|
|
||||||
*** Variables ***
|
*** Variables ***
|
||||||
${FILE_USR_HEADER} = key1=1,key2=abc
|
${FILE_USR_HEADER} = key1=1,key2=abc
|
||||||
${FILE_USR_HEADER_DEL} = key1=del,key2=del
|
${FILE_USR_HEADER_DEL} = key1=del,key2=del
|
||||||
|
@ -7,16 +12,9 @@ ${RULE_FOR_ALL} = REP 2 IN X CBF 1 SELECT 4 FROM * AS X
|
||||||
|
|
||||||
*** Keywords ***
|
*** Keywords ***
|
||||||
Generate Keys
|
Generate Keys
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} ${USER_KEY_GEN} = Init Wallet with Address ${TEMP_DIR}
|
||||||
Generate wallet ${WALLET}
|
${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY_GEN} = Init Wallet with Address ${TEMP_DIR}
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${USER_KEY_GEN} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
|
|
||||||
${WALLET_OTH} = Init wallet
|
|
||||||
Generate wallet ${WALLET_OTH}
|
|
||||||
${ADDR_OTH} = Dump Address ${WALLET_OTH}
|
|
||||||
${OTHER_KEY_GEN} = Dump PrivKey ${WALLET_OTH} ${ADDR_OTH}
|
|
||||||
|
|
||||||
|
|
||||||
${EACL_KEY_GEN} = Form WIF from String 782676b81a35c5f07325ec523e8521ee4946b6e5d4c6cd652dd0c3ba51ce03de
|
${EACL_KEY_GEN} = Form WIF from String 782676b81a35c5f07325ec523e8521ee4946b6e5d4c6cd652dd0c3ba51ce03de
|
||||||
${SYSTEM_KEY_GEN} = Set Variable ${NEOFS_IR_WIF}
|
${SYSTEM_KEY_GEN} = Set Variable ${NEOFS_IR_WIF}
|
||||||
|
@ -28,16 +26,16 @@ Generate Keys
|
||||||
Set Global Variable ${SYSTEM_KEY_SN} ${SYSTEM_KEY_GEN_SN}
|
Set Global Variable ${SYSTEM_KEY_SN} ${SYSTEM_KEY_GEN_SN}
|
||||||
Set Global Variable ${EACL_KEY} ${EACL_KEY_GEN}
|
Set Global Variable ${EACL_KEY} ${EACL_KEY_GEN}
|
||||||
|
|
||||||
Payment Operations ${WALLET} ${ADDR} ${USER_KEY}
|
Payment Operations ${WALLET} ${ADDR} ${USER_KEY}
|
||||||
Payment Operations ${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY}
|
Payment Operations ${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY}
|
||||||
|
|
||||||
|
|
||||||
Payment Operations
|
Payment Operations
|
||||||
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
||||||
|
|
||||||
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 3
|
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 3
|
||||||
|
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX}
|
... Transaction accepted in block ${TX}
|
||||||
Get Transaction ${TX}
|
Get Transaction ${TX}
|
||||||
Expected Mainnet Balance ${ADDR} 3
|
Expected Mainnet Balance ${ADDR} 3
|
||||||
|
@ -45,7 +43,7 @@ Payment Operations
|
||||||
${SCRIPT_HASH} = Get ScriptHash ${KEY}
|
${SCRIPT_HASH} = Get ScriptHash ${KEY}
|
||||||
|
|
||||||
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 2
|
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 2
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX_DEPOSIT}
|
... Transaction accepted in block ${TX_DEPOSIT}
|
||||||
Get Transaction ${TX_DEPOSIT}
|
Get Transaction ${TX_DEPOSIT}
|
||||||
|
|
||||||
|
@ -54,15 +52,15 @@ Create Container Public
|
||||||
Log Create Public Container
|
Log Create Public Container
|
||||||
${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x4FFFFFFF ${RULE_FOR_ALL}
|
${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x4FFFFFFF ${RULE_FOR_ALL}
|
||||||
[Return] ${PUBLIC_CID_GEN}
|
[Return] ${PUBLIC_CID_GEN}
|
||||||
|
|
||||||
|
|
||||||
Generate files
|
Generate files
|
||||||
[Arguments] ${SIZE}
|
[Arguments] ${SIZE}
|
||||||
${FILE_S_GEN_1} = Generate file of bytes ${SIZE}
|
${FILE_S_GEN_1} = Generate file of bytes ${SIZE}
|
||||||
${FILE_S_GEN_2} = Generate file of bytes ${SIZE}
|
${FILE_S_GEN_2} = Generate file of bytes ${SIZE}
|
||||||
Set Global Variable ${FILE_S} ${FILE_S_GEN_1}
|
Set Global Variable ${FILE_S} ${FILE_S_GEN_1}
|
||||||
Set Global Variable ${FILE_S_2} ${FILE_S_GEN_2}
|
Set Global Variable ${FILE_S_2} ${FILE_S_GEN_2}
|
||||||
|
|
||||||
|
|
||||||
Prepare eACL Role rules
|
Prepare eACL Role rules
|
||||||
Log Set eACL for different Role cases
|
Log Set eACL for different Role cases
|
||||||
|
@ -70,10 +68,10 @@ Prepare eACL Role rules
|
||||||
# eACL rules for all operations and similar permissions
|
# eACL rules for all operations and similar permissions
|
||||||
@{Roles} = Create List OTHERS USER SYSTEM
|
@{Roles} = Create List OTHERS USER SYSTEM
|
||||||
FOR ${role} IN @{Roles}
|
FOR ${role} IN @{Roles}
|
||||||
${rule1}= Create Dictionary Operation=GET Access=DENY Role=${role}
|
${rule1}= Create Dictionary Operation=GET Access=DENY Role=${role}
|
||||||
${rule2}= Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
${rule2}= Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
||||||
${rule3}= Create Dictionary Operation=PUT Access=DENY Role=${role}
|
${rule3}= Create Dictionary Operation=PUT Access=DENY Role=${role}
|
||||||
${rule4}= Create Dictionary Operation=DELETE Access=DENY Role=${role}
|
${rule4}= Create Dictionary Operation=DELETE Access=DENY Role=${role}
|
||||||
${rule5}= Create Dictionary Operation=SEARCH Access=DENY Role=${role}
|
${rule5}= Create Dictionary Operation=SEARCH Access=DENY Role=${role}
|
||||||
${rule6}= Create Dictionary Operation=GETRANGE Access=DENY Role=${role}
|
${rule6}= Create Dictionary Operation=GETRANGE Access=DENY Role=${role}
|
||||||
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=DENY Role=${role}
|
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=DENY Role=${role}
|
||||||
|
@ -84,10 +82,10 @@ Prepare eACL Role rules
|
||||||
|
|
||||||
|
|
||||||
FOR ${role} IN @{Roles}
|
FOR ${role} IN @{Roles}
|
||||||
${rule1}= Create Dictionary Operation=GET Access=ALLOW Role=${role}
|
${rule1}= Create Dictionary Operation=GET Access=ALLOW Role=${role}
|
||||||
${rule2}= Create Dictionary Operation=HEAD Access=ALLOW Role=${role}
|
${rule2}= Create Dictionary Operation=HEAD Access=ALLOW Role=${role}
|
||||||
${rule3}= Create Dictionary Operation=PUT Access=ALLOW Role=${role}
|
${rule3}= Create Dictionary Operation=PUT Access=ALLOW Role=${role}
|
||||||
${rule4}= Create Dictionary Operation=DELETE Access=ALLOW Role=${role}
|
${rule4}= Create Dictionary Operation=DELETE Access=ALLOW Role=${role}
|
||||||
${rule5}= Create Dictionary Operation=SEARCH Access=ALLOW Role=${role}
|
${rule5}= Create Dictionary Operation=SEARCH Access=ALLOW Role=${role}
|
||||||
${rule6}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=${role}
|
${rule6}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=${role}
|
||||||
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=${role}
|
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=${role}
|
||||||
|
@ -97,17 +95,17 @@ Prepare eACL Role rules
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
${rule1}= Create Dictionary Operation=GET Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
${rule1}= Create Dictionary Operation=GET Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
||||||
${rule2}= Create Dictionary Operation=HEAD Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
${rule2}= Create Dictionary Operation=HEAD Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
||||||
${rule3}= Create Dictionary Operation=PUT Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
${rule3}= Create Dictionary Operation=PUT Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
||||||
${rule4}= Create Dictionary Operation=DELETE Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
${rule4}= Create Dictionary Operation=DELETE Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
||||||
${rule5}= Create Dictionary Operation=SEARCH Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
${rule5}= Create Dictionary Operation=SEARCH Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
||||||
${rule6}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
${rule6}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
||||||
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=A9tDy6Ye+UimXCCzJrlAmRE0FDZHjf3XRyya9rELtgAA
|
||||||
${rule8}= Create Dictionary Operation=GET Access=DENY Role=OTHERS
|
${rule8}= Create Dictionary Operation=GET Access=DENY Role=OTHERS
|
||||||
${rule9}= Create Dictionary Operation=HEAD Access=DENY Role=OTHERS
|
${rule9}= Create Dictionary Operation=HEAD Access=DENY Role=OTHERS
|
||||||
${rule10}= Create Dictionary Operation=PUT Access=DENY Role=OTHERS
|
${rule10}= Create Dictionary Operation=PUT Access=DENY Role=OTHERS
|
||||||
${rule11}= Create Dictionary Operation=DELETE Access=DENY Role=OTHERS
|
${rule11}= Create Dictionary Operation=DELETE Access=DENY Role=OTHERS
|
||||||
${rule12}= Create Dictionary Operation=SEARCH Access=DENY Role=OTHERS
|
${rule12}= Create Dictionary Operation=SEARCH Access=DENY Role=OTHERS
|
||||||
${rule13}= Create Dictionary Operation=GETRANGE Access=DENY Role=OTHERS
|
${rule13}= Create Dictionary Operation=GETRANGE Access=DENY Role=OTHERS
|
||||||
${rule14}= Create Dictionary Operation=GETRANGEHASH Access=DENY Role=OTHERS
|
${rule14}= Create Dictionary Operation=GETRANGEHASH Access=DENY Role=OTHERS
|
||||||
|
@ -119,22 +117,22 @@ Prepare eACL Role rules
|
||||||
|
|
||||||
Set Global Variable ${EACL_DENY_ALL_OTHER} gen_eacl_deny_all_OTHERS
|
Set Global Variable ${EACL_DENY_ALL_OTHER} gen_eacl_deny_all_OTHERS
|
||||||
Set Global Variable ${EACL_ALLOW_ALL_OTHER} gen_eacl_allow_all_OTHERS
|
Set Global Variable ${EACL_ALLOW_ALL_OTHER} gen_eacl_allow_all_OTHERS
|
||||||
|
|
||||||
Set Global Variable ${EACL_DENY_ALL_USER} gen_eacl_deny_all_USER
|
Set Global Variable ${EACL_DENY_ALL_USER} gen_eacl_deny_all_USER
|
||||||
Set Global Variable ${EACL_ALLOW_ALL_USER} gen_eacl_allow_all_USER
|
Set Global Variable ${EACL_ALLOW_ALL_USER} gen_eacl_allow_all_USER
|
||||||
|
|
||||||
Set Global Variable ${EACL_DENY_ALL_SYSTEM} gen_eacl_deny_all_SYSTEM
|
Set Global Variable ${EACL_DENY_ALL_SYSTEM} gen_eacl_deny_all_SYSTEM
|
||||||
Set Global Variable ${EACL_ALLOW_ALL_SYSTEM} gen_eacl_allow_all_SYSTEM
|
Set Global Variable ${EACL_ALLOW_ALL_SYSTEM} gen_eacl_allow_all_SYSTEM
|
||||||
|
|
||||||
Set Global Variable ${EACL_ALLOW_ALL_Pubkey} gen_eacl_allow_pubkey_deny_OTHERS
|
Set Global Variable ${EACL_ALLOW_ALL_Pubkey} gen_eacl_allow_pubkey_deny_OTHERS
|
||||||
|
|
||||||
|
|
||||||
# eACL rules for Compound operations: GET/GetRange/GetRangeHash
|
# eACL rules for Compound operations: GET/GetRange/GetRangeHash
|
||||||
@{Roles} = Create List OTHERS USER SYSTEM
|
@{Roles} = Create List OTHERS USER SYSTEM
|
||||||
FOR ${role} IN @{Roles}
|
FOR ${role} IN @{Roles}
|
||||||
${rule1}= Create Dictionary Operation=GET Access=ALLOW Role=${role}
|
${rule1}= Create Dictionary Operation=GET Access=ALLOW Role=${role}
|
||||||
${rule2}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=${role}
|
${rule2}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=${role}
|
||||||
${rule3}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=${role}
|
${rule3}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=${role}
|
||||||
${rule4}= Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
${rule4}= Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
||||||
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3} ${rule4}
|
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3} ${rule4}
|
||||||
Form eACL json common file gen_eacl_compound_get_${role} ${eACL_gen}
|
Form eACL json common file gen_eacl_compound_get_${role} ${eACL_gen}
|
||||||
|
@ -144,10 +142,10 @@ Prepare eACL Role rules
|
||||||
# eACL rules for Compound operations: DELETE
|
# eACL rules for Compound operations: DELETE
|
||||||
@{Roles} = Create List OTHERS USER SYSTEM
|
@{Roles} = Create List OTHERS USER SYSTEM
|
||||||
FOR ${role} IN @{Roles}
|
FOR ${role} IN @{Roles}
|
||||||
${rule1}= Create Dictionary Operation=DELETE Access=ALLOW Role=${role}
|
${rule1}= Create Dictionary Operation=DELETE Access=ALLOW Role=${role}
|
||||||
${rule2}= Create Dictionary Operation=PUT Access=DENY Role=${role}
|
${rule2}= Create Dictionary Operation=PUT Access=DENY Role=${role}
|
||||||
${rule3}= Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
${rule3}= Create Dictionary Operation=HEAD Access=DENY Role=${role}
|
||||||
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3}
|
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3}
|
||||||
Form eACL json common file gen_eacl_compound_del_${role} ${eACL_gen}
|
Form eACL json common file gen_eacl_compound_del_${role} ${eACL_gen}
|
||||||
Set Global Variable ${EACL_COMPOUND_DELETE_${role}} gen_eacl_compound_del_${role}
|
Set Global Variable ${EACL_COMPOUND_DELETE_${role}} gen_eacl_compound_del_${role}
|
||||||
END
|
END
|
||||||
|
@ -155,10 +153,10 @@ Prepare eACL Role rules
|
||||||
# eACL rules for Compound operations: GETRANGEHASH
|
# eACL rules for Compound operations: GETRANGEHASH
|
||||||
@{Roles} = Create List OTHERS USER SYSTEM
|
@{Roles} = Create List OTHERS USER SYSTEM
|
||||||
FOR ${role} IN @{Roles}
|
FOR ${role} IN @{Roles}
|
||||||
${rule1}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=${role}
|
${rule1}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=${role}
|
||||||
${rule2}= Create Dictionary Operation=GETRANGE Access=DENY Role=${role}
|
${rule2}= Create Dictionary Operation=GETRANGE Access=DENY Role=${role}
|
||||||
${rule3}= Create Dictionary Operation=GET Access=DENY Role=${role}
|
${rule3}= Create Dictionary Operation=GET Access=DENY Role=${role}
|
||||||
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3}
|
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3}
|
||||||
Form eACL json common file gen_eacl_compound_get_hash_${role} ${eACL_gen}
|
Form eACL json common file gen_eacl_compound_get_hash_${role} ${eACL_gen}
|
||||||
Set Global Variable ${EACL_COMPOUND_GET_HASH_${role}} gen_eacl_compound_get_hash_${role}
|
Set Global Variable ${EACL_COMPOUND_GET_HASH_${role}} gen_eacl_compound_get_hash_${role}
|
||||||
END
|
END
|
||||||
|
@ -191,13 +189,13 @@ Prepare eACL Role rules
|
||||||
${rule5}= Create Dictionary Operation=SEARCH Access=ALLOW Role=OTHERS Filters=${filters}
|
${rule5}= Create Dictionary Operation=SEARCH Access=ALLOW Role=OTHERS Filters=${filters}
|
||||||
${rule6}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=OTHERS Filters=${filters}
|
${rule6}= Create Dictionary Operation=GETRANGE Access=ALLOW Role=OTHERS Filters=${filters}
|
||||||
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=OTHERS Filters=${filters}
|
${rule7}= Create Dictionary Operation=GETRANGEHASH Access=ALLOW Role=OTHERS Filters=${filters}
|
||||||
${rule8}= Create Dictionary Operation=GET Access=DENY Role=OTHERS
|
${rule8}= Create Dictionary Operation=GET Access=DENY Role=OTHERS
|
||||||
${rule9}= Create Dictionary Operation=HEAD Access=DENY Role=OTHERS
|
${rule9}= Create Dictionary Operation=HEAD Access=DENY Role=OTHERS
|
||||||
${rule10}= Create Dictionary Operation=PUT Access=DENY Role=OTHERS
|
${rule10}= Create Dictionary Operation=PUT Access=DENY Role=OTHERS
|
||||||
${rule11}= Create Dictionary Operation=DELETE Access=DENY Role=OTHERS
|
${rule11}= Create Dictionary Operation=DELETE Access=DENY Role=OTHERS
|
||||||
${rule12}= Create Dictionary Operation=SEARCH Access=DENY Role=OTHERS
|
${rule12}= Create Dictionary Operation=SEARCH Access=DENY Role=OTHERS
|
||||||
${rule13}= Create Dictionary Operation=GETRANGE Access=DENY Role=OTHERS
|
${rule13}= Create Dictionary Operation=GETRANGE Access=DENY Role=OTHERS
|
||||||
${rule14}= Create Dictionary Operation=GETRANGEHASH Access=DENY Role=OTHERS
|
${rule14}= Create Dictionary Operation=GETRANGEHASH Access=DENY Role=OTHERS
|
||||||
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3} ${rule4} ${rule5} ${rule6} ${rule7}
|
${eACL_gen}= Create List ${rule1} ${rule2} ${rule3} ${rule4} ${rule5} ${rule6} ${rule7}
|
||||||
... ${rule8} ${rule9} ${rule10} ${rule11} ${rule12} ${rule13} ${rule14}
|
... ${rule8} ${rule9} ${rule10} ${rule11} ${rule12} ${rule13} ${rule14}
|
||||||
Form eACL json common file gen_eacl_xheader_allow_all ${eACL_gen}
|
Form eACL json common file gen_eacl_xheader_allow_all ${eACL_gen}
|
||||||
|
@ -209,16 +207,16 @@ Check eACL Deny and Allow All
|
||||||
[Arguments] ${KEY} ${DENY_EACL} ${ALLOW_EACL}
|
[Arguments] ${KEY} ${DENY_EACL} ${ALLOW_EACL}
|
||||||
|
|
||||||
${CID} = Create Container Public
|
${CID} = Create Container Public
|
||||||
${S_OID_USER} = Put object ${USER_KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_USR_HEADER}
|
${S_OID_USER} = Put object ${USER_KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_USR_HEADER}
|
||||||
${D_OID_USER} = Put object ${USER_KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_USR_HEADER_DEL}
|
${D_OID_USER} = Put object ${USER_KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_USR_HEADER_DEL}
|
||||||
@{S_OBJ_H} = Create List ${S_OID_USER}
|
@{S_OBJ_H} = Create List ${S_OID_USER}
|
||||||
|
|
||||||
Put object ${KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_OTH_HEADER}
|
Put object ${KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_OTH_HEADER}
|
||||||
|
|
||||||
Get object ${KEY} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
Get object ${KEY} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
||||||
Search object ${KEY} ${CID} ${EMPTY} ${EMPTY} ${FILE_USR_HEADER} ${S_OBJ_H}
|
Search object ${KEY} ${CID} ${EMPTY} ${EMPTY} ${FILE_USR_HEADER} ${S_OBJ_H}
|
||||||
Head object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
Head object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
||||||
|
|
||||||
Get Range ${KEY} ${CID} ${S_OID_USER} s_get_range ${EMPTY} 0:256
|
Get Range ${KEY} ${CID} ${S_OID_USER} s_get_range ${EMPTY} 0:256
|
||||||
Get Range Hash ${KEY} ${CID} ${S_OID_USER} ${EMPTY} 0:256
|
Get Range Hash ${KEY} ${CID} ${S_OID_USER} ${EMPTY} 0:256
|
||||||
Delete object ${KEY} ${CID} ${D_OID_USER} ${EMPTY}
|
Delete object ${KEY} ${CID} ${D_OID_USER} ${EMPTY}
|
||||||
|
@ -229,13 +227,13 @@ Check eACL Deny and Allow All
|
||||||
Sleep ${NEOFS_CONTRACT_CACHE_TIMEOUT}
|
Sleep ${NEOFS_CONTRACT_CACHE_TIMEOUT}
|
||||||
|
|
||||||
Run Keyword And Expect Error *
|
Run Keyword And Expect Error *
|
||||||
... Put object ${KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_USR_HEADER}
|
... Put object ${KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_USR_HEADER}
|
||||||
Run Keyword And Expect Error *
|
Run Keyword And Expect Error *
|
||||||
... Get object ${KEY} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
... Get object ${KEY} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
||||||
Run Keyword And Expect Error *
|
Run Keyword And Expect Error *
|
||||||
... Search object ${KEY} ${CID} ${EMPTY} ${EMPTY} ${FILE_USR_HEADER} ${S_OBJ_H}
|
... Search object ${KEY} ${CID} ${EMPTY} ${EMPTY} ${FILE_USR_HEADER} ${S_OBJ_H}
|
||||||
Run Keyword And Expect Error *
|
Run Keyword And Expect Error *
|
||||||
... Head object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
... Head object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
||||||
Run Keyword And Expect Error *
|
Run Keyword And Expect Error *
|
||||||
... Get Range ${KEY} ${CID} ${S_OID_USER} s_get_range ${EMPTY} 0:256
|
... Get Range ${KEY} ${CID} ${S_OID_USER} s_get_range ${EMPTY} 0:256
|
||||||
Run Keyword And Expect Error *
|
Run Keyword And Expect Error *
|
||||||
|
@ -247,11 +245,11 @@ Check eACL Deny and Allow All
|
||||||
|
|
||||||
# The current ACL cache lifetime is 30 sec
|
# The current ACL cache lifetime is 30 sec
|
||||||
Sleep ${NEOFS_CONTRACT_CACHE_TIMEOUT}
|
Sleep ${NEOFS_CONTRACT_CACHE_TIMEOUT}
|
||||||
|
|
||||||
Put object ${KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_OTH_HEADER}
|
Put object ${KEY} ${FILE_S} ${CID} ${EMPTY} ${FILE_OTH_HEADER}
|
||||||
Get object ${KEY} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
Get object ${KEY} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
||||||
Search object ${KEY} ${CID} ${EMPTY} ${EMPTY} ${FILE_USR_HEADER} ${S_OBJ_H}
|
Search object ${KEY} ${CID} ${EMPTY} ${EMPTY} ${FILE_USR_HEADER} ${S_OBJ_H}
|
||||||
Head object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
Head object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
||||||
Get Range ${KEY} ${CID} ${S_OID_USER} s_get_range ${EMPTY} 0:256
|
Get Range ${KEY} ${CID} ${S_OID_USER} s_get_range ${EMPTY} 0:256
|
||||||
Get Range Hash ${KEY} ${CID} ${S_OID_USER} ${EMPTY} 0:256
|
Get Range Hash ${KEY} ${CID} ${S_OID_USER} ${EMPTY} 0:256
|
||||||
Delete object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
Delete object ${KEY} ${CID} ${S_OID_USER} ${EMPTY}
|
||||||
|
|
|
@ -3,6 +3,7 @@ Variables ../../../variables/common.py
|
||||||
|
|
||||||
Library ../${RESOURCES}/neofs.py
|
Library ../${RESOURCES}/neofs.py
|
||||||
Library ../${RESOURCES}/payment_neogo.py
|
Library ../${RESOURCES}/payment_neogo.py
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
Library ../${RESOURCES}/utility_keywords.py
|
Library ../${RESOURCES}/utility_keywords.py
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,16 +74,10 @@ Generate file
|
||||||
Set Global Variable ${FILE} ${FILE}
|
Set Global Variable ${FILE} ${FILE}
|
||||||
|
|
||||||
Generate Key and Pre-payment
|
Generate Key and Pre-payment
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} ${USER_KEY_GEN} = Init Wallet with Address ${TEMP_DIR}
|
||||||
Generate wallet ${WALLET}
|
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${USER_KEY_GEN} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
|
|
||||||
Set Global Variable ${PRIV_KEY} ${USER_KEY_GEN}
|
Set Global Variable ${PRIV_KEY} ${USER_KEY_GEN}
|
||||||
|
|
||||||
Payment Operations ${WALLET} ${ADDR} ${PRIV_KEY}
|
Payment Operations ${WALLET} ${ADDR} ${PRIV_KEY}
|
||||||
|
|
||||||
|
|
||||||
Payment Operations
|
Payment Operations
|
||||||
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
[Arguments] ${WALLET} ${ADDR} ${KEY}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ Variables ../../../variables/common.py
|
||||||
|
|
||||||
Library ../${RESOURCES}/neofs.py
|
Library ../${RESOURCES}/neofs.py
|
||||||
Library ../${RESOURCES}/payment_neogo.py
|
Library ../${RESOURCES}/payment_neogo.py
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
Library ../${RESOURCES}/utility_keywords.py
|
Library ../${RESOURCES}/utility_keywords.py
|
||||||
|
|
||||||
*** Test cases ***
|
*** Test cases ***
|
||||||
|
@ -13,11 +14,7 @@ NeoFS Object Replication
|
||||||
|
|
||||||
[Setup] Create Temporary Directory
|
[Setup] Create Temporary Directory
|
||||||
|
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} ${PRIV_KEY} = Init Wallet with Address ${TEMP_DIR}
|
||||||
Generate wallet ${WALLET}
|
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${PRIV_KEY} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
|
|
||||||
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 11
|
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 11
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX}
|
... Transaction accepted in block ${TX}
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
*** Settings ***
|
||||||
|
Variables ../../../variables/common.py
|
||||||
|
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
|
|
||||||
*** Variables ***
|
*** Variables ***
|
||||||
${FILE_USR_HEADER} = key1=1,key2=abc
|
${FILE_USR_HEADER} = key1=1,key2=abc
|
||||||
${FILE_USR_HEADER_OTH} = key1=2
|
${FILE_USR_HEADER_OTH} = key1=2
|
||||||
|
@ -8,25 +13,22 @@ ${DEPOSIT_AMOUNT} = 10
|
||||||
*** Keywords ***
|
*** Keywords ***
|
||||||
|
|
||||||
Payment operations
|
Payment operations
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} ${PRIV_KEY} = Init Wallet with Address ${TEMP_DIR}
|
||||||
Generate wallet ${WALLET}
|
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${PRIV_KEY} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
${TX} = Transfer Mainnet Gas ${MAINNET_WALLET_PATH} ${DEF_WALLET_ADDR} ${ADDR} ${TRANSFER_AMOUNT}
|
${TX} = Transfer Mainnet Gas ${MAINNET_WALLET_PATH} ${DEF_WALLET_ADDR} ${ADDR} ${TRANSFER_AMOUNT}
|
||||||
|
|
||||||
Wait Until Keyword Succeeds ${BASENET_WAIT_TIME} ${BASENET_BLOCK_TIME}
|
Wait Until Keyword Succeeds ${BASENET_WAIT_TIME} ${BASENET_BLOCK_TIME}
|
||||||
... Transaction accepted in block ${TX}
|
... Transaction accepted in block ${TX}
|
||||||
Get Transaction ${TX}
|
Get Transaction ${TX}
|
||||||
Expected Mainnet Balance ${ADDR} ${TRANSFER_AMOUNT}
|
Expected Mainnet Balance ${ADDR} ${TRANSFER_AMOUNT}
|
||||||
|
|
||||||
${SCRIPT_HASH} = Get ScriptHash ${PRIV_KEY}
|
${SCRIPT_HASH} = Get ScriptHash ${PRIV_KEY}
|
||||||
|
|
||||||
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} ${DEPOSIT_AMOUNT}
|
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} ${DEPOSIT_AMOUNT}
|
||||||
Wait Until Keyword Succeeds ${BASENET_WAIT_TIME} ${BASENET_BLOCK_TIME}
|
Wait Until Keyword Succeeds ${BASENET_WAIT_TIME} ${BASENET_BLOCK_TIME}
|
||||||
... Transaction accepted in block ${TX_DEPOSIT}
|
... Transaction accepted in block ${TX_DEPOSIT}
|
||||||
Get Transaction ${TX_DEPOSIT}
|
Get Transaction ${TX_DEPOSIT}
|
||||||
|
|
||||||
${BALANCE} = Wait Until Keyword Succeeds ${NEOFS_EPOCH_TIMEOUT} ${MORPH_BLOCK_TIME}
|
${BALANCE} = Wait Until Keyword Succeeds ${NEOFS_EPOCH_TIMEOUT} ${MORPH_BLOCK_TIME}
|
||||||
... Expected Balance ${PRIV_KEY} 0 ${DEPOSIT_AMOUNT}
|
... Expected Balance ${PRIV_KEY} 0 ${DEPOSIT_AMOUNT}
|
||||||
|
|
||||||
Set Global Variable ${PRIV_KEY} ${PRIV_KEY}
|
Set Global Variable ${PRIV_KEY} ${PRIV_KEY}
|
||||||
|
@ -36,9 +38,9 @@ Payment operations
|
||||||
Prepare container
|
Prepare container
|
||||||
${CID} = Create container ${PRIV_KEY}
|
${CID} = Create container ${PRIV_KEY}
|
||||||
Container Existing ${PRIV_KEY} ${CID}
|
Container Existing ${PRIV_KEY} ${CID}
|
||||||
|
|
||||||
Wait Until Keyword Succeeds ${NEOFS_EPOCH_TIMEOUT} ${MORPH_BLOCK_TIME}
|
Wait Until Keyword Succeeds ${NEOFS_EPOCH_TIMEOUT} ${MORPH_BLOCK_TIME}
|
||||||
... Expected Balance ${PRIV_KEY} ${DEPOSIT_AMOUNT} ${NEOFS_CREATE_CONTAINER_GAS_FEE}
|
... Expected Balance ${PRIV_KEY} ${DEPOSIT_AMOUNT} ${NEOFS_CREATE_CONTAINER_GAS_FEE}
|
||||||
|
|
||||||
Set Global Variable ${CID} ${CID}
|
Set Global Variable ${CID} ${CID}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ Variables ../../../variables/common.py
|
||||||
|
|
||||||
Library ../${RESOURCES}/neofs.py
|
Library ../${RESOURCES}/neofs.py
|
||||||
Library ../${RESOURCES}/payment_neogo.py
|
Library ../${RESOURCES}/payment_neogo.py
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
Library ../${RESOURCES}/utility_keywords.py
|
Library ../${RESOURCES}/utility_keywords.py
|
||||||
|
|
||||||
*** Variables ***
|
*** Variables ***
|
||||||
|
@ -17,11 +18,7 @@ NeoFS Deposit and Withdraw
|
||||||
|
|
||||||
[Setup] Create Temporary Directory
|
[Setup] Create Temporary Directory
|
||||||
|
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} ${PRIV_KEY} = Init Wallet with Address ${TEMP_DIR}
|
||||||
Generate wallet ${WALLET}
|
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${PRIV_KEY} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
|
|
||||||
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 15
|
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 15
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX}
|
... Transaction accepted in block ${TX}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
*** Settings ***
|
*** Settings ***
|
||||||
Variables ../../../variables/common.py
|
Variables ../../../variables/common.py
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
Library ../${RESOURCES}/neofs.py
|
Library ../${RESOURCES}/neofs.py
|
||||||
Library ../${RESOURCES}/payment_neogo.py
|
Library ../${RESOURCES}/payment_neogo.py
|
||||||
Library ../${RESOURCES}/gates.py
|
Library ../${RESOURCES}/gates.py
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
Library ../${RESOURCES}/utility_keywords.py
|
Library ../${RESOURCES}/utility_keywords.py
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,11 +16,7 @@ NeoFS HTTP Gateway
|
||||||
[Timeout] 5 min
|
[Timeout] 5 min
|
||||||
|
|
||||||
[Setup] Create Temporary Directory
|
[Setup] Create Temporary Directory
|
||||||
|
${WALLET} ${ADDR} ${PRIV_KEY} = Init Wallet with Address ${TEMP_DIR}
|
||||||
${WALLET} = Init wallet
|
|
||||||
Generate wallet ${WALLET}
|
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
${PRIV_KEY} = Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 6
|
${TX} = Transfer Mainnet Gas wallets/wallet.json ${DEF_WALLET_ADDR} ${ADDR} 6
|
||||||
|
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
|
|
|
@ -4,6 +4,7 @@ Library Collections
|
||||||
Library ../${RESOURCES}/neofs.py
|
Library ../${RESOURCES}/neofs.py
|
||||||
Library ../${RESOURCES}/payment_neogo.py
|
Library ../${RESOURCES}/payment_neogo.py
|
||||||
Library ../${RESOURCES}/gates.py
|
Library ../${RESOURCES}/gates.py
|
||||||
|
Library ${KEYWORDS}/wallet.py
|
||||||
Library ../${RESOURCES}/utility_keywords.py
|
Library ../${RESOURCES}/utility_keywords.py
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,13 +16,8 @@ NeoFS S3 Gateway
|
||||||
[Setup] Create Temporary Directory
|
[Setup] Create Temporary Directory
|
||||||
|
|
||||||
${PRIV_KEY} = Form WIF from String 1dd37fba80fec4e6a6f13fd708d8dcb3b29def768017052f6c930fa1c5d90bbb
|
${PRIV_KEY} = Form WIF from String 1dd37fba80fec4e6a6f13fd708d8dcb3b29def768017052f6c930fa1c5d90bbb
|
||||||
${WALLET} = Init wallet
|
${WALLET} ${ADDR} = Init Wallet from WIF ${TEMP_DIR} ${PRIV_KEY}
|
||||||
|
${SCRIPT_HASH} = Get ScriptHash ${PRIV_KEY}
|
||||||
Generate wallet from WIF ${WALLET} ${PRIV_KEY}
|
|
||||||
${ADDR} = Dump Address ${WALLET}
|
|
||||||
Dump PrivKey ${WALLET} ${ADDR}
|
|
||||||
${SCRIPT_HASH} = Get ScriptHash ${PRIV_KEY}
|
|
||||||
|
|
||||||
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 5
|
${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 5
|
||||||
Wait Until Keyword Succeeds 1 min 15 sec
|
Wait Until Keyword Succeeds 1 min 15 sec
|
||||||
... Transaction accepted in block ${TX_DEPOSIT}
|
... Transaction accepted in block ${TX_DEPOSIT}
|
||||||
|
|
|
@ -4,6 +4,7 @@ ROOT='../..'
|
||||||
|
|
||||||
RESOURCES="%s/resources/lib" % ROOT
|
RESOURCES="%s/resources/lib" % ROOT
|
||||||
CERT="%s/../../ca" % ROOT
|
CERT="%s/../../ca" % ROOT
|
||||||
|
KEYWORDS="%s/../../../neofs-keywords/" % ROOT
|
||||||
|
|
||||||
# path from repo root is required for object put and get
|
# path from repo root is required for object put and get
|
||||||
# in case when test is run from root in docker
|
# in case when test is run from root in docker
|
||||||
|
@ -15,9 +16,9 @@ NEOFS_CONTRACT_DEPOSIT_GAS_FEE = os.getenv("NEOFS_CONTRACT_DEPOSIT_GAS_FEE", "0.
|
||||||
NEOFS_CONTRACT_WITHDRAW_GAS_FEE = os.getenv("NEOFS_CONTRACT_WITHDRAW_GAS_FEE", "0.0382514")
|
NEOFS_CONTRACT_WITHDRAW_GAS_FEE = os.getenv("NEOFS_CONTRACT_WITHDRAW_GAS_FEE", "0.0382514")
|
||||||
NEOFS_CREATE_CONTAINER_GAS_FEE = os.getenv("NEOFS_CREATE_CONTAINER_GAS_FEE", "-1e-08")
|
NEOFS_CREATE_CONTAINER_GAS_FEE = os.getenv("NEOFS_CREATE_CONTAINER_GAS_FEE", "-1e-08")
|
||||||
|
|
||||||
# NEOFS_EPOCH_TIMEOUT can be declared from neofs-dev-env env variables as NEOFS_IR_TIMERS_EPOCH
|
# NEOFS_EPOCH_TIMEOUT can be declared from neofs-dev-env env variables as NEOFS_IR_TIMERS_EPOCH
|
||||||
# (high priority is accepted for env as NEOFS_EPOCH_TIMEOUT)
|
# (high priority is accepted for env as NEOFS_EPOCH_TIMEOUT)
|
||||||
NEOFS_EPOCH_TIMEOUT = (os.getenv("NEOFS_EPOCH_TIMEOUT") if os.getenv("NEOFS_EPOCH_TIMEOUT")
|
NEOFS_EPOCH_TIMEOUT = (os.getenv("NEOFS_EPOCH_TIMEOUT") if os.getenv("NEOFS_EPOCH_TIMEOUT")
|
||||||
else os.getenv("NEOFS_IR_TIMERS_EPOCH", "300s"))
|
else os.getenv("NEOFS_IR_TIMERS_EPOCH", "300s"))
|
||||||
|
|
||||||
BASENET_BLOCK_TIME = os.getenv('BASENET_BLOCK_TIME', "15s")
|
BASENET_BLOCK_TIME = os.getenv('BASENET_BLOCK_TIME', "15s")
|
||||||
|
@ -32,12 +33,12 @@ COMPLEX_OBJ_SIZE = os.getenv("COMPLEX_OBJ_SIZE", "70000000")
|
||||||
NEOFS_ENDPOINT = os.getenv("NEOFS_ENDPOINT", "s01.neofs.devenv:8080")
|
NEOFS_ENDPOINT = os.getenv("NEOFS_ENDPOINT", "s01.neofs.devenv:8080")
|
||||||
NEOGO_CLI_PREFIX = os.getenv("NEOGO_CLI_PREFIX", "docker exec -it main_chain neo-go")
|
NEOGO_CLI_PREFIX = os.getenv("NEOGO_CLI_PREFIX", "docker exec -it main_chain neo-go")
|
||||||
|
|
||||||
# NEO_MAINNET_ENDPOINT can be declared from neofs-dev-env env variables as NEOFS_IR_MAINNET_ENDPOINT_CLIENT
|
# NEO_MAINNET_ENDPOINT can be declared from neofs-dev-env env variables as NEOFS_IR_MAINNET_ENDPOINT_CLIENT
|
||||||
# (high priority is accepted for env as NEO_MAINNET_ENDPOINT)
|
# (high priority is accepted for env as NEO_MAINNET_ENDPOINT)
|
||||||
NEO_MAINNET_ENDPOINT = (os.getenv("NEO_MAINNET_ENDPOINT") if os.getenv("NEO_MAINNET_ENDPOINT")
|
NEO_MAINNET_ENDPOINT = (os.getenv("NEO_MAINNET_ENDPOINT") if os.getenv("NEO_MAINNET_ENDPOINT")
|
||||||
else os.getenv("NEOFS_IR_MAINNET_ENDPOINT_CLIENT", 'http://main_chain.neofs.devenv:30333'))
|
else os.getenv("NEOFS_IR_MAINNET_ENDPOINT_CLIENT", 'http://main_chain.neofs.devenv:30333'))
|
||||||
|
|
||||||
# NEOFS_NEO_API_ENDPOINT can be declared from neofs-dev-env env variables as NEOFS_IR_MORPH_ENDPOINT_CLIENT
|
# NEOFS_NEO_API_ENDPOINT can be declared from neofs-dev-env env variables as NEOFS_IR_MORPH_ENDPOINT_CLIENT
|
||||||
# (high priority is accepted for env as NEOFS_NEO_API_ENDPOINT)
|
# (high priority is accepted for env as NEOFS_NEO_API_ENDPOINT)
|
||||||
NEOFS_NEO_API_ENDPOINT = (os.getenv("NEOFS_NEO_API_ENDPOINT") if os.getenv("NEOFS_NEO_API_ENDPOINT")
|
NEOFS_NEO_API_ENDPOINT = (os.getenv("NEOFS_NEO_API_ENDPOINT") if os.getenv("NEOFS_NEO_API_ENDPOINT")
|
||||||
else os.getenv("NEOFS_IR_MORPH_ENDPOINT_CLIENT", 'http://morph_chain.neofs.devenv:30333'))
|
else os.getenv("NEOFS_IR_MORPH_ENDPOINT_CLIENT", 'http://morph_chain.neofs.devenv:30333'))
|
||||||
|
@ -47,9 +48,9 @@ S3_GATE = os.getenv("S3_GATE", 'https://s3.neofs.devenv:8080')
|
||||||
NEOFS_NETMAP = os.getenv("NEOFS_NETMAP", ['s01.neofs.devenv:8080', 's02.neofs.devenv:8080','s03.neofs.devenv:8080','s04.neofs.devenv:8080'])
|
NEOFS_NETMAP = os.getenv("NEOFS_NETMAP", ['s01.neofs.devenv:8080', 's02.neofs.devenv:8080','s03.neofs.devenv:8080','s04.neofs.devenv:8080'])
|
||||||
GAS_HASH = os.getenv("GAS_HASH", '0xd2a4cff31913016155e38e474a2c06d08be276cf')
|
GAS_HASH = os.getenv("GAS_HASH", '0xd2a4cff31913016155e38e474a2c06d08be276cf')
|
||||||
|
|
||||||
# NEOFS_CONTRACT can be declared from neofs-dev-env env variables as NEOFS_IR_CONTRACTS_NEOFS
|
# NEOFS_CONTRACT can be declared from neofs-dev-env env variables as NEOFS_IR_CONTRACTS_NEOFS
|
||||||
# (high priority is accepted for env as NEOFS_CONTRACT)
|
# (high priority is accepted for env as NEOFS_CONTRACT)
|
||||||
NEOFS_CONTRACT = (os.getenv("NEOFS_CONTRACT") if os.getenv("NEOFS_CONTRACT")
|
NEOFS_CONTRACT = (os.getenv("NEOFS_CONTRACT") if os.getenv("NEOFS_CONTRACT")
|
||||||
else os.getenv("NEOFS_IR_CONTRACTS_NEOFS", 'cfe89912c457754b7eb1f89781dc74bb3e0070bf'))
|
else os.getenv("NEOFS_IR_CONTRACTS_NEOFS", 'cfe89912c457754b7eb1f89781dc74bb3e0070bf'))
|
||||||
|
|
||||||
TEMP_DIR = os.getenv("TEMP_DIR", "TemporaryDir/")
|
TEMP_DIR = os.getenv("TEMP_DIR", "TemporaryDir/")
|
||||||
|
|
Loading…
Reference in a new issue