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")
|
status_response = self.rest_call("get", "cryptarchia/info")
|
||||||
return status_response.json()
|
return status_response.json()
|
||||||
|
|
||||||
def disperse_data(self, dispersal_request):
|
def send_dispersal_request(self, data):
|
||||||
return self.rest_call("post", "disperse-data", json.dumps(dispersal_request))
|
return self.rest_call("post", "disperse-data", json.dumps(data))
|
||||||
|
|
||||||
def get_range(self, app_id, data_range):
|
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)
|
matches = self._docker_manager.search_log_for_keywords(self._log_path, keywords, False)
|
||||||
assert not matches, f"Found errors {matches}"
|
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",
|
"race condition",
|
||||||
"double free",
|
"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 = []
|
main_nodes = []
|
||||||
|
|
||||||
def test_da_identify_retrieve_missing_columns(self):
|
def test_da_identify_retrieve_missing_columns(self):
|
||||||
@ -6,9 +13,7 @@ class TestDataIntegrity:
|
|||||||
print(node)
|
print(node)
|
||||||
|
|
||||||
def test_da_sampling_determines_data_presence(self):
|
def test_da_sampling_determines_data_presence(self):
|
||||||
for node in self.main_nodes:
|
self.disperse_data(DATA_TO_DISPERSE[0])
|
||||||
print(node)
|
|
||||||
|
|
||||||
# Disperse data
|
|
||||||
# Get data from range
|
# Get data from range
|
||||||
# Compare
|
# Compare
|
||||||
|
@ -1,24 +1,14 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
from src.env_vars import CFGSYNC, NOMOS, NOMOS_EXECUTOR
|
from src.env_vars import CFGSYNC, NOMOS, NOMOS_EXECUTOR
|
||||||
from src.libs.custom_logger import get_custom_logger
|
from src.libs.custom_logger import get_custom_logger
|
||||||
from src.node.nomos_node import NomosNode
|
from src.node.nomos_node import NomosNode
|
||||||
|
from src.steps.common import StepsCommon
|
||||||
|
|
||||||
logger = get_custom_logger(__name__)
|
logger = get_custom_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class Test2NodeClAlive:
|
class Test2NodeClAlive(StepsCommon):
|
||||||
|
@pytest.mark.usefixtures("setup_main_nodes")
|
||||||
def test_cluster_start(self):
|
def test_cluster_start(self):
|
||||||
|
logger.debug("Two nodes cluster started successfully!")
|
||||||
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
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user