diff --git a/README.md b/README.md index 1ab6d574..ea5566a6 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ * object_simple.robot - операции над большим объектом * withdraw.robot - оперция Deposit и Withdraw с счета NeoFS * netmap_simple.robot - проверка Placement policy + * replication.robot - базовый тесткейс проверки репликации объектов ### Запуск тесткейсов в докере diff --git a/robot/testsuites/integration/replication.robot b/robot/testsuites/integration/replication.robot new file mode 100644 index 00000000..9e300a24 --- /dev/null +++ b/robot/testsuites/integration/replication.robot @@ -0,0 +1,45 @@ +*** Settings *** +Variables ../../variables/common.py + +Library ${RESOURCES}/neofs.py +Library ${RESOURCES}/payment_neogo.py + +*** Test cases *** +NeoFS Object Replication + [Documentation] Testcase to validate NeoFS object replication. + [Tags] Migration Replication NeoFS NeoCLI + [Timeout] 10 min + + ${WALLET} = Init wallet + Generate wallet ${WALLET} + ${ADDR} = Dump Address ${WALLET} + ${PRIV_KEY} = Dump PrivKey ${WALLET} ${ADDR} + + ${TX} = Transfer Mainnet Gas wallets/wallet.json NTrezR3C4X8aMLVg7vozt5wguyNfFhwuFx ${ADDR} 55 + Wait Until Keyword Succeeds 1 min 15 sec + ... Transaction accepted in block ${TX} + Get Transaction ${TX} + Expexted Mainnet Balance ${ADDR} 55 + + ${SCRIPT_HASH} = Get ScripHash ${PRIV_KEY} + + ${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 50 + Wait Until Keyword Succeeds 1 min 15 sec + ... Transaction accepted in block ${TX_DEPOSIT} + Get Transaction ${TX_DEPOSIT} + + Sleep 1 min + + ${CID} = Create container ${PRIV_KEY} ${EMPTY} REP 2 IN X CBF 1 SELECT 4 FROM * AS X + Container Existing ${PRIV_KEY} ${CID} + + ${FILE} = Generate file of bytes 1024 + ${FILE_HASH} = Get file hash ${FILE} + + ${S_OID} = Put object to NeoFS ${PRIV_KEY} ${FILE} ${CID} ${EMPTY} ${EMPTY} + Validate storage policy for object ${PRIV_KEY} 2 ${CID} ${S_OID} + @{NODES_OBJ} = Get nodes with object ${PRIV_KEY} ${CID} ${S_OID} + @{NODES_OBJ_STOPPED} = Stop nodes 1 @{NODES_OBJ} + Sleep 1 min + Validate storage policy for object ${PRIV_KEY} 2 ${CID} ${S_OID} + Start nodes @{NODES_OBJ_STOPPED} \ No newline at end of file diff --git a/robot/testsuites/integration/withdraw.robot b/robot/testsuites/integration/withdraw.robot new file mode 100644 index 00000000..7d60ee2e --- /dev/null +++ b/robot/testsuites/integration/withdraw.robot @@ -0,0 +1,45 @@ +*** Settings *** +Variables ../../variables/common.py + +Library ${RESOURCES}/neofs.py +Library ${RESOURCES}/payment_neogo.py + +*** Test cases *** +NeoFS Deposit and Withdraw + [Documentation] Testcase to validate NeoFS Withdraw operation. + [Tags] Withdraw NeoFS NeoCLI + [Timeout] 10 min + + ${WALLET} = Init wallet + Generate wallet ${WALLET} + ${ADDR} = Dump Address ${WALLET} + ${PRIV_KEY} = Dump PrivKey ${WALLET} ${ADDR} + + ${TX} = Transfer Mainnet Gas wallets/wallet.json NTrezR3C4X8aMLVg7vozt5wguyNfFhwuFx ${ADDR} 55 + Wait Until Keyword Succeeds 1 min 15 sec + ... Transaction accepted in block ${TX} + Get Transaction ${TX} + Expexted Mainnet Balance ${ADDR} 55 + + ${SCRIPT_HASH} = Get ScripHash ${PRIV_KEY} + + ${TX_DEPOSIT} = NeoFS Deposit ${WALLET} ${ADDR} ${SCRIPT_HASH} 50 + Wait Until Keyword Succeeds 1 min 15 sec + ... Transaction accepted in block ${TX_DEPOSIT} + Get Transaction ${TX_DEPOSIT} + + Sleep 1 min + + Expexted Mainnet Balance ${ADDR} 4.86192020 + ${NEOFS_BALANCE} = Get Balance ${PRIV_KEY} + + ${TX} = Withdraw Mainnet Gas ${WALLET} ${ADDR} ${SCRIPT_HASH} 50 + Wait Until Keyword Succeeds 1 min 15 sec + ... Transaction accepted in block ${TX} + + Sleep 1 min + Get Balance ${PRIV_KEY} + Expected Balance ${PRIV_KEY} ${NEOFS_BALANCE} -50 + Expexted Mainnet Balance ${ADDR} 54.82554860 + +