From 096baf000121d5a6dcd5ef3e40b1c926ce3bc91c Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 25 Feb 2025 15:05:39 +1100 Subject: [PATCH] test: spam protection for upload --- tests/dos_robustness/__init__.py | 0 tests/dos_robustness/dos_robustness.py | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/dos_robustness/__init__.py create mode 100644 tests/dos_robustness/dos_robustness.py diff --git a/tests/dos_robustness/__init__.py b/tests/dos_robustness/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/dos_robustness/dos_robustness.py b/tests/dos_robustness/dos_robustness.py new file mode 100644 index 0000000..f051d1c --- /dev/null +++ b/tests/dos_robustness/dos_robustness.py @@ -0,0 +1,23 @@ +from src.libs.common import delay, to_app_id, to_index +from src.libs.custom_logger import get_custom_logger +from src.steps.da import StepsDataAvailability +from src.test_data import DATA_TO_DISPERSE + +logger = get_custom_logger(__name__) + + +class TestDosRobustness(StepsDataAvailability): + main_nodes = [] + + def test_spam_protection_data_uploads(self): + delay(5) + successful_dispersals = 0 + for i in range(1000): + try: + self.disperse_data(DATA_TO_DISPERSE[0], to_app_id(1), to_index(0)) + successful_dispersals = i + except Exception as ex: + logger.debug(f"Dispersal #{i} was not successful with error {ex}") + break + + assert successful_dispersals < 1000, "More than 1000 consecutive dispersals were successful without any constraint"