From e8a165c71e1f52266c77b894764227f55583d3a2 Mon Sep 17 00:00:00 2001 From: Florin Barbu Date: Mon, 27 May 2024 17:30:24 +0300 Subject: [PATCH] postgress test --- requirements.txt | 1 + tests/store/test_external_db.py | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index a470d1e0..d2ea5cb5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -29,6 +29,7 @@ pytest-rerunfailures==13.0 pytest-timeout==2.2.0 pytest-xdist==3.5.0 python-dotenv==1.0.1 +pytest-dependency==0.6.0 PyYAML==6.0.1 requests==2.31.0 setuptools==69.0.3 diff --git a/tests/store/test_external_db.py b/tests/store/test_external_db.py index a6239bbd..73872b01 100644 --- a/tests/store/test_external_db.py +++ b/tests/store/test_external_db.py @@ -6,13 +6,25 @@ from src.env_vars import PG_PASS, PG_USER logger = get_custom_logger(__name__) -@pytest.mark.usefixtures("start_postgres_container") class TestExternalDb(StepsStore): - def test_postgres_db(self): - self.setup_first_publishing_node(store="true", relay="true", store_message_db_url=f"postgres://{PG_USER}:{PG_PASS}@postgres:5432/postgres") - self.setup_first_store_node(store="true", relay="true") + postgress_url = f"postgres://{PG_USER}:{PG_PASS}@postgres:5432/postgres" + + @pytest.fixture(scope="function", autouse=True) + def node_postgres_setup(self, store_setup, start_postgres_container): + self.setup_first_publishing_node(store="true", relay="true", store_message_db_url=self.postgress_url) + self.setup_first_store_node(store="false", relay="true") self.subscribe_to_pubsub_topics_via_relay() + + @pytest.mark.dependency(name="test_on_empty_postgress_db") + def test_on_empty_postgress_db(self): message = self.create_message() self.publish_message(message=message) self.check_published_message_is_stored(page_size=5, ascending="true") assert len(self.store_response.messages) == 1 + + @pytest.mark.dependency(depends=["test_on_empty_postgress_db"]) + def test_on_postgress_db_with_one_message(self): + message = self.create_message() + self.publish_message(message=message) + self.check_published_message_is_stored(page_size=5, ascending="true") + assert len(self.store_response.messages) == 2