mirror of
https://github.com/logos-co/nomos-e2e-tests.git
synced 2025-02-24 20:28:22 +00:00
test: use setup_main_nodes fixture
- add disperse_data
This commit is contained in:
parent
a5a3f179af
commit
2fc0cd1974
@ -24,8 +24,8 @@ class REST(BaseClient):
|
||||
status_response = self.rest_call("get", "cryptarchia/info")
|
||||
return status_response.json()
|
||||
|
||||
def disperse_data(self, dispersal_request):
|
||||
return self.rest_call("post", "disperse-data", json.dumps(dispersal_request))
|
||||
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, data_range}))
|
||||
return self.rest_call("post", "da/get-range", json.dumps({"app_id": app_id, "data_range": data_range}))
|
||||
|
@ -145,3 +145,6 @@ class NomosNode:
|
||||
|
||||
matches = self._docker_manager.search_log_for_keywords(self._log_path, keywords, False)
|
||||
assert not matches, f"Found errors {matches}"
|
||||
|
||||
def send_dispersal_request(self, data):
|
||||
return self._api.send_dispersal_request(data)
|
||||
|
19
src/steps/da.py
Normal file
19
src/steps/da.py
Normal file
@ -0,0 +1,19 @@
|
||||
import allure
|
||||
|
||||
from src.steps.common import StepsCommon
|
||||
|
||||
|
||||
def prepare_dispersal_data(data):
|
||||
dispersal_data = {"data": data, "metadata": {"app_id": 10, "index": 0}}
|
||||
return dispersal_data
|
||||
|
||||
|
||||
class StepsDataAvailability(StepsCommon):
|
||||
|
||||
@allure.step
|
||||
def disperse_data(self, data):
|
||||
dispersal_data = prepare_dispersal_data(data)
|
||||
try:
|
||||
self.node3.send_dispersal_request(dispersal_data)
|
||||
except Exception as ex:
|
||||
assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex)
|
@ -24,3 +24,13 @@ LOG_ERROR_KEYWORDS = [
|
||||
"race condition",
|
||||
"double free",
|
||||
]
|
||||
|
||||
DATA_TO_DISPERSE = {
|
||||
"Hello World!",
|
||||
"1234567890",
|
||||
'{"key": "value"}',
|
||||
"这是一些中文",
|
||||
"🚀🌟✨",
|
||||
"Lorem ipsum dolor sit amet",
|
||||
"<html><body>Hello</body></html>",
|
||||
}
|
||||
|
@ -1,4 +1,11 @@
|
||||
class TestDataIntegrity:
|
||||
import pytest
|
||||
|
||||
from src.steps.da import StepsDataAvailability
|
||||
from src.test_data import DATA_TO_DISPERSE
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("setup_main_nodes")
|
||||
class TestDataIntegrity(StepsDataAvailability):
|
||||
main_nodes = []
|
||||
|
||||
def test_da_identify_retrieve_missing_columns(self):
|
||||
@ -6,9 +13,7 @@ class TestDataIntegrity:
|
||||
print(node)
|
||||
|
||||
def test_da_sampling_determines_data_presence(self):
|
||||
for node in self.main_nodes:
|
||||
print(node)
|
||||
self.disperse_data(DATA_TO_DISPERSE[0])
|
||||
|
||||
# Disperse data
|
||||
# Get data from range
|
||||
# Compare
|
||||
|
@ -1,24 +1,14 @@
|
||||
import pytest
|
||||
|
||||
from src.env_vars import CFGSYNC, NOMOS, NOMOS_EXECUTOR
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
from src.node.nomos_node import NomosNode
|
||||
from src.steps.common import StepsCommon
|
||||
|
||||
logger = get_custom_logger(__name__)
|
||||
|
||||
|
||||
class Test2NodeClAlive:
|
||||
class Test2NodeClAlive(StepsCommon):
|
||||
@pytest.mark.usefixtures("setup_main_nodes")
|
||||
def test_cluster_start(self):
|
||||
|
||||
self.node1 = NomosNode(CFGSYNC, "cfgsync")
|
||||
self.node2 = NomosNode(NOMOS, "nomos_node_0")
|
||||
self.node3 = NomosNode(NOMOS_EXECUTOR, "nomos_node_1")
|
||||
|
||||
self.node1.start()
|
||||
self.node2.start()
|
||||
self.node3.start()
|
||||
|
||||
try:
|
||||
self.node2.ensure_ready()
|
||||
self.node3.ensure_ready()
|
||||
except Exception as ex:
|
||||
logger.error(f"REST service did not become ready in time: {ex}")
|
||||
raise
|
||||
logger.debug("Two nodes cluster started successfully!")
|
||||
|
Loading…
x
Reference in New Issue
Block a user