forked from TrueCloudLab/frostfs-testcases
Compare commits
3 commits
master
...
robot-test
Author | SHA1 | Date | |
---|---|---|---|
|
157602ca06 | ||
|
dd19303442 | ||
|
e09498bc4e |
9 changed files with 76 additions and 136 deletions
21
.github/workflows/dco.yml
vendored
Normal file
21
.github/workflows/dco.yml
vendored
Normal 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 }}
|
|
@ -32,7 +32,7 @@ def put_storagegroup(wallet: str, cid: str, objects: list, bearer_token: str = "
|
|||
cmd = (
|
||||
f'{NEOFS_CLI_EXEC} --rpc-endpoint {NEOFS_ENDPOINT} '
|
||||
f'--wallet {wallet} --config {wallet_config} '
|
||||
f'storagegroup put --cid {cid} '
|
||||
f'storagegroup put --cid {cid} --lifetime 5 '
|
||||
f'--members {",".join(objects)} '
|
||||
f'{"--bearer " + bearer_token if bearer_token else ""}'
|
||||
)
|
||||
|
|
|
@ -13,9 +13,6 @@ Resource payment_operations.robot
|
|||
|
||||
*** Variables ***
|
||||
&{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} = *
|
||||
|
||||
*** Keywords ***
|
||||
|
@ -26,13 +23,13 @@ Check eACL Deny and Allow All
|
|||
${CID} = Create Container ${USER_WALLET} basic_acl=eacl-public-read-write
|
||||
${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
|
||||
${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}
|
||||
|
||||
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
|
||||
Search object ${WALLET} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H}
|
||||
Get object ${WALLET} ${CID} ${S_OID_USER}
|
||||
Search object ${WALLET} ${CID} filters=${USER_HEADER} expected_objects_list=${S_OBJ_H}
|
||||
Head object ${WALLET} ${CID} ${S_OID_USER}
|
||||
|
||||
Get Range ${WALLET} ${CID} ${S_OID_USER} 0:256
|
||||
|
@ -47,9 +44,9 @@ Check eACL Deny and Allow All
|
|||
Run Keyword And Expect Error *
|
||||
... Put object ${WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER}
|
||||
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 *
|
||||
... 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 *
|
||||
... Head object ${WALLET} ${CID} ${S_OID_USER}
|
||||
Run Keyword And Expect Error *
|
||||
|
@ -64,9 +61,9 @@ Check eACL Deny and Allow All
|
|||
# The current ACL cache lifetime is 30 sec
|
||||
Sleep ${NEOFS_CONTRACT_CACHE_TIMEOUT}
|
||||
|
||||
Put object ${WALLET} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER}
|
||||
Get object ${WALLET} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
||||
Search object ${WALLET} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H}
|
||||
Put object ${WALLET} ${FILE_S} ${CID}
|
||||
Get object ${WALLET} ${CID} ${S_OID_USER}
|
||||
Search object ${WALLET} ${CID} filters=${USER_HEADER} expected_objects_list=${S_OBJ_H}
|
||||
Head object ${WALLET} ${CID} ${S_OID_USER}
|
||||
Get Range ${WALLET} ${CID} ${S_OID_USER} 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
|
||||
${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}
|
||||
@{S_OBJ_H} = Create List ${S_OID_USER}
|
||||
|
||||
Get Object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} local_file_eacl
|
||||
Search Object ${WALLET_OTH} ${CID} ${EMPTY} ${EMPTY} ${USER_HEADER} ${S_OBJ_H}
|
||||
Get Object ${WALLET_OTH} ${CID} ${S_OID_USER}
|
||||
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}
|
||||
Get Range ${WALLET_OTH} ${CID} ${S_OID_USER} 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}]
|
||||
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
|
||||
IF 'HEAD' in ${VERB_FILTER_DEP}[${FILTER}]
|
||||
Run Keyword And Expect error ${EACL_ERR_MSG}
|
||||
|
@ -139,7 +136,7 @@ Check eACL Filters with MatchType String Equal
|
|||
END
|
||||
IF 'SEARCH' in ${VERB_FILTER_DEP}[${FILTER}]
|
||||
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
|
||||
IF 'RANGEHASH' in ${VERB_FILTER_DEP}[${FILTER}]
|
||||
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
|
||||
${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
|
||||
|
||||
${S_OID_OTH} = Put Object ${WALLET_OTH} ${FILE_S} ${CID} user_headers=${ANOTHER_HEADER}
|
||||
${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID} user_headers=${USER_HEADER}
|
||||
${S_OID_OTH} = Put Object ${WALLET_OTH} ${FILE_S} ${CID}
|
||||
${S_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}
|
||||
|
||||
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}
|
||||
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 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}]
|
||||
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_USER} ${EMPTY} ${OBJECT_PATH}
|
||||
... Get object ${WALLET_OTH} ${CID} ${S_OID_OTH}
|
||||
Get object ${WALLET_OTH} ${CID} ${S_OID_USER}
|
||||
END
|
||||
IF 'HEAD' in ${VERB_FILTER_DEP}[${FILTER}]
|
||||
Run Keyword And Expect error ${EACL_ERR_MSG}
|
||||
|
@ -196,8 +193,8 @@ Check eACL Filters with MatchType String Not Equal
|
|||
END
|
||||
IF 'SEARCH' in ${VERB_FILTER_DEP}[${FILTER}]
|
||||
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} ${EMPTY} ${EMPTY} ${USER_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} keys=--oid ${S_OID_USER} expected_objects_list=${S_OBJ_H}
|
||||
END
|
||||
IF 'RANGE' in ${VERB_FILTER_DEP}[${FILTER}]
|
||||
Run Keyword And Expect error ${EACL_ERR_MSG}
|
||||
|
|
|
@ -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
|
||||
[Arguments] ${CID} ${OBJECTS} ${OBJ_COMPLEXITY}
|
||||
[Documentation] ${CID}: ID of read-only container
|
||||
[Arguments] ${OWNER_WALLET} ${CID} ${OBJECTS} ${OBJ_COMPLEXITY}
|
||||
[Documentation] ${OWNER_WALLET} wallet of container owner
|
||||
... ${CID}: ID of read-only container
|
||||
... ${OBJECTS}: list of Object IDs to include into the Storage Group
|
||||
... ${OBJ_COMPLEXITY}: [Complex|Simple]
|
||||
...
|
||||
... In this keyword we create Storage Group on Inner Ring's key behalf
|
||||
... and include an Object created on behalf of some user. We expect
|
||||
... that System key is granted to make all operations except DELETE.
|
||||
... We expect that System key is granted to make GET and LIST.
|
||||
|
||||
Transfer Mainnet Gas ${IR_WALLET_PATH} ${DEPOSIT + 1} 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 Get Storage Group ${IR_WALLET_PATH} ${CID} ${SG} ${OBJECTS} ${OBJ_COMPLEXITY} WALLET_CFG=${IR_WALLET_CONFIG}
|
||||
|
||||
${ERR} = Run Keyword And Expect Error *
|
||||
... Delete Storagegroup ${IR_WALLET_PATH} ${CID} ${SG} wallet_config=${IR_WALLET_CONFIG}
|
||||
Should Contain ${ERR} ${PERMISSION_ERROR}
|
||||
|
|
|
@ -10,17 +10,11 @@ Resource common_steps_acl_extended.robot
|
|||
Resource payment_operations.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 ***
|
||||
Extended ACL Operations
|
||||
[Documentation] Testcase to validate NeoFS operations with extended ACL.
|
||||
[Tags] ACL eACL
|
||||
[Timeout] 3 min
|
||||
[Timeout] 5 min
|
||||
|
||||
|
||||
Check Filters Simple
|
||||
|
@ -40,8 +34,6 @@ Check Filters
|
|||
${WALLET_OTH} ${_} ${_} = Prepare Wallet And Deposit
|
||||
${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 Allow ${WALLET} ${WALLET_OTH} ${FILE_S}
|
||||
|
||||
|
@ -49,7 +41,7 @@ Check Filters
|
|||
Check eACL MatchType String Equal Request Deny
|
||||
[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}
|
||||
${S_OID_USER} = Put object ${USER_WALLET} ${FILE_S} ${CID}
|
||||
Get object ${USER_WALLET} ${CID} ${S_OID_USER}
|
||||
|
||||
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
|
||||
|
||||
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 *
|
||||
... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
|
||||
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 *
|
||||
... Head object ${OTHER_WALLET} ${CID} ${S_OID_USER} options=--xhdr a=2
|
||||
Run Keyword And Expect Error *
|
||||
|
@ -76,9 +68,9 @@ Check eACL MatchType String Equal Request Deny
|
|||
Run Keyword And Expect Error *
|
||||
... 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=*
|
||||
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=.*
|
||||
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
|
||||
|
@ -106,7 +98,7 @@ Check eACL MatchType String Equal Request Allow
|
|||
Run Keyword And Expect Error *
|
||||
... Get object ${OTHER_WALLET} ${CID} ${S_OID_USER}
|
||||
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 *
|
||||
... Head object ${OTHER_WALLET} ${CID} ${S_OID_USER}
|
||||
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
|
||||
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
|
||||
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
|
||||
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}
|
||||
|
|
|
@ -10,7 +10,6 @@ Resource common_steps_acl_extended.robot
|
|||
Resource payment_operations.robot
|
||||
|
||||
*** Variables ***
|
||||
${OBJECT_PATH} = testfile
|
||||
${EACL_ERR_MSG} = *
|
||||
|
||||
*** 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
|
||||
${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}
|
||||
${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}
|
||||
|
||||
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
|
||||
|
@ -72,12 +71,12 @@ Check eACL Filters, two matchTypes
|
|||
${CID} = Create Container ${WALLET} basic_acl=eacl-public-read-write
|
||||
${FILE_S} ${_} = Generate file ${SIMPLE_OBJ_SIZE}
|
||||
|
||||
${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID} ${EMPTY}
|
||||
${S_OID_OTHER} = Put Object ${WALLET_OTH} ${FILE_S} ${CID} ${EMPTY}
|
||||
${S_OID_USER} = Put Object ${WALLET} ${FILE_S} ${CID}
|
||||
${S_OID_OTHER} = Put Object ${WALLET_OTH} ${FILE_S} ${CID}
|
||||
&{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_OTHER} ${EMPTY} ${OBJECT_PATH}
|
||||
Get Object ${WALLET_OTH} ${CID} ${S_OID_USER}
|
||||
Get Object ${WALLET_OTH} ${CID} ${S_OID_OTHER}
|
||||
|
||||
${filter_value} = Get From Dictionary ${HEADER} ${EACL_OBJ_FILTERS}[${FILTER}]
|
||||
${noneq_filters} = Set Variable obj:${FILTER}!=${filter_value}
|
||||
|
@ -89,6 +88,6 @@ Check eACL Filters, two matchTypes
|
|||
|
||||
Set eACL ${WALLET} ${CID} ${EACL_CUSTOM}
|
||||
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 *
|
||||
... Get Object ${WALLET_OTH} ${CID} ${S_OID_USER} ${EMPTY} ${OBJECT_PATH}
|
||||
... Get Object ${WALLET_OTH} ${CID} ${S_OID_USER}
|
||||
|
|
|
@ -48,4 +48,4 @@ Check Private Container
|
|||
# In private container, Inner Ring is allowed to read (Storage Group List and Get),
|
||||
# so using here keyword for read-only container.
|
||||
Run Storage Group Operations On System's Behalf In RO Container
|
||||
... ${PRIV_CID} ${OBJECTS} ${COMPLEXITY}
|
||||
... ${USER_WALLET} ${PRIV_CID} ${OBJECTS} ${COMPLEXITY}
|
||||
|
|
|
@ -43,6 +43,6 @@ Check Public Container
|
|||
Run Storage Group Operations And Expect Success
|
||||
... ${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
|
||||
... ${PUBLIC_CID} ${OBJECTS} ${RUN_TYPE}
|
||||
... ${USER_WALLET} ${PUBLIC_CID} ${OBJECTS} ${RUN_TYPE}
|
||||
|
|
|
@ -52,4 +52,4 @@ Check Read-Only Container
|
|||
... ${USER_WALLET} ${READONLY_CID} ${OBJECTS} ${COMPLEXITY}
|
||||
|
||||
Run Storage Group Operations On System's Behalf in RO Container
|
||||
... ${READONLY_CID} ${OBJECTS} ${COMPLEXITY}
|
||||
... ${USER_WALLET} ${READONLY_CID} ${OBJECTS} ${COMPLEXITY}
|
||||
|
|
Loading…
Reference in a new issue