From be281428b53e657336ae514986c77e61955e49ee Mon Sep 17 00:00:00 2001 From: anastasia prasolova Date: Tue, 31 Aug 2021 18:16:19 +0300 Subject: [PATCH] Waiting for container to appear in network; decrease complex object size Signed-off-by: anastasia prasolova --- .../acl/acl_bearer_filter_oid_not_equal.robot | 2 +- .../integration/acl/common_steps_acl_basic.robot | 12 +++++++++--- .../integration/acl/common_steps_acl_bearer.robot | 7 +++++-- .../acl/common_steps_acl_extended.robot | 5 ++++- .../container/container_attributes.robot | 11 +++++++---- .../integration/container/container_delete.robot | 15 +++++++++------ .../integration/network/netmap_simple.robot | 11 +++++++---- .../integration/network/replication.robot | 10 ++++++---- .../integration/object/common_steps_object.robot | 4 +++- .../integration/object/object_expiration.robot | 1 + robot/variables/common.py | 2 +- 11 files changed, 53 insertions(+), 27 deletions(-) diff --git a/robot/testsuites/integration/acl/acl_bearer_filter_oid_not_equal.robot b/robot/testsuites/integration/acl/acl_bearer_filter_oid_not_equal.robot index 355198b9..da4adc87 100644 --- a/robot/testsuites/integration/acl/acl_bearer_filter_oid_not_equal.robot +++ b/robot/testsuites/integration/acl/acl_bearer_filter_oid_not_equal.robot @@ -18,7 +18,7 @@ BearerToken Operations with Filter OID NotEqual [Setup] Setup - Generate eACL Keys + Generate Keys Prepare eACL Role rules Log Check Bearer token with simple object diff --git a/robot/testsuites/integration/acl/common_steps_acl_basic.robot b/robot/testsuites/integration/acl/common_steps_acl_basic.robot index 9860fdf2..8397be19 100644 --- a/robot/testsuites/integration/acl/common_steps_acl_basic.robot +++ b/robot/testsuites/integration/acl/common_steps_acl_basic.robot @@ -2,20 +2,26 @@ Variables ../../../variables/common.py Variables ../../../variables/acl.py +*** Variables *** +${CONTAINER_WAIT_INTERVAL} = 1 min + *** Keywords *** Create Containers Log Create Private Container ${PRIV_CID_GEN} = Create container ${USER_KEY} ${PRIVATE_ACL} ${COMMON_PLACEMENT_RULE} - Container Existing ${USER_KEY} ${PRIV_CID_GEN} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${PRIV_CID_GEN} Log Create Public Container ${PUBLIC_CID_GEN} = Create container ${USER_KEY} ${PUBLIC_ACL} ${COMMON_PLACEMENT_RULE} - Container Existing ${USER_KEY} ${PUBLIC_CID_GEN} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${PUBLIC_CID_GEN} Log Create Read-Only Container ${READONLY_CID_GEN} = Create container ${USER_KEY} ${READONLY_ACL} ${COMMON_PLACEMENT_RULE} - Container Existing ${USER_KEY} ${READONLY_CID_GEN} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${READONLY_CID_GEN} Set Global Variable ${PRIV_CID} ${PRIV_CID_GEN} Set Global Variable ${PUBLIC_CID} ${PUBLIC_CID_GEN} diff --git a/robot/testsuites/integration/acl/common_steps_acl_bearer.robot b/robot/testsuites/integration/acl/common_steps_acl_bearer.robot index 4166f15c..1cd9150a 100644 --- a/robot/testsuites/integration/acl/common_steps_acl_bearer.robot +++ b/robot/testsuites/integration/acl/common_steps_acl_bearer.robot @@ -6,18 +6,21 @@ Variables ../../../variables/acl.py ${FILE_USR_HEADER} = key1=1,key2=abc ${FILE_USR_HEADER_DEL} = key1=del,key2=del ${FILE_OTH_HEADER} = key1=oth,key2=oth +${CONTAINER_WAIT_INTERVAL} = 1 min *** Keywords *** Create Container Public - Log Create Public Container ${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x0FFFFFFF ${COMMON_PLACEMENT_RULE} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${PUBLIC_CID_GEN} [Return] ${PUBLIC_CID_GEN} Create Container Inaccessible - Log Create Inaccessible Container ${INACCESSIBLE_CID_GEN} = Create container ${USER_KEY} ${INACCESSIBLE_ACL} ${COMMON_PLACEMENT_RULE} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${INACCESSIBLE_CID_GEN} [Return] ${INACCESSIBLE_CID_GEN} diff --git a/robot/testsuites/integration/acl/common_steps_acl_extended.robot b/robot/testsuites/integration/acl/common_steps_acl_extended.robot index 4850e522..936b21f6 100644 --- a/robot/testsuites/integration/acl/common_steps_acl_extended.robot +++ b/robot/testsuites/integration/acl/common_steps_acl_extended.robot @@ -5,12 +5,15 @@ Variables ../../../variables/common.py ${FILE_USR_HEADER} = key1=1,key2=abc ${FILE_USR_HEADER_DEL} = key1=del,key2=del ${FILE_OTH_HEADER} = key1=oth,key2=oth +${CONTAINER_WAIT_INTERVAL} = 1 min *** Keywords *** Create Container Public Log Create Public Container ${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x4FFFFFFF ${COMMON_PLACEMENT_RULE} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${PUBLIC_CID_GEN} [Return] ${PUBLIC_CID_GEN} @@ -29,7 +32,7 @@ Check eACL Deny and Allow All ${CID} = Create Container Public ${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} - @{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} diff --git a/robot/testsuites/integration/container/container_attributes.robot b/robot/testsuites/integration/container/container_attributes.robot index f229aed7..bb3b837d 100644 --- a/robot/testsuites/integration/container/container_attributes.robot +++ b/robot/testsuites/integration/container/container_attributes.robot @@ -16,6 +16,7 @@ ${ATTR_TIME} = Timestamp=new ${ATTR_DUPLICATE} = Size=small, Size=big ${ATTR_NONE} = NoAttribute='' ${ATTR_SINGLE} = AttrNum=one +${CONTAINER_WAIT_INTERVAL} = 1 min *** Test Cases *** Duplicated Container Attributes @@ -48,9 +49,11 @@ Duplicated Container Attributes # Checking a successful step with a single attribute ##################################################### - ${CID} = Create container ${USER_KEY} ${EMPTY} ${POLICY} ${ATTR_SINGLE} - ${ATTRIBUTES} = Get container attributes ${USER_KEY} ${CID} ${EMPTY} json_output=True - ${ATTRIBUTES_DICT} = Decode Container Attributes Json ${ATTRIBUTES} + ${CID} = Create container ${USER_KEY} ${EMPTY} ${POLICY} ${ATTR_SINGLE} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${CID} + ${ATTRIBUTES} = Get container attributes ${USER_KEY} ${CID} ${EMPTY} json_output=True + ${ATTRIBUTES_DICT} = Decode Container Attributes Json ${ATTRIBUTES} Verify Head Attribute ${ATTRIBUTES_DICT} ${ATTR_SINGLE} - [Teardown] Teardown container_attributes \ No newline at end of file + [Teardown] Teardown container_attributes diff --git a/robot/testsuites/integration/container/container_delete.robot b/robot/testsuites/integration/container/container_delete.robot index c9f7f5ae..d283a40e 100644 --- a/robot/testsuites/integration/container/container_delete.robot +++ b/robot/testsuites/integration/container/container_delete.robot @@ -9,6 +9,9 @@ Library ${KEYWORDS}/wallet_keywords.py Resource ../${RESOURCES}/setup_teardown.robot Resource ../${RESOURCES}/payment_operations.robot +*** Variables *** +${CONTAINER_WAIT_INTERVAL} = 1 min + *** Test Cases *** Delete Containers [Documentation] Testcase to check if containers can be deleted. @@ -22,17 +25,17 @@ Delete Containers ${WALLET_OTH} ${ADDR_OTH} ${OTHER_KEY} = Init Wallet with Address ${ASSETS_DIR} Payment Operations ${ADDR_OTH} ${OTHER_KEY} - ${CID} = Create container ${USER_KEY} ${PUBLIC_ACL} ${COMMON_PLACEMENT_RULE} - Container Existing ${USER_KEY} ${CID} + ${CID} = Create container ${USER_KEY} ${PUBLIC_ACL} ${COMMON_PLACEMENT_RULE} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${USER_KEY} ${CID} Run Keyword And Expect Error * - ... Delete Container ${CID} ${OTHER_KEY} + ... Delete Container ${CID} ${OTHER_KEY} Delete Container ${CID} ${USER_KEY} ${EXPECTED_ERROR} = Run Keyword And Expect Error * ... Delete Container ${CID} ${USER_KEY} - Log Container cannot be deleted: ${EXPECTED_ERROR} + Log Container cannot be deleted: ${EXPECTED_ERROR} - [Teardown] Teardown container_delete - \ No newline at end of file + [Teardown] Teardown container_delete diff --git a/robot/testsuites/integration/network/netmap_simple.robot b/robot/testsuites/integration/network/netmap_simple.robot index 0634328e..156ad731 100644 --- a/robot/testsuites/integration/network/netmap_simple.robot +++ b/robot/testsuites/integration/network/netmap_simple.robot @@ -9,6 +9,8 @@ Library ${KEYWORDS}/rpc_call_keywords.py Resource ../${RESOURCES}/payment_operations.robot Resource ../${RESOURCES}/setup_teardown.robot +*** Variables *** +${CONTAINER_WAIT_INTERVAL} = 1 min *** Test cases *** NeoFS Simple Netmap @@ -87,8 +89,9 @@ Validate Policy Log Container with rule ${POLICY} - ${CID} = Create container ${PRIV_KEY} ${EMPTY} ${POLICY} - Container Existing ${PRIV_KEY} ${CID} - ${S_OID} = Put object ${PRIV_KEY} ${FILE} ${CID} ${EMPTY} ${EMPTY} - Validate storage policy for object ${PRIV_KEY} ${EXPECTED_VAL} ${CID} ${S_OID} ${EXPECTED_LIST} + ${CID} = Create container ${PRIV_KEY} ${EMPTY} ${POLICY} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${PRIV_KEY} ${CID} + ${S_OID} = Put object ${PRIV_KEY} ${FILE} ${CID} ${EMPTY} ${EMPTY} + Validate storage policy for object ${PRIV_KEY} ${EXPECTED_VAL} ${CID} ${S_OID} ${EXPECTED_LIST} Get object ${PRIV_KEY} ${CID} ${S_OID} ${EMPTY} s_file_read diff --git a/robot/testsuites/integration/network/replication.robot b/robot/testsuites/integration/network/replication.robot index 1137b561..160b528f 100644 --- a/robot/testsuites/integration/network/replication.robot +++ b/robot/testsuites/integration/network/replication.robot @@ -15,6 +15,7 @@ Resource ../${RESOURCES}/setup_teardown.robot ${PLACEMENT_RULE} = REP 2 IN X CBF 1 SELECT 4 FROM * AS X ${EXPECTED_COPIES} = ${2} ${CHECK_INTERVAL} = 1 min +${CONTAINER_WAIT_INTERVAL} = 1 min *** Test cases *** NeoFS Object Replication @@ -27,11 +28,12 @@ NeoFS Object Replication ${WALLET} ${ADDR} ${WIF} = Init Wallet with Address ${ASSETS_DIR} Payment Operations ${ADDR} ${WIF} - ${CID} = Create container ${WIF} ${EMPTY} ${PLACEMENT_RULE} - Container Existing ${WIF} ${CID} + ${CID} = Create container ${WIF} ${EMPTY} ${PLACEMENT_RULE} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${WIF} ${CID} - ${FILE} = Generate file of bytes ${SIMPLE_OBJ_SIZE} - ${FILE_HASH} = Get file hash ${FILE} + ${FILE} = Generate file of bytes ${SIMPLE_OBJ_SIZE} + ${FILE_HASH} = Get file hash ${FILE} ${S_OID} = Put object ${WIF} ${FILE} ${CID} ${EMPTY} ${EMPTY} Validate storage policy for object ${WIF} ${EXPECTED_COPIES} ${CID} ${S_OID} diff --git a/robot/testsuites/integration/object/common_steps_object.robot b/robot/testsuites/integration/object/common_steps_object.robot index af35fc45..402a450a 100644 --- a/robot/testsuites/integration/object/common_steps_object.robot +++ b/robot/testsuites/integration/object/common_steps_object.robot @@ -9,6 +9,7 @@ ${FILE_USR_HEADER} = key1=1,key2=abc ${FILE_USR_HEADER_OTH} = key1=2 ${UNEXIST_OID} = B2DKvkHnLnPvapbDgfpU1oVUPuXQo5LTfKVxmNDZXQff ${PLACEMENT_RULE} = REP 2 IN X CBF 1 SELECT 2 FROM * AS X +${CONTAINER_WAIT_INTERVAL} = 1 min *** Keywords *** @@ -17,7 +18,8 @@ Prepare container ${NEOFS_BALANCE} = Get NeoFS Balance ${WIF} ${CID} = Create container ${WIF} ${EMPTY} ${PLACEMENT_RULE} - Container Existing ${WIF} ${CID} + Wait Until Keyword Succeeds ${MORPH_BLOCK_TIME} ${CONTAINER_WAIT_INTERVAL} + ... Container Existing ${WIF} ${CID} ${NEW_NEOFS_BALANCE} = Get NeoFS Balance ${WIF} Should Be True ${NEW_NEOFS_BALANCE} < ${NEOFS_BALANCE} diff --git a/robot/testsuites/integration/object/object_expiration.robot b/robot/testsuites/integration/object/object_expiration.robot index 4ee5dc84..5eff9345 100644 --- a/robot/testsuites/integration/object/object_expiration.robot +++ b/robot/testsuites/integration/object/object_expiration.robot @@ -3,6 +3,7 @@ Variables ../../../variables/common.py Library ../${RESOURCES}/neofs.py Library ../${RESOURCES}/payment_neogo.py +Library ${KEYWORDS}/contract_keywords.py Resource common_steps_object.robot Resource ../${RESOURCES}/setup_teardown.robot diff --git a/robot/variables/common.py b/robot/variables/common.py index a951976b..9f7f11c5 100644 --- a/robot/variables/common.py +++ b/robot/variables/common.py @@ -17,7 +17,7 @@ NEOFS_EPOCH_TIMEOUT = (os.getenv("NEOFS_EPOCH_TIMEOUT") if os.getenv("NEOFS_EPOC else os.getenv("NEOFS_IR_TIMERS_EPOCH", "300s")) SIMPLE_OBJ_SIZE = os.getenv("SIMPLE_OBJ_SIZE", "1000") -COMPLEX_OBJ_SIZE = os.getenv("COMPLEX_OBJ_SIZE", "70000000") +COMPLEX_OBJ_SIZE = os.getenv("COMPLEX_OBJ_SIZE", "2000") MAINNET_BLOCK_TIME = os.getenv('MAINNET_BLOCK_TIME', "15s") MAINNET_TIMEOUT = os.getenv('MAINNET_TIMEOUT', "1min")