Acceptance tests using different clients concurrently. Environment deployed from packages.
Build: #721 failed
Job: Onepanel failed
revoke space support[1oz 1op 1oc-web GUi-RESt-RESt]: Test case result
The below summarizes the result of the test " revoke space support[1oz 1op 1oc-web GUi-RESt-RESt]" in build 721 of Onedata Products - mixed acceptance pkg - Chrome onepanel tests.
- Description
- revoke space support[1oz 1op 1oc-web GUi-RESt-RESt]
- Test class
- mixed.scenarios.test_onepanel_basic
- Method
- test_revoke_space_support[1oz_1op_1oc-web GUI-REST-REST]
- Jira Issue
-
- Duration
- 2 mins
- Status
- Failed (Existing Failure)
Error Log
tests.mixed.onepanel_client.rest.ApiException: (403) Reason: Forbidden HTTP response headers: HTTPHeaderDict({'access-control-allow-origin': 'https://dev-onezone.default.svc.cluster.local', 'content-length': '382', 'content-type': 'application/json', 'date': 'Fri, 07 Feb 2020 14:09:17 GMT', 'server': 'Cowboy', 'x-frame-options': 'SAMEORIGIN'}) HTTP response body: {"error":{"id":"errorOnNodes","details":{"hostnames":["dev-oneprovider-krakow-0.dev-oneprovider-krakow.default.svc.cluster.local"],"error":{"id":"forbidden","description":"You are not authorized to perform this operation."}},"description":"Error on nodes dev-oneprovider-krakow-0.dev-oneprovider-krakow.default.svc.cluster.local: You are not authorized to perform this operation."}} request = <FixtureRequest for <Function 'test_revoke_space_support[1oz_1op_1oc-web GUI-REST-REST]'>> @pytest.mark.usefixtures(*function_args) def scenario_wrapper(request): > _execute_scenario(feature, scenario, request, encoding) /usr/local/lib/python3.6/dist-packages/pytest_bdd/scenario.py:227: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/local/lib/python3.6/dist-packages/pytest_bdd/scenario.py:189: in _execute_scenario _execute_step_function(request, scenario, step, step_func) /usr/local/lib/python3.6/dist-packages/pytest_bdd/scenario.py:130: in _execute_step_function step_func(**kwargs) tests/mixed/steps/onepanel_basic.py:401: in revoke_space_support_in_op_panel onepanel_credentials) tests/mixed/steps/rest/onepanel/spaces.py:43: in revoke_space_support_in_op_panel_using_rest provider_api.revoke_space_support(space.space_id) tests/mixed/onepanel_client/apis/oneprovider_api.py:5848: in revoke_space_support (data) = self.revoke_space_support_with_http_info(id, **kwargs) tests/mixed/onepanel_client/apis/oneprovider_api.py:5922: in revoke_space_support_with_http_info collection_formats=collection_formats) tests/mixed/onepanel_client/api_client.py:323: in call_api _return_http_data_only, collection_formats, _preload_content, _request_timeout) tests/mixed/onepanel_client/api_client.py:150: in __call_api _request_timeout=_request_timeout) tests/mixed/onepanel_client/api_client.py:391: in request body=body) tests/mixed/onepanel_client/rest.py:238: in DELETE body=body) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.mixed.onepanel_client.rest.RESTClientObject object at 0x7f8bb32785c0> method = 'DELETE' url = 'https://dev-oneprovider-krakow.default.svc.cluster.local:9443/api/v3/onepanel/provider/spaces/57f35175915f69845f32ecb2ca0f566dch7104' query_params = {} headers = {'Authorization': 'Basic b25lcGFuZWw6cGFzc3dvcmQ=', 'Content-Type': 'application/json', 'User-Agent': 'Swagger-Codegen/__PACKAGE_VERSION__/python'} body = None, post_params = {}, _preload_content = True, _request_timeout = None def request(self, method, url, query_params=None, headers=None, body=None, post_params=None, _preload_content=True, _request_timeout=None): """ :param method: http request method :param url: http request url :param query_params: query parameters in the url :param headers: http request headers :param body: request json body, for `application/json` :param post_params: request post parameters, `application/x-www-form-urlencoded` and `multipart/form-data` :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. """ method = method.upper() assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH', 'OPTIONS'] if post_params and body: raise ValueError( "body parameter cannot be used with post_params parameter." ) post_params = post_params or {} headers = headers or {} timeout = None if _request_timeout: if isinstance(_request_timeout, (int, ) if PY3 else (int, long)): timeout = urllib3.Timeout(total=_request_timeout) elif isinstance(_request_timeout, tuple) and len(_request_timeout) == 2: timeout = urllib3.Timeout(connect=_request_timeout[0], read=_request_timeout[1]) if 'Content-Type' not in headers: headers['Content-Type'] = 'application/json' try: # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: if query_params: url += '?' + urlencode(query_params) if re.search('json', headers['Content-Type'], re.IGNORECASE): request_body = None if body: request_body = json.dumps(body) r = self.pool_manager.request(method, url, body=request_body, preload_content=_preload_content, timeout=timeout, headers=headers) elif headers['Content-Type'] == 'application/x-www-form-urlencoded': r = self.pool_manager.request(method, url, fields=post_params, encode_multipart=False, preload_content=_preload_content, timeout=timeout, headers=headers) elif headers['Content-Type'] == 'multipart/form-data': # must del headers['Content-Type'], or the correct Content-Type # which generated by urllib3 will be overwritten. del headers['Content-Type'] r = self.pool_manager.request(method, url, fields=post_params, encode_multipart=True, preload_content=_preload_content, timeout=timeout, headers=headers) # Pass a `string` parameter directly in the body to support # other content types than Json when `body` argument is provided # in serialized form elif isinstance(body, str): request_body = body r = self.pool_manager.request(method, url, body=request_body, preload_content=_preload_content, timeout=timeout, headers=headers) else: # Cannot generate the request from given parameters msg = """Cannot prepare a request message for provided arguments. Please check that your arguments match declared content type.""" raise ApiException(status=0, reason=msg) # For `GET`, `HEAD` else: r = self.pool_manager.request(method, url, fields=query_params, preload_content=_preload_content, timeout=timeout, headers=headers) except urllib3.exceptions.SSLError as e: msg = "{0}\n{1}".format(type(e).__name__, str(e)) raise ApiException(status=0, reason=msg) if _preload_content: r = RESTResponse(r) # In the python 3, the response.data is bytes. # we need to decode it to string. if PY3: r.data = r.data.decode('utf8') # log response body logger.debug("response body: %s", r.data) if r.status not in range(200, 206): > raise ApiException(http_resp=r) E tests.mixed.onepanel_client.rest.ApiException: (403) E Reason: Forbidden E HTTP response headers: HTTPHeaderDict({'access-control-allow-origin': 'https://dev-onezone.default.svc.cluster.local', 'content-length': '382', 'content-type': 'application/json', 'date': 'Fri, 07 Feb 2020 14:09:17 GMT', 'server': 'Cowboy', 'x-frame-options': 'SAMEORIGIN'}) E HTTP response body: {"error":{"id":"errorOnNodes","details":{"hostnames":["dev-oneprovider-krakow-0.dev-oneprovider-krakow.default.svc.cluster.local"],"error":{"id":"forbidden","description":"You are not authorized to perform this operation."}},"description":"Error on nodes dev-oneprovider-krakow-0.dev-oneprovider-krakow.default.svc.cluster.local: You are not authorized to perform this operation."}} tests/mixed/onepanel_client/rest.py:204: ApiException