diff --git a/src/api_clients/rest.py b/src/api_clients/rest.py index 8612ff1..65b593f 100644 --- a/src/api_clients/rest.py +++ b/src/api_clients/rest.py @@ -20,11 +20,12 @@ class REST(BaseClient): return self.make_request(method, url, headers=headers, data=payload) def info(self): - status_response = self.rest_call("get", "cryptarchia/info") - return status_response.json() + response = self.rest_call("get", "cryptarchia/info") + return response.json() def send_dispersal_request(self, data): - return self.rest_call("post", "disperse-data", json.dumps(data)) + response = self.rest_call("post", "disperse-data", json.dumps(data)) + return response def send_get_range(self, query): response = self.rest_call("post", "da/get-range", json.dumps(query)) diff --git a/src/client/proxy_client.py b/src/client/proxy_client.py index 77c0b78..86dc908 100644 --- a/src/client/proxy_client.py +++ b/src/client/proxy_client.py @@ -1,6 +1,4 @@ -import json import os -import re from src.api_clients.invalid_rest import InvalidRest from src.api_clients.rest import REST @@ -33,6 +31,7 @@ class ProxyClient: self._container_name = container_name self._container = None self._api = None + self._invalid_api = None cwd = os.getcwd() self._volumes = [cwd + "/" + volume for volume in self._volumes] @@ -44,6 +43,7 @@ class ProxyClient: self._external_ports = self._docker_manager.generate_ports(count=1) self._tcp_port = self._external_ports[0] self._api = REST(self._tcp_port) + self._invalid_api = InvalidRest(self._tcp_port) logger.debug(f"Internal ports {self._internal_ports}") @@ -77,12 +77,6 @@ class ProxyClient: logger.info(f"Started container {self._container_name} from image {self._image_name}.") DS.client_nodes.append(self) - def set_rest_api(self): - self._api = REST(self._tcp_port) - - def set_invalid_rest_api(self): - self._api = InvalidRest(self._tcp_port) - @retry(stop=stop_after_delay(5), wait=wait_fixed(0.1), reraise=True) def stop(self): self._container = stop(self._container) @@ -94,8 +88,14 @@ class ProxyClient: def name(self): return self._container_name - def send_dispersal_request(self, data): + def send_dispersal_request(self, data, send_invalid=False): + if send_invalid: + return self._invalid_api.send_dispersal_request(data) + return self._api.send_dispersal_request(data) - def send_get_data_range_request(self, data): + def send_get_data_range_request(self, data, send_invalid=False): + if send_invalid: + return self._invalid_api.send_get_range(data) + return self._api.send_get_range(data) diff --git a/src/steps/da.py b/src/steps/da.py index e768c7c..5bf8f98 100644 --- a/src/steps/da.py +++ b/src/steps/da.py @@ -56,11 +56,7 @@ class StepsDataAvailability(StepsCommon): if client_node is None: response = executor.send_dispersal_request(request) else: - if send_invalid: - client_node.set_invalid_rest_api() - else: - client_node.set_rest_api() - response = client_node.send_dispersal_request(request) + response = client_node.send_dispersal_request(request, send_invalid=send_invalid) except Exception as ex: assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex) @@ -81,11 +77,7 @@ class StepsDataAvailability(StepsCommon): if client_node is None: response = node.send_get_data_range_request(query) else: - if send_invalid: - client_node.set_invalid_rest_api() - else: - client_node.set_rest_api() - response = client_node.send_get_data_range_request(query) + response = client_node.send_get_data_range_request(query, send_invalid=send_invalid) except Exception as ex: assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex)