Acceptance tests using different clients concurrently. Environment deployed from packages.

Build: #3218 was successful

Job: Spaces basic was successful

user fails to move the trash directory[1oz 1op 1oc-RESt]: Test case result

The below summarizes the result of the test " user fails to move the trash directory[1oz 1op 1oc-RESt]" in build 3,218 of Onedata Products - mixed acceptance pkg - Spaces basic.
Description
user fails to move the trash directory[1oz 1op 1oc-RESt]
Test class
mixed.scenarios.test_spaces_basic
Method
test_user_fails_to_move_the_trash_directory[1oz_1op_1oc-REST]
Jira Issue
Duration
12 secs
Status
Failed (Existing Failure)

Error Log

AssertionError: Unexpected error occurred [400] Bad Request: {"error":{"id":"posix","details":{"errno":"enoent"},"description":"Operation failed with POSIX error: enoent."}}
client = <tests.gui.utils.oneservices.cdmi.CDMIClient object at 0x7f1642f4af40>
user = 'user1'
users = {'admin': <tests.utils.user_utils.AdminUser object at 0x7f16430ccb80>, 'admin2': <tests.utils.user_utils.User object a...s.user_utils.AdminUser object at 0x7f16430a4520>, 'user1': <tests.utils.user_utils.User object at 0x7f16430a4340>, ...}
hosts = {'oneclient-1': {'container-id': 'a1665dfa9522de4c0d029815cb36d9f2e354b51c9bfe5c8f33b894c1bf45b5c9', 'ip': '10.244.216...f59396aa3ba6', 'hostname': 'dev-onezone.default.svc.cluster.local', 'ip': '10.244.216.98', 'name': 'dev-onezone', ...}}
host = 'oneprovider-1'
dir_id = '000000000058FA49677569642374726173685F3762353566316233316636306632373262623835353565326130393239376331636865366237233762353566316233316636306632373262623835353565326130393239376331636865366237'
cdmi = <class 'tests.gui.utils.oneservices.cdmi.CDMIClient'>
err_msg = 'Moved trash dir, but moving should have failed'

    def try_to_move_special_dir_by_id(client, user, users, hosts, host, dir_id,
                                      cdmi, err_msg=None):
        if client.lower() == 'rest':
            try:
                client = cdmi(hosts[host]['ip'], users[user].token)
>               client.move_item_by_id(dir_id, '/new_name')

tests/mixed/steps/rest/onezone/special_dirs.py:132: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <tests.gui.utils.oneservices.cdmi.CDMIClient object at 0x7f1642f4af40>
src_id = '000000000058FA49677569642374726173685F3762353566316233316636306632373262623835353565326130393239376331636865366237233762353566316233316636306632373262623835353565326130393239376331636865366237'
dst_path = '/new_name'

    def move_item_by_id(self, src_id, dst_path):
        item_type = 'container'
        parsed_src_path = f'/cdmi/cdmi_objectid/{src_id}'
        parsed_dst_path = parse_path(dst_path, item_type, add_cdmi_prefix=True)
        headers = {'Content-Type': get_content_type(item_type),
                   'X-CDMI-Specification-Version': self.cdmi_version}
        headers.update(self.auth_header)
        data = {'move': parsed_src_path}
>       return http_put(self.ip, self.port, parsed_dst_path, headers=headers,
                        data=json.dumps(data), default_headers=False)

tests/gui/utils/oneservices/cdmi.py:125: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ip = '10.244.216.100', port = 443, path = '/cdmi/new_name/', use_ssl = True
data = '{"move": "/cdmi/cdmi_objectid/000000000058FA49677569642374726173685F3762353566316233316636306632373262623835353565326130393239376331636865366237233762353566316233316636306632373262623835353565326130393239376331636865366237"}'
headers = {'Content-Type': 'application/cdmi-container', 'X-Auth-Token': 'MDAzM2xvY2F00aW9uIGRldi1vbmV6b25lLmRlZmF1bHQuc3ZjLmNsd...NzU2MzQwMjUwCjAwMmZzaWduYXR1cmUgexV794t8hJV5ftOeHzQJsE7nV6jmJowklFUDEpbQDIAK', 'X-CDMI-Specification-Version': '1.1.1'}
verify = False, cert = None, auth = None, default_headers = False

    def http_put(ip, port, path, use_ssl=True, data=None, headers=None,
                 verify=False, cert=None, auth=None, default_headers=True):
>       return http_request(requests.put, ip, port, path, use_ssl, headers,
                            verify, cert, auth, data, default_headers=default_headers)

tests/utils/rest_utils.py:53: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

http_method = <function put at 0x7f1645f3c280>, ip = '10.244.216.100'
port = 443, path = '/cdmi/new_name/', use_ssl = True
headers = {'Content-Type': 'application/cdmi-container', 'X-Auth-Token': 'MDAzM2xvY2F00aW9uIGRldi1vbmV6b25lLmRlZmF1bHQuc3ZjLmNsd...NzU2MzQwMjUwCjAwMmZzaWduYXR1cmUgexV794t8hJV5ftOeHzQJsE7nV6jmJowklFUDEpbQDIAK', 'X-CDMI-Specification-Version': '1.1.1'}
verify = False, cert = None, auth = None
data = '{"move": "/cdmi/cdmi_objectid/000000000058FA49677569642374726173685F3762353566316233316636306632373262623835353565326130393239376331636865366237233762353566316233316636306632373262623835353565326130393239376331636865366237"}'
default_headers = False, retries = 5

    def http_request(http_method, ip, port, path, use_ssl=True, headers=None,
                     verify=False, cert=None, auth=None, data=None,
                     default_headers=True, retries=5):
        protocol = 'https' if use_ssl else 'http'
        request_headers = DEFAULT_HEADERS.copy() if default_headers else {}
        if headers:
            request_headers.update(headers)
        try:
            response = http_method('{0}://{1}:{2}{3}'.format(protocol, ip, port, path),
                                   verify=verify, headers=request_headers, timeout=40,
                                   cert=cert, auth=auth, data=data)
            if 200 <= response.status_code < 300:
                return response
            else:
>               raise_http_exception(response)

tests/utils/rest_utils.py:89: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

response = <Response [400]>

    def raise_http_exception(response):
        ex_cls = _exceptions.get(response.status_code, HTTPError)
>       raise ex_cls(response)
E       tests.utils.http_exceptions.HTTPBadRequest: [400] Bad Request: {"error":{"id":"posix","details":{"errno":"enoent"},"description":"Operation failed with POSIX error: enoent."}}

tests/utils/http_exceptions.py:15: HTTPBadRequest

During handling of the above exception, another exception occurred:

request = <FixtureRequest for <Function 'test_user_fails_to_move_the_trash_directory[1oz_1op_1oc-REST]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:189: in _execute_scenario
    _execute_step_function(request, scenario, step, step_func)
/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:130: in _execute_step_function
    step_func(**kwargs)
tests/utils/bdd_utils.py:78: in wrapper
    return fun(*ba.args, **ba.kwargs)
tests/mixed/steps/rest/onezone/special_dirs.py:122: in try_to_move_special_dir
    try_to_move_special_dir_by_id(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

client = <tests.gui.utils.oneservices.cdmi.CDMIClient object at 0x7f1642f4af40>
user = 'user1'
users = {'admin': <tests.utils.user_utils.AdminUser object at 0x7f16430ccb80>, 'admin2': <tests.utils.user_utils.User object a...s.user_utils.AdminUser object at 0x7f16430a4520>, 'user1': <tests.utils.user_utils.User object at 0x7f16430a4340>, ...}
hosts = {'oneclient-1': {'container-id': 'a1665dfa9522de4c0d029815cb36d9f2e354b51c9bfe5c8f33b894c1bf45b5c9', 'ip': '10.244.216...f59396aa3ba6', 'hostname': 'dev-onezone.default.svc.cluster.local', 'ip': '10.244.216.98', 'name': 'dev-onezone', ...}}
host = 'oneprovider-1'
dir_id = '000000000058FA49677569642374726173685F3762353566316233316636306632373262623835353565326130393239376331636865366237233762353566316233316636306632373262623835353565326130393239376331636865366237'
cdmi = <class 'tests.gui.utils.oneservices.cdmi.CDMIClient'>
err_msg = 'Moved trash dir, but moving should have failed'

    def try_to_move_special_dir_by_id(client, user, users, hosts, host, dir_id,
                                      cdmi, err_msg=None):
        if client.lower() == 'rest':
            try:
                client = cdmi(hosts[host]['ip'], users[user].token)
                client.move_item_by_id(dir_id, '/new_name')
                raise Exception(err_msg)
            except (HTTPForbidden, HTTPBadRequest) as e:
                ex_err_msg = 'Operation failed with POSIX error: eperm.'
>               assert ex_err_msg in str(e), f'Unexpected error occurred {e}'
E               AssertionError: Unexpected error occurred [400] Bad Request: {"error":{"id":"posix","details":{"errno":"enoent"},"description":"Operation failed with POSIX error: enoent."}}

tests/mixed/steps/rest/onezone/special_dirs.py:136: AssertionError