test: get_data_range

This commit is contained in:
Roman 2025-01-17 19:27:43 +08:00
parent 1025e36a1d
commit 53bb7906af
No known key found for this signature in database
GPG Key ID: B8FE070B54E11B75
4 changed files with 25 additions and 10 deletions

View File

@ -27,5 +27,5 @@ class REST(BaseClient):
def send_dispersal_request(self, data):
return self.rest_call("post", "disperse-data", json.dumps(data))
def get_range(self, app_id, data_range):
return self.rest_call("post", "da/get-range", json.dumps({"app_id": app_id, "data_range": data_range}))
def send_get_range(self, query):
return self.rest_call("post", "da/get-range", json.dumps(query))

View File

@ -148,3 +148,6 @@ class NomosNode:
def send_dispersal_request(self, data):
return self._api.send_dispersal_request(data)
def send_get_data_range_request(self, data):
return self._api.send_get_range(data)

View File

@ -3,18 +3,31 @@ import allure
from src.steps.common import StepsCommon
def prepare_dispersal_data(data):
def prepare_dispersal_request(data, app_id, index):
data_bytes = data.encode("utf-8")
dispersal_data = {"data": list(data_bytes), "metadata": {"app_id": [1] + [0] * 31, "index": [0] * 8}}
return dispersal_data
def prepare_get_range_request(app_id, start_index, end_index):
query_data = {"app_id": app_id, "range": {"start": start_index, "end": end_index}}
return query_data
class StepsDataAvailability(StepsCommon):
@allure.step
def disperse_data(self, data):
dispersal_data = prepare_dispersal_data(data)
def disperse_data(self, data, app_id, index):
request = prepare_dispersal_request(data)
try:
self.node3.send_dispersal_request(dispersal_data)
self.node3.send_dispersal_request(request)
except Exception as ex:
assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex)
@allure.step
def get_data_range(self, app_id, start, end):
query = prepare_get_range_request(app_id, start, end)
try:
self.node2.send_get_data_range_request(query)
except Exception as ex:
assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex)

View File

@ -13,7 +13,6 @@ class TestDataIntegrity(StepsDataAvailability):
print(node)
def test_da_sampling_determines_data_presence(self):
self.disperse_data(DATA_TO_DISPERSE[0])
# Get data from range
# Compare
self.disperse_data(DATA_TO_DISPERSE[0], [0] * 31 + [1], [0] * 8)
received_data = self.get_data_range([0] * 31 + [1], [0] * 8, [0] * 7 + [5])
assert DATA_TO_DISPERSE[0] == received_data