Compare commits

...

3 commits

Author SHA1 Message Date
anastasia prasolova
157602ca06 [nspcc-dev/nspcc-infra#840]: add DCO check
Signed-off-by: anastasia prasolova <anastasia@nspcc.ru>
2022-09-22 19:12:38 +03:00
anastasia prasolova
dd19303442 --lifetime key and ACL fixes for Storage Groups
Signed-off-by: anastasia prasolova <anastasia@nspcc.ru>
2022-08-18 16:46:16 +03:00
anastasia prasolova
e09498bc4e tests duplications removed from acl_extended_filters testsuite
Signed-off-by: anastasia prasolova <anastasia@nspcc.ru>
2022-08-10 13:30:33 +03:00
9 changed files with 76 additions and 136 deletions

21
.github/workflows/dco.yml vendored Normal file
View file

@ -0,0 +1,21 @@
name: DCO check
on:
pull_request:
branches:
- master
jobs:
commits_check_job:
runs-on: ubuntu-latest
name: Commits Check
steps:
- name: Get PR Commits
id: 'get-pr-commits'
uses: tim-actions/get-pr-commits@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: DCO Check
uses: tim-actions/dco@master
with:
commits: ${{ steps.get-pr-commits.outputs.commits }}

View file

@ -32,7 +32,7 @@ def put_storagegroup(wallet: str, cid: str, objects: list, bearer_token: str = "
cmd = ( cmd = (
f'{NEOFS_CLI_EXEC} --rpc-endpoint {NEOFS_ENDPOINT} ' f'{NEOFS_CLI_EXEC} --rpc-endpoint {NEOFS_ENDPOINT} '
f'--wallet {wallet} --config {wallet_config} ' f'--wallet {wallet} --config {wallet_config} '
f'storagegroup put --cid {cid} ' f'storagegroup put --cid {cid} --lifetime 5 '
f'--members {",".join(objects)} ' f'--members {",".join(objects)} '
f'{"--bearer " + bearer_token if bearer_token else ""}' f'{"--bearer " + bearer_token if bearer_token else ""}'
) )

View file

@ -13,9 +13,6 @@ Resource payment_operations.robot
*** Variables *** *** Variables ***
&{USER_HEADER} = key1=1 key2=abc &{USER_HEADER} = key1=1 key2=abc
&{USER_HEADER_DEL} = key1=del key2=del
&{ANOTHER_HEADER} = key1=oth key2=oth
${OBJECT_PATH} = testfile
${EACL_ERR_MSG} = * ${EACL_ERR_MSG} = *
*** Keywords *** *** Keywords ***
@ -26,13 +23,13 @@ Check eACL Deny and Allow All
${CID} = Create Container ${USER_WALLET} basic_acl=eacl-public-read-write ${CID} = Create Container ${USER_WALLET} basic_acl=eacl-public-read-write
${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE} ${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
${S_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER} ${S_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER}
${D_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER_DEL} ${D_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID}
@{S_OBJ_H} = Create List ${S_OID_USER} @{S_OBJ_H} = Create List ${S_OID_USER}
Put object ${WALLET} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER} Put object ${WALLET} ${FILE_S} ${CID}
Get object ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl Get object ${WALLET} ${CID} ${S_OID_USER}
Search object ${WALLET} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H} Search object ${WALLET} ${CID} filters=${USER_HEADER} expected_objects_list=${S_OBJ_H}
Head object ${WALLET} ${CID} ${S_OID_USER} Head object ${WALLET} ${CID} ${S_OID_USER}
Get Range ${WALLET} ${CID} ${S_OID_USER} 0:256 Get Range ${WALLET} ${CID} ${S_OID_USER} 0:256
@ -47,9 +44,9 @@ Check eACL Deny and Allow All
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Put object ${WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER} ... Put object ${WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER}
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Get object ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl ... Get object ${WALLET} ${CID} ${S_OID_USER}
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Search object ${WALLET} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H} ... Search object ${WALLET} ${CID} filters=${USER_HEADER} expected_objects_list=${S_OBJ_H}
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Head object ${WALLET} ${CID} ${S_OID_USER} ... Head object ${WALLET} ${CID} ${S_OID_USER}
Run Keyword And Expect Error * Run Keyword And Expect Error *
@ -64,9 +61,9 @@ 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 ${WALLET} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER} Put object ${WALLET} ${FILE_S} ${CID}
Get object ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl Get object ${WALLET} ${CID} ${S_OID_USER}
Search object ${WALLET} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H} Search object ${WALLET} ${CID} filters=${USER_HEADER} expected_objects_list=${S_OBJ_H}
Head object ${WALLET} ${CID} ${S_OID_USER} Head object ${WALLET} ${CID} ${S_OID_USER}
Get Range ${WALLET} ${CID} ${S_OID_USER} 0:256 Get Range ${WALLET} ${CID} ${S_OID_USER} 0:256
Get Range Hash ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} 0:256 Get Range Hash ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} 0:256
@ -100,12 +97,12 @@ Check eACL Filters with MatchType String Equal
${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write ${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write
${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE} ${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER} ${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID}
${D_OID_USER} = Put object ${WALLET} ${FILE_S} ${CID} ${D_OID_USER} = Put object ${WALLET} ${FILE_S} ${CID}
@{S_OBJ_H} = Create List ${S_OID_USER} @{S_OBJ_H} = Create List ${S_OID_USER}
Get Object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl Get Object ${WALLET_OTH} ${CID} ${S_OID_USER}
Search Object ${WALLET_OTH} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H} Search Object ${WALLET_OTH} ${CID} keys=--oid ${S_OID_USER} expected_objects_list=${S_OBJ_H}
&{HEADER} = Head Object ${WALLET_OTH} ${CID} ${S_OID_USER} &{HEADER} = Head Object ${WALLET_OTH} ${CID} ${S_OID_USER}
Get Range ${WALLET_OTH} ${CID} ${S_OID_USER} 0:256 Get Range ${WALLET_OTH} ${CID} ${S_OID_USER} 0:256
Get Range Hash ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} 0:256 Get Range Hash ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} 0:256
@ -127,7 +124,7 @@ Check eACL Filters with MatchType String Equal
IF 'GET' in ${VERB_FILTER_DEP}[${FILTER}] IF 'GET' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect Error ${EACL_ERR_MSG} Run Keyword And Expect Error ${EACL_ERR_MSG}
... Get object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} ${OBJECT_PATH} ... Get object ${WALLET_OTH} ${CID} ${S_OID_USER}
END END
IF 'HEAD' in ${VERB_FILTER_DEP}[${FILTER}] IF 'HEAD' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect error ${EACL_ERR_MSG} Run Keyword And Expect error ${EACL_ERR_MSG}
@ -139,7 +136,7 @@ Check eACL Filters with MatchType String Equal
END END
IF 'SEARCH' in ${VERB_FILTER_DEP}[${FILTER}] IF 'SEARCH' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect Error ${EACL_ERR_MSG} Run Keyword And Expect Error ${EACL_ERR_MSG}
... Search Object ${WALLET_OTH} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H} ... Search Object ${WALLET_OTH} ${CID} keys=--oid ${S_OID_USER} expected_objects_list=${S_OBJ_H}
END END
IF 'RANGEHASH' in ${VERB_FILTER_DEP}[${FILTER}] IF 'RANGEHASH' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect error ${EACL_ERR_MSG} Run Keyword And Expect error ${EACL_ERR_MSG}
@ -159,14 +156,14 @@ Check eACL Filters with MatchType String Not Equal
${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write ${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write
${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE} ${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
${S_OID_OTH} = Put Object ${WALLET_OTH} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER} ${S_OID_OTH} = Put Object ${WALLET_OTH} ${FILE_S} ${CID}
${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER} ${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID}
${D_OID_USER} = Put object ${WALLET} ${FILE_S} ${CID} ${D_OID_USER} = Put object ${WALLET} ${FILE_S} ${CID}
@{S_OBJ_H} = Create List ${S_OID_USER} @{S_OBJ_H} = Create List ${S_OID_USER}
Get Object ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl Get Object ${WALLET} ${CID} ${S_OID_USER}
&{HEADER} = Head Object ${WALLET} ${CID} ${S_OID_USER} &{HEADER} = Head Object ${WALLET} ${CID} ${S_OID_USER}
Search Object ${WALLET} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H} Search Object ${WALLET} ${CID} keys=--oid ${S_OID_USER} expected_objects_list=${S_OBJ_H}
Get Range ${WALLET} ${CID} ${S_OID_USER} 0:256 Get Range ${WALLET} ${CID} ${S_OID_USER} 0:256
Get Range Hash ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} 0:256 Get Range Hash ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} 0:256
@ -186,8 +183,8 @@ Check eACL Filters with MatchType String Not Equal
IF 'GET' in ${VERB_FILTER_DEP}[${FILTER}] IF 'GET' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect Error ${EACL_ERR_MSG} Run Keyword And Expect Error ${EACL_ERR_MSG}
... Get object ${WALLET_OTH} ${CID} ${S_OID_OTH} ${EMPTY} ${OBJECT_PATH} ... Get object ${WALLET_OTH} ${CID} ${S_OID_OTH}
Get object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} ${OBJECT_PATH} Get object ${WALLET_OTH} ${CID} ${S_OID_USER}
END END
IF 'HEAD' in ${VERB_FILTER_DEP}[${FILTER}] IF 'HEAD' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect error ${EACL_ERR_MSG} Run Keyword And Expect error ${EACL_ERR_MSG}
@ -196,8 +193,8 @@ Check eACL Filters with MatchType String Not Equal
END END
IF 'SEARCH' in ${VERB_FILTER_DEP}[${FILTER}] IF 'SEARCH' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect error ${EACL_ERR_MSG} Run Keyword And Expect error ${EACL_ERR_MSG}
... Search object ${WALLET_OTH} ${CID} ${EMPTY} ${EMPTY} ${ANOTHER_HEADER} ${S_OBJ_H} ... Search object ${WALLET_OTH} ${CID} keys=--oid ${S_OID_OTH} expected_objects_list=${S_OBJ_H}
Search object ${WALLET_OTH} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H} Search object ${WALLET_OTH} ${CID} keys=--oid ${S_OID_USER} expected_objects_list=${S_OBJ_H}
END END
IF 'RANGE' in ${VERB_FILTER_DEP}[${FILTER}] IF 'RANGE' in ${VERB_FILTER_DEP}[${FILTER}]
Run Keyword And Expect error ${EACL_ERR_MSG} Run Keyword And Expect error ${EACL_ERR_MSG}

View file

@ -76,21 +76,26 @@ Run Storage Group Operations On Other's Behalf In RO Container
Run Storage Group Operations On System's Behalf In RO Container Run Storage Group Operations On System's Behalf In RO Container
[Arguments] ${CID} ${OBJECTS} ${OBJ_COMPLEXITY} [Arguments] ${OWNER_WALLET} ${CID} ${OBJECTS} ${OBJ_COMPLEXITY}
[Documentation] ${CID}: ID of read-only container [Documentation] ${OWNER_WALLET} wallet of container owner
... ${CID}: ID of read-only container
... ${OBJECTS}: list of Object IDs to include into the Storage Group ... ${OBJECTS}: list of Object IDs to include into the Storage Group
... ${OBJ_COMPLEXITY}: [Complex|Simple] ... ${OBJ_COMPLEXITY}: [Complex|Simple]
... ...
... In this keyword we create Storage Group on Inner Ring's key behalf ... We expect that System key is granted to make GET and LIST.
... and include an Object created on behalf of some user. We expect
... that System key is granted to make all operations except DELETE.
Transfer Mainnet Gas ${IR_WALLET_PATH} ${DEPOSIT + 1} wallet_password=${IR_WALLET_PASS} Transfer Mainnet Gas ${IR_WALLET_PATH} ${DEPOSIT + 1} wallet_password=${IR_WALLET_PASS}
NeoFS Deposit ${IR_WALLET_PATH} ${DEPOSIT} wallet_password=${IR_WALLET_PASS} NeoFS Deposit ${IR_WALLET_PATH} ${DEPOSIT} wallet_password=${IR_WALLET_PASS}
${SG} = Put Storagegroup ${IR_WALLET_PATH} ${CID} ${OBJECTS} wallet_config=${IR_WALLET_CONFIG} ${SG} = Put Storagegroup ${OWNER_WALLET} ${CID} ${OBJECTS}
${ERR} = Run Keyword And Expect Error *
... Put Storagegroup ${IR_WALLET_PATH} ${CID} ${OBJECTS} wallet_config=${IR_WALLET_CONFIG}
Should Contain ${ERR} ${PERMISSION_ERROR}
Verify List Storage Group ${IR_WALLET_PATH} ${CID} ${SG} WALLET_CFG=${IR_WALLET_CONFIG} Verify List Storage Group ${IR_WALLET_PATH} ${CID} ${SG} WALLET_CFG=${IR_WALLET_CONFIG}
Verify Get Storage Group ${IR_WALLET_PATH} ${CID} ${SG} ${OBJECTS} ${OBJ_COMPLEXITY} WALLET_CFG=${IR_WALLET_CONFIG} Verify Get Storage Group ${IR_WALLET_PATH} ${CID} ${SG} ${OBJECTS} ${OBJ_COMPLEXITY} WALLET_CFG=${IR_WALLET_CONFIG}
${ERR} = Run Keyword And Expect Error * ${ERR} = Run Keyword And Expect Error *
... Delete Storagegroup ${IR_WALLET_PATH} ${CID} ${SG} wallet_config=${IR_WALLET_CONFIG} ... Delete Storagegroup ${IR_WALLET_PATH} ${CID} ${SG} wallet_config=${IR_WALLET_CONFIG}
Should Contain ${ERR} ${PERMISSION_ERROR} Should Contain ${ERR} ${PERMISSION_ERROR}

View file

@ -10,17 +10,11 @@ Resource common_steps_acl_extended.robot
Resource payment_operations.robot Resource payment_operations.robot
Resource eacl_tables.robot Resource eacl_tables.robot
*** Variables ***
&{USER_HEADER} = key1=1 key2=abc
&{ANOTHER_HEADER} = key1=oth key2=oth
${ID_FILTER} = $Object:objectID
${CUSTOM_FILTER} = key1
*** Test cases *** *** Test cases ***
Extended ACL Operations Extended ACL Operations
[Documentation] Testcase to validate NeoFS operations with extended ACL. [Documentation] Testcase to validate NeoFS operations with extended ACL.
[Tags] ACL eACL [Tags] ACL eACL
[Timeout] 3 min [Timeout] 5 min
Check Filters Simple Check Filters Simple
@ -40,8 +34,6 @@ Check Filters
${WALLET_OTH} ${_} ${_} = Prepare Wallet And Deposit ${WALLET_OTH} ${_} ${_} = Prepare Wallet And Deposit
${FILE_S} ${_} = Generate File ${SIZE} ${FILE_S} ${_} = Generate File ${SIZE}
Check eACL MatchType String Equal Object ${WALLET} ${WALLET_OTH} ${FILE_S}
Check eACL MatchType String Not Equal Object ${WALLET} ${WALLET_OTH} ${FILE_S}
Check eACL MatchType String Equal Request Deny ${WALLET} ${WALLET_OTH} ${FILE_S} Check eACL MatchType String Equal Request Deny ${WALLET} ${WALLET_OTH} ${FILE_S}
Check eACL MatchType String Equal Request Allow ${WALLET} ${WALLET_OTH} ${FILE_S} Check eACL MatchType String Equal Request Allow ${WALLET} ${WALLET_OTH} ${FILE_S}
@ -49,7 +41,7 @@ Check Filters
Check eACL MatchType String Equal Request Deny Check eACL MatchType String Equal Request Deny
[Arguments] ${USER_WALLET} ${OTHER_WALLET} ${FILE_S} [Arguments] ${USER_WALLET} ${OTHER_WALLET} ${FILE_S}
${CID} = Create Container ${USER_WALLET} basic_acl=eacl-public-read-write ${CID} = Create Container ${USER_WALLET} basic_acl=eacl-public-read-write
${S_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER} ${S_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID}
Get object ${USER_WALLET} ${CID} ${S_OID_USER} Get object ${USER_WALLET} ${CID} ${S_OID_USER}
Set eACL ${USER_WALLET} ${CID} ${EACL_XHEADER_DENY_ALL} Set eACL ${USER_WALLET} ${CID} ${EACL_XHEADER_DENY_ALL}
@ -62,11 +54,11 @@ Check eACL MatchType String Equal Request Deny
Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=256 Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=256
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Put object ${OTHER_WALLET} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER} options=--xhdr a=2 ... Put object ${OTHER_WALLET} ${FILE_S} ${CID} options=--xhdr a=2
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2 ... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Search object ${OTHER_WALLET} ${CID} filters=${USER_HEADER} options=--xhdr a=2 ... Search object ${OTHER_WALLET} ${CID} keys=--oid ${S_OID_USER} options=--xhdr a=2
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2 ... Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
Run Keyword And Expect Error * Run Keyword And Expect Error *
@ -76,9 +68,9 @@ Check eACL MatchType String Equal Request Deny
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Delete object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2 ... Delete object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
Put object ${OTHER_WALLET} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER} options=--xhdr a=256 Put object ${OTHER_WALLET} ${FILE_S} ${CID} options=--xhdr a=256
Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=* Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=*
Search object ${OTHER_WALLET} ${CID} filters=${USER_HEADER} options=--xhdr a= Search object ${OTHER_WALLET} ${CID} keys=--oid ${S_OID_USER} options=--xhdr a=
Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=.* Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=.*
Get Range ${OTHER_WALLET} ${CID} ${S_OID_USER} 0:256 options=--xhdr a="2 2" Get Range ${OTHER_WALLET} ${CID} ${S_OID_USER} 0:256 options=--xhdr a="2 2"
Get Range Hash ${OTHER_WALLET} ${CID} ${S_OID_USER} bearer_token=${EMPTY} range_cut=0:256 options=--xhdr a=256 Get Range Hash ${OTHER_WALLET} ${CID} ${S_OID_USER} bearer_token=${EMPTY} range_cut=0:256 options=--xhdr a=256
@ -106,7 +98,7 @@ Check eACL MatchType String Equal Request Allow
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} ... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER}
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Search object ${OTHER_WALLET} ${CID} filters=${USER_HEADER} ... Search object ${OTHER_WALLET} ${CID} keys=--oid ${S_OID_USER}
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} ... Head object ${OTHER_WALLET} ${CID} ${S_OID_USER}
Run Keyword And Expect Error * Run Keyword And Expect Error *
@ -118,82 +110,8 @@ Check eACL MatchType String Equal Request Allow
Put object ${OTHER_WALLET} ${FILE_S} ${CID} options=--xhdr a=2 Put object ${OTHER_WALLET} ${FILE_S} ${CID} options=--xhdr a=2
Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2 Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
Search object ${OTHER_WALLET} ${CID} filters=${USER_HEADER} options=--xhdr a=2 Search object ${OTHER_WALLET} ${CID} keys=--oid ${S_OID_USER} options=--xhdr a=2
Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2 Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
Get Range ${OTHER_WALLET} ${CID} ${S_OID_USER} 0:256 options=--xhdr a=2 Get Range ${OTHER_WALLET} ${CID} ${S_OID_USER} 0:256 options=--xhdr a=2
Get Range Hash ${OTHER_WALLET} ${CID} ${S_OID_USER} bearer_token=${EMPTY} range_cut=0:256 options=--xhdr a=2 Get Range Hash ${OTHER_WALLET} ${CID} ${S_OID_USER} bearer_token=${EMPTY} range_cut=0:256 options=--xhdr a=2
Delete object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2 Delete object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
Check eACL MatchType String Equal Object
[Arguments] ${USER_WALLET} ${OTHER_WALLET} ${FILE_S}
${CID} = Create Container ${USER_WALLET} basic_acl=eacl-public-read-write
${S_OID_USER} = Put Object ${USER_WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER}
Get Object ${OTHER_WALLET} ${CID} ${S_OID_USER}
Log Set eACL for Deny GET operation with StringEqual Object ID
&{HEADER_DICT} = Head Object ${USER_WALLET} ${CID} ${S_OID_USER}
${ID_value} = Get From dictionary ${HEADER_DICT} ${EACL_OBJ_FILTERS}[${ID_FILTER}]
${filters} = Set Variable obj:${ID_FILTER}=${ID_value}
${rule1} = Set Variable deny get ${filters} others
${eACL_gen} = Create List ${rule1}
${EACL_CUSTOM} = Create eACL ${CID} ${eACL_gen}
Set eACL ${USER_WALLET} ${CID} ${EACL_CUSTOM}
Run Keyword And Expect Error *
... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER}
Log Set eACL for Deny GET operation with StringEqual Object Extended User Header
${S_OID_USER_OTH} = Put object ${USER_WALLET} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER}
${filters} = Set Variable obj:${CUSTOM_FILTER}=1
${rule1} = Set Variable deny get ${filters} others
${eACL_gen} = Create List ${rule1}
${EACL_CUSTOM} = Create eACL ${CID} ${eACL_gen}
Set eACL ${USER_WALLET} ${CID} ${EACL_CUSTOM}
Run Keyword And Expect Error *
... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER}
Get object ${OTHER_WALLET} ${CID} ${S_OID_USER_OTH}
Check eACL MatchType String Not Equal Object
[Arguments] ${USER_WALLET} ${OTHER_WALLET} ${FILE_S}
${CID} = Create Container ${USER_WALLET} basic_acl=eacl-public-read-write
${S_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID}
${S_OID_OTHER} = Put object ${OTHER_WALLET} ${FILE_S} ${CID}
Get object ${OTHER_WALLET} ${CID} ${S_OID_USER}
Get object ${OTHER_WALLET} ${CID} ${S_OID_OTHER}
Log Set eACL for Deny GET operation with StringNotEqual Object ID
&{HEADER_DICT} = Head object ${USER_WALLET} ${CID} ${S_OID_USER}
${ID_value} = Get From Dictionary ${HEADER_DICT} ${EACL_OBJ_FILTERS}[${ID_FILTER}]
${filters} = Set Variable obj:${ID_FILTER}!=${ID_value}
${rule1} = Set Variable deny get ${filters} others
${eACL_gen} = Create List ${rule1}
${EACL_CUSTOM} = Create eACL ${CID} ${eACL_gen}
Set eACL ${USER_WALLET} ${CID} ${EACL_CUSTOM}
Run Keyword And Expect Error *
... Get object ${OTHER_WALLET} ${CID} ${S_OID_OTHER}
Get object ${OTHER_WALLET} ${CID} ${S_OID_USER}
Log Set eACL for Deny GET operation with StringEqual Object Extended User Header
${S_OID_USER_OTH} = Put object ${USER_WALLET} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER}
${filters} = Set Variable obj:${CUSTOM_FILTER}!=1
${rule1} = Set Variable deny get ${filters} others
${eACL_gen} = Create List ${rule1}
${EACL_CUSTOM} = Create eACL ${CID} ${eACL_gen}
Set eACL ${USER_WALLET} ${CID} ${EACL_CUSTOM}
Run Keyword And Expect Error *
... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER_OTH}
Get object ${OTHER_WALLET} ${CID} ${S_OID_USER}

View file

@ -10,7 +10,6 @@ Resource common_steps_acl_extended.robot
Resource payment_operations.robot Resource payment_operations.robot
*** Variables *** *** Variables ***
${OBJECT_PATH} = testfile
${EACL_ERR_MSG} = * ${EACL_ERR_MSG} = *
*** Test cases *** *** Test cases ***
@ -46,9 +45,9 @@ Check eACL Filters with MatchType String Equal with two contradicting filters
${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write ${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write
${FILE_S_USER} ${_} = Generate file ${SIMPLE_OBJ_SIZE} ${FILE_S_USER} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
${S_OID_USER} = Put Object ${WALLET} ${FILE_S_USER} ${CID} ${EMPTY} ${S_OID_USER} = Put Object ${WALLET} ${FILE_S_USER} ${CID}
Get Object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} ${OBJECT_PATH} Get Object ${WALLET_OTH} ${CID} ${S_OID_USER}
&{HEADER} = Head Object ${WALLET} ${CID} ${S_OID_USER} &{HEADER} = Head Object ${WALLET} ${CID} ${S_OID_USER}
${filter_value} = Get From Dictionary ${HEADER} ${EACL_OBJ_FILTERS}[${FILTER}] ${filter_value} = Get From Dictionary ${HEADER} ${EACL_OBJ_FILTERS}[${FILTER}]
@ -60,7 +59,7 @@ Check eACL Filters with MatchType String Equal with two contradicting filters
${EACL_CUSTOM} = Create eACL ${CID} ${eACL_gen} ${EACL_CUSTOM} = Create eACL ${CID} ${eACL_gen}
Set eACL ${WALLET} ${CID} ${EACL_CUSTOM} Set eACL ${WALLET} ${CID} ${EACL_CUSTOM}
Get object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} ${OBJECT_PATH} Get object ${WALLET_OTH} ${CID} ${S_OID_USER}
Check eACL Filters, two matchTypes Check eACL Filters, two matchTypes
@ -72,12 +71,12 @@ Check eACL Filters, two matchTypes
${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write ${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write
${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE} ${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID} ${EMPTY} ${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID}
${S_OID_OTHER} = Put Object ${WALLET_OTH} ${FILE_S} ${CID} ${EMPTY} ${S_OID_OTHER} = Put Object ${WALLET_OTH} ${FILE_S} ${CID}
&{HEADER} = Head Object ${WALLET} ${CID} ${S_OID_USER} &{HEADER} = Head Object ${WALLET} ${CID} ${S_OID_USER}
Get Object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} ${OBJECT_PATH} Get Object ${WALLET_OTH} ${CID} ${S_OID_USER}
Get Object ${WALLET_OTH} ${CID} ${S_OID_OTHER} ${EMPTY} ${OBJECT_PATH} Get Object ${WALLET_OTH} ${CID} ${S_OID_OTHER}
${filter_value} = Get From Dictionary ${HEADER} ${EACL_OBJ_FILTERS}[${FILTER}] ${filter_value} = Get From Dictionary ${HEADER} ${EACL_OBJ_FILTERS}[${FILTER}]
${noneq_filters} = Set Variable obj:${FILTER}!=${filter_value} ${noneq_filters} = Set Variable obj:${FILTER}!=${filter_value}
@ -89,6 +88,6 @@ Check eACL Filters, two matchTypes
Set eACL ${WALLET} ${CID} ${EACL_CUSTOM} Set eACL ${WALLET} ${CID} ${EACL_CUSTOM}
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Get object ${WALLET_OTH} ${CID} ${S_OID_OTHER} ${EMPTY} ${OBJECT_PATH} ... Get object ${WALLET_OTH} ${CID} ${S_OID_OTHER}
Run Keyword And Expect Error * Run Keyword And Expect Error *
... Get Object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} ${OBJECT_PATH} ... Get Object ${WALLET_OTH} ${CID} ${S_OID_USER}

View file

@ -48,4 +48,4 @@ Check Private Container
# In private container, Inner Ring is allowed to read (Storage Group List and Get), # In private container, Inner Ring is allowed to read (Storage Group List and Get),
# so using here keyword for read-only container. # so using here keyword for read-only container.
Run Storage Group Operations On System's Behalf In RO Container Run Storage Group Operations On System's Behalf In RO Container
... ${PRIV_CID} ${OBJECTS} ${COMPLEXITY} ... ${USER_WALLET} ${PRIV_CID} ${OBJECTS} ${COMPLEXITY}

View file

@ -43,6 +43,6 @@ Check Public Container
Run Storage Group Operations And Expect Success Run Storage Group Operations And Expect Success
... ${WALLET_OTH} ${PUBLIC_CID} ${OBJECTS} ${RUN_TYPE} ... ${WALLET_OTH} ${PUBLIC_CID} ${OBJECTS} ${RUN_TYPE}
# System isn't allowed to DELETE in Public Container # System isn't allowed to PUT and DELETE in Public Container
Run Storage Group Operations On System's Behalf In RO Container Run Storage Group Operations On System's Behalf In RO Container
... ${PUBLIC_CID} ${OBJECTS} ${RUN_TYPE} ... ${USER_WALLET} ${PUBLIC_CID} ${OBJECTS} ${RUN_TYPE}

View file

@ -52,4 +52,4 @@ Check Read-Only Container
... ${USER_WALLET} ${READONLY_CID} ${OBJECTS} ${COMPLEXITY} ... ${USER_WALLET} ${READONLY_CID} ${OBJECTS} ${COMPLEXITY}
Run Storage Group Operations On System's Behalf in RO Container Run Storage Group Operations On System's Behalf in RO Container
... ${READONLY_CID} ${OBJECTS} ${COMPLEXITY} ... ${USER_WALLET} ${READONLY_CID} ${OBJECTS} ${COMPLEXITY}