frostfs-testcases/robot/testsuites/integration/acl_extended.robot

451 lines
35 KiB
Text
Raw Normal View History

2020-08-13 22:09:00 +00:00
*** Settings ***
Variables ../../variables/common.py
2020-08-19 22:31:16 +00:00
Library Collections
2020-08-13 22:09:00 +00:00
Library ${RESOURCES}/environment.py
Library ${RESOURCES}/neo.py
Library ${RESOURCES}/neofs.py
*** Variables ***
&{FILE_USR_HEADER} = key1=1 key2='abc1'
&{FILE_USR_HEADER_DEL} = key1=del key2=del
&{FILE_OTH_HEADER} = key1=oth key2=oth
*** Test cases ***
2020-08-19 22:31:16 +00:00
Extended ACL Operations
2020-08-13 22:09:00 +00:00
[Documentation] Testcase to validate NeoFS operations with extended ACL.
[Tags] ACL NeoFS NeoCLI
[Timeout] 20 min
Generate Keys
Generate file
2020-08-19 22:31:16 +00:00
Prepare eACL Role rules
2020-08-13 22:09:00 +00:00
Check Actions
2020-08-19 22:31:16 +00:00
Check Filters
2020-08-13 22:09:00 +00:00
*** Keywords ***
Check Actions
Check eACL Deny and Allow All Other
Check eACL Deny and Allow All User
Check eACL Deny and Allow All System
Check eACL Deny All Other and Allow All Pubkey
2020-08-19 22:31:16 +00:00
Check Filters
Check eACL MatchType String Equal
Check eACL MatchType String Not Equal
2020-08-13 22:09:00 +00:00
2020-08-19 22:31:16 +00:00
Check eACL MatchType String Equal
${CID} = Create Container Public
${S_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER}
${HEADER} = Head object ${USER_KEY} ${CID} ${S_OID_USER} ${True}
&{SYS_HEADER_PARSED} = Parse Object System Header ${HEADER}
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object ID
${ID_value} = Get From Dictionary ${SYS_HEADER_PARSED} ID
${ID_value_hex} = Convert Str to Hex Str with Len ${ID_value}
Set custom eACL ${USER_KEY} ${CID} 000100000002000000010001000000020000000100024944 ${ID_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object CID
${CID_value} = Get From Dictionary ${SYS_HEADER_PARSED} CID
${CID_value_hex} = Convert Str to Hex Str with Len ${CID_value}
Set custom eACL ${USER_KEY} ${CID} 00010000000200000001000100000002000000010003434944 ${CID_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object OwnerID
${OwnerID_value} = Get From Dictionary ${SYS_HEADER_PARSED} OwnerID
${OwnerID_value_hex} = Convert Str to Hex Str with Len ${OwnerID_value}
Set custom eACL ${USER_KEY} ${CID} 000100000002000000010001000000020000000100084f574e45525f4944 ${OwnerID_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object Version
${Version_value} = Get From Dictionary ${SYS_HEADER_PARSED} Version
${Version_value_hex} = Convert Str to Hex Str with Len ${Version_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000001000756455253494f4e ${Version_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
2020-08-13 22:09:00 +00:00
2020-08-19 22:31:16 +00:00
Log Set eACL for Deny GET operation with StringEqual Object PayloadLength
${Payload_value} = Get From Dictionary ${SYS_HEADER_PARSED} PayloadLength
${Payload_value_hex} = Convert Str to Hex Str with Len ${Payload_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000001000e5041594c4f41445f4c454e475448 ${Payload_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object CreatedAtUnixTime
${AtUnixTime_value} = Get From Dictionary ${SYS_HEADER_PARSED} CreatedAtUnixTime
${AtUnixTime_value_hex} = Convert Str to Hex Str with Len ${AtUnixTime_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000001000c435245415445445f554e4958 ${AtUnixTime_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object CreatedAtEpoch
${AtEpoch_value} = Get From Dictionary ${SYS_HEADER_PARSED} CreatedAtEpoch
${AtEpoch_value_hex} = Convert Str to Hex Str with Len ${AtEpoch_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000001000d435245415445445f45504f4348 ${AtEpoch_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object Extended User Header
${S_OID_USER_OTH} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Set eACL ${USER_KEY} ${CID} 000100000002000000010001000000030000000100046b65793200062761626331270001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER_OTH} local_file_eacl
Check eACL MatchType String Not Equal
2020-08-13 22:09:00 +00:00
${CID} = Create Container Public
2020-08-19 22:31:16 +00:00
${FILE_S_2} = Generate file of bytes 2048
2020-08-13 22:09:00 +00:00
${S_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER}
2020-08-19 22:31:16 +00:00
# Sleep for 1 epoch
Sleep 30sec
${S_OID_OTHER} = Put object to NeoFS ${OTHER_KEY} ${FILE_S_2} ${CID} &{FILE_OTH_HEADER}
${HEADER} = Head object ${USER_KEY} ${CID} ${S_OID_USER} ${True}
Head object ${USER_KEY} ${CID} ${S_OID_OTHER} ${True}
&{SYS_HEADER_PARSED} = Parse Object System Header ${HEADER}
2020-08-13 22:09:00 +00:00
2020-08-19 22:31:16 +00:00
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Log Set eACL for Deny GET operation with StringNotEqual Object ID
${ID_value} = Get From Dictionary ${SYS_HEADER_PARSED} ID
${ID_value_hex} = Convert Str to Hex Str with Len ${ID_value}
Set custom eACL ${USER_KEY} ${CID} 000100000002000000010001000000020000000200024944 ${ID_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object CID
${CID_value} = Get From Dictionary ${SYS_HEADER_PARSED} CID
${CID_value_hex} = Convert Str to Hex Str with Len ${CID_value}
Set custom eACL ${USER_KEY} ${CID} 00010000000200000001000100000002000000020003434944 ${CID_value_hex} 0001000000030000
Sleep 15sec
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object OwnerID
${OwnerID_value} = Get From Dictionary ${SYS_HEADER_PARSED} OwnerID
${OwnerID_value_hex} = Convert Str to Hex Str with Len ${OwnerID_value}
Set custom eACL ${USER_KEY} ${CID} 000100000002000000010001000000020000000200084f574e45525f4944 ${OwnerID_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object Version
${Version_value} = Get From Dictionary ${SYS_HEADER_PARSED} Version
${Version_value_hex} = Convert Str to Hex Str with Len ${Version_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000002000756455253494f4e ${Version_value_hex} 0001000000030000
Sleep 15sec
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Log Set eACL for Deny GET operation with StringEqual Object PayloadLength
${Payload_value} = Get From Dictionary ${SYS_HEADER_PARSED} PayloadLength
${Payload_value_hex} = Convert Str to Hex Str with Len ${Payload_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000002000e5041594c4f41445f4c454e475448 ${Payload_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
2020-08-13 22:09:00 +00:00
2020-08-19 22:31:16 +00:00
Log Set eACL for Deny GET operation with StringEqual Object CreatedAtUnixTime
${AtUnixTime_value} = Get From Dictionary ${SYS_HEADER_PARSED} CreatedAtUnixTime
${AtUnixTime_value_hex} = Convert Str to Hex Str with Len ${AtUnixTime_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000002000c435245415445445f554e4958 ${AtUnixTime_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
2020-08-13 22:09:00 +00:00
2020-08-19 22:31:16 +00:00
Log Set eACL for Deny GET operation with StringEqual Object CreatedAtEpoch
${AtEpoch_value} = Get From Dictionary ${SYS_HEADER_PARSED} CreatedAtEpoch
${AtEpoch_value_hex} = Convert Str to Hex Str with Len ${AtEpoch_value}
Set custom eACL ${USER_KEY} ${CID} 0001000000020000000100010000000200000002000d435245415445445f45504f4348 ${AtEpoch_value_hex} 0001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
2020-08-13 22:09:00 +00:00
2020-08-19 22:31:16 +00:00
Log Set eACL for Deny GET operation with StringEqual Object Extended User Header
${S_OID_USER_OTH} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Set eACL ${USER_KEY} ${CID} 000100000002000000010001000000030000000200046b65793200062761626331270001000000030000
Sleep 15sec
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_OTHER} local_file_eacl
Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
2020-08-13 22:09:00 +00:00
Generate Keys
${USER_KEY_GEN} = Generate Neo private key
${OTHER_KEY_GEN} = Generate Neo private key
${EACL_KEY_GEN} = Form Privkey from String 782676b81a35c5f07325ec523e8521ee4946b6e5d4c6cd652dd0c3ba51ce03de
Get Neo public key ${EACL_KEY_GEN}
${SYSTEM_KEY_GEN} = Form Privkey from String c428b4a06f166fde9f8afcf918194acdde35aa2612ecf42fe0c94273425ded21
${SYSTEM_KEY_GEN_SN} = Form Privkey from String 0fa21a94be2227916284e4b3495180d9c93d04f095fe9d5a86f22044f5c411d2
Set Global Variable ${USER_KEY} ${USER_KEY_GEN}
Set Global Variable ${OTHER_KEY} ${OTHER_KEY_GEN}
Set Global Variable ${EACL_KEY} ${EACL_KEY_GEN}
Set Global Variable ${SYSTEM_KEY} ${SYSTEM_KEY_GEN}
Set Global Variable ${SYSTEM_KEY_SN} ${SYSTEM_KEY_GEN_SN}
Create Container Public
Log Create Public Container
${PUBLIC_CID_GEN} = Create container ${USER_KEY} 0x2FFFFFFF
[Return] ${PUBLIC_CID_GEN}
Generate file
# Generate small file
${FILE_S_GEN} = Generate file of bytes 1024
Set Global Variable ${FILE_S} ${FILE_S_GEN}
2020-08-19 22:31:16 +00:00
2020-08-13 22:09:00 +00:00
2020-08-19 22:31:16 +00:00
Prepare eACL Role rules
Log Set eACL for different Role cases
2020-08-13 22:09:00 +00:00
Set Global Variable ${EACL_DENY_ALL_OTHER} 0007000000020000000100000001000000030000000000020000000300000001000000030000000000020000000200000001000000030000000000020000000500000001000000030000000000020000000400000001000000030000000000020000000600000001000000030000000000020000000700000001000000030000
Set Global Variable ${EACL_ALLOW_ALL_OTHER} 0007000000010000000100000001000000030000000000010000000300000001000000030000000000010000000200000001000000030000000000010000000500000001000000030000000000010000000400000001000000030000000000010000000600000001000000030000000000010000000700000001000000030000
Set Global Variable ${EACL_DENY_ALL_USER} 0007000000020000000100000001000000010000000000020000000300000001000000010000000000020000000200000001000000010000000000020000000500000001000000010000000000020000000400000001000000010000000000020000000600000001000000010000000000020000000700000001000000010000
Set Global Variable ${EACL_ALLOW_ALL_USER} 0007000000010000000100000001000000010000000000010000000300000001000000010000000000010000000200000001000000010000000000010000000500000001000000010000000000010000000400000001000000010000000000010000000600000001000000010000000000010000000700000001000000010000
Set Global Variable ${EACL_DENY_ALL_SYSTEM} 0007000000020000000100000001000000020000000000020000000300000001000000020000000000020000000200000001000000020000000000020000000500000001000000020000000000020000000400000001000000020000000000020000000600000001000000020000000000020000000700000001000000020000
Set Global Variable ${EACL_ALLOW_ALL_SYSTEM} 0007000000010000000100000001000000020000000000010000000300000001000000020000000000010000000200000001000000020000000000010000000500000001000000020000000000010000000400000001000000020000000000010000000600000001000000020000000000010000000700000001000000020000
Set Global Variable ${EACL_ALLOW_ALL_Pubkey} 000e000000010000000100000001000000000001002103db43cba61ef948a65c20b326b9409911341436478dfdd7472c9af6b10bb60000000000010000000300000001000000000001002103db43cba61ef948a65c20b326b9409911341436478dfdd7472c9af6b10bb60000000000010000000200000001000000000001002103db43cba61ef948a65c20b326b9409911341436478dfdd7472c9af6b10bb60000000000010000000500000001000000000001002103db43cba61ef948a65c20b326b9409911341436478dfdd7472c9af6b10bb60000000000010000000400000001000000000001002103db43cba61ef948a65c20b326b9409911341436478dfdd7472c9af6b10bb60000000000010000000600000001000000000001002103db43cba61ef948a65c20b326b9409911341436478dfdd7472c9af6b10bb60000000000010000000700000001000000000001002103db43cba61ef948a65c20b326b9409911341436478dfdd7472c9af6b10bb60000000000020000000100000001000000030000000000020000000300000001000000030000000000020000000200000001000000030000000000020000000500000001000000030000000000020000000400000001000000030000000000020000000600000001000000030000000000020000000700000001000000030000
Check eACL Deny and Allow All User
Check eACL Deny and Allow All ${USER_KEY} ${EACL_DENY_ALL_USER} ${EACL_ALLOW_ALL_USER}
Check eACL Deny and Allow All Other
Check eACL Deny and Allow All ${OTHER_KEY} ${EACL_DENY_ALL_OTHER} ${EACL_ALLOW_ALL_OTHER}
Check eACL Deny and Allow All System
${CID} = Create Container Public
${S_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER}
${D_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER_DEL}
@{S_OBJ_H} = Create List ${S_OID_USER}
# By discussion, IR can not make any operations instead of HEAD, SEARCH and GET RANGE HASH at the current moment
Run Keyword And Expect Error *
... Put object to NeoFS ${SYSTEM_KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Put object to NeoFS ${SYSTEM_KEY_SN} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Run Keyword And Expect Error *
... Get object from NeoFS ${SYSTEM_KEY} ${CID} ${S_OID_USER} local_file_eacl
Get object from NeoFS ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} local_file_eacl
Search object ${SYSTEM_KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Search object ${SYSTEM_KEY_SN} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Head object ${SYSTEM_KEY} ${CID} ${S_OID_USER} ${True}
Head object ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} ${True}
Run Keyword And Expect Error *
... Get Range ${SYSTEM_KEY} ${CID} ${S_OID_USER} 0:256
Get Range ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} 0:256
Run Keyword And Expect Error *
... Delete object ${SYSTEM_KEY} ${CID} ${D_OID_USER}
Delete object ${SYSTEM_KEY_SN} ${CID} ${D_OID_USER}
Set eACL ${USER_KEY} ${CID} ${EACL_DENY_ALL_SYSTEM}
2020-08-19 22:31:16 +00:00
Sleep 15sec
2020-08-13 22:09:00 +00:00
Run Keyword And Expect Error *
... Put object to NeoFS ${SYSTEM_KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Run Keyword And Expect Error *
... Put object to NeoFS ${SYSTEM_KEY_SN} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Run Keyword And Expect Error *
... Get object from NeoFS ${SYSTEM_KEY} ${CID} ${S_OID_USER} local_file_eacl
Run Keyword And Expect Error *
... Get object from NeoFS ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} local_file_eacl
Run Keyword And Expect Error *
... Search object ${SYSTEM_KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Run Keyword And Expect Error *
... Search object ${SYSTEM_KEY_SN} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Run Keyword And Expect Error *
... Head object ${SYSTEM_KEY} ${CID} ${S_OID_USER} ${True}
Run Keyword And Expect Error *
... Head object ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} ${True}
Run Keyword And Expect Error *
... Get Range ${SYSTEM_KEY} ${CID} ${S_OID_USER} 0:256
Run Keyword And Expect Error *
... Get Range ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} 0:256
Run Keyword And Expect Error *
... Delete object ${SYSTEM_KEY} ${CID} ${S_OID_USER}
Run Keyword And Expect Error *
... Delete object ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER}
Set eACL ${USER_KEY} ${CID} ${EACL_ALLOW_ALL_SYSTEM}
2020-08-19 22:31:16 +00:00
Sleep 15sec
2020-08-13 22:09:00 +00:00
Run Keyword And Expect Error *
... Put object to NeoFS ${SYSTEM_KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Put object to NeoFS ${SYSTEM_KEY_SN} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Run Keyword And Expect Error *
... Get object from NeoFS ${SYSTEM_KEY} ${CID} ${S_OID_USER} local_file_eacl
Get object from NeoFS ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} local_file_eacl
Search object ${SYSTEM_KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Search object ${SYSTEM_KEY_SN} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Head object ${SYSTEM_KEY} ${CID} ${S_OID_USER} ${True}
Head object ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} ${True}
Run Keyword And Expect Error *
... Get Range ${SYSTEM_KEY} ${CID} ${S_OID_USER} 0:256
Get Range ${SYSTEM_KEY_SN} ${CID} ${S_OID_USER} 0:256
Run Keyword And Expect Error *
... Delete object ${SYSTEM_KEY} ${CID} ${D_OID_USER}
Delete object ${SYSTEM_KEY_SN} ${CID} ${D_OID_USER}
Check eACL Deny All Other and Allow All Pubkey
${CID} = Create Container Public
${S_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER}
${D_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER_DEL}
@{S_OBJ_H} = Create List ${S_OID_USER}
Put object to NeoFS ${EACL_KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Get object from NeoFS ${EACL_KEY} ${CID} ${S_OID_USER} local_file_eacl
Search object ${EACL_KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Head object ${EACL_KEY} ${CID} ${S_OID_USER} ${True}
Get Range ${EACL_KEY} ${CID} ${S_OID_USER} 0:256
Delete object ${EACL_KEY} ${CID} ${D_OID_USER}
Set eACL ${USER_KEY} ${CID} ${EACL_ALLOW_ALL_Pubkey}
2020-08-19 22:31:16 +00:00
Sleep 15sec
2020-08-13 22:09:00 +00:00
Run Keyword And Expect Error *
2020-08-19 22:31:16 +00:00
... Put object to NeoFS ${OTHER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER}
2020-08-13 22:09:00 +00:00
Run Keyword And Expect Error *
... Get object from NeoFS ${OTHER_KEY} ${CID} ${S_OID_USER} local_file_eacl
Run Keyword And Expect Error *
... Search object ${OTHER_KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Run Keyword And Expect Error *
... Head object ${OTHER_KEY} ${CID} ${S_OID_USER} ${True}
Run Keyword And Expect Error *
... Get Range ${OTHER_KEY} ${CID} ${S_OID_USER} 0:256
Run Keyword And Expect Error *
... Delete object ${OTHER_KEY} ${CID} ${S_OID_USER}
2020-08-19 22:31:16 +00:00
Put object to NeoFS ${EACL_KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
2020-08-13 22:09:00 +00:00
Get object from NeoFS ${EACL_KEY} ${CID} ${S_OID_USER} local_file_eacl
Search object ${EACL_KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Head object ${EACL_KEY} ${CID} ${S_OID_USER} ${True}
Get Range ${EACL_KEY} ${CID} ${S_OID_USER} 0:256
Delete object ${EACL_KEY} ${CID} ${D_OID_USER}
Check eACL Deny and Allow All
[Arguments] ${KEY} ${DENY_EACL} ${ALLOW_EACL}
${CID} = Create Container Public
${S_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER}
${D_OID_USER} = Put object to NeoFS ${USER_KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER_DEL}
@{S_OBJ_H} = Create List ${S_OID_USER}
Put object to NeoFS ${KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Get object from NeoFS ${KEY} ${CID} ${S_OID_USER} local_file_eacl
Search object ${KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Head object ${KEY} ${CID} ${S_OID_USER} ${True}
Get Range ${KEY} ${CID} ${S_OID_USER} 0:256
Delete object ${KEY} ${CID} ${D_OID_USER}
Set eACL ${USER_KEY} ${CID} ${DENY_EACL}
2020-08-19 22:31:16 +00:00
Sleep 15sec
2020-08-13 22:09:00 +00:00
Run Keyword And Expect Error *
... Put object to NeoFS ${KEY} ${FILE_S} ${CID} &{FILE_USR_HEADER}
Run Keyword And Expect Error *
... Get object from NeoFS ${KEY} ${CID} ${S_OID_USER} local_file_eacl
Run Keyword And Expect Error *
... Search object ${KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Run Keyword And Expect Error *
... Head object ${KEY} ${CID} ${S_OID_USER} ${True}
Run Keyword And Expect Error *
... Get Range ${KEY} ${CID} ${S_OID_USER} 0:256
Run Keyword And Expect Error *
... Delete object ${KEY} ${CID} ${S_OID_USER}
Set eACL ${USER_KEY} ${CID} ${ALLOW_EACL}
2020-08-19 22:31:16 +00:00
Sleep 15sec
2020-08-13 22:09:00 +00:00
Put object to NeoFS ${KEY} ${FILE_S} ${CID} &{FILE_OTH_HEADER}
Get object from NeoFS ${KEY} ${CID} ${S_OID_USER} local_file_eacl
Search object ${KEY} ${CID} ${EMPTY} @{S_OBJ_H} &{FILE_USR_HEADER}
Head object ${KEY} ${CID} ${S_OID_USER} ${True}
Get Range ${KEY} ${CID} ${S_OID_USER} 0:256
Delete object ${KEY} ${CID} ${D_OID_USER}