aboutsummaryrefslogtreecommitdiffstats
path: root/tests/dcaegen2/testcases/resources/robot_library/dmaap_test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dcaegen2/testcases/resources/robot_library/dmaap_test')
-rw-r--r--tests/dcaegen2/testcases/resources/robot_library/dmaap_test/__init__.py0
-rw-r--r--tests/dcaegen2/testcases/resources/robot_library/dmaap_test/requirements.txt23
-rw-r--r--tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSQueue.py52
-rw-r--r--tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSimulator.py62
4 files changed, 137 insertions, 0 deletions
diff --git a/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/__init__.py b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/__init__.py
diff --git a/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/requirements.txt b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/requirements.txt
new file mode 100644
index 00000000..7a687204
--- /dev/null
+++ b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/requirements.txt
@@ -0,0 +1,23 @@
+atomicwrites==1.4.0
+attrs==19.3.0
+backports.functools-lru-cache==1.6.1
+configparser==4.0.2
+contextlib2==0.6.0.post1
+funcsigs==1.0.2
+httplib2==0.18.1
+importlib-metadata==1.7.0
+magicmock==0.3
+mock==3.0.5
+mocker==1.1.1
+more-itertools==5.0.0
+packaging==20.4
+pathlib2==2.3.5
+pluggy==0.13.1
+py==1.9.0
+pyparsing==2.4.7
+pytest==4.6.11
+pytest-mock==2.0.0
+scandir==1.10.0
+six==1.15.0
+wcwidth==0.2.5
+zipp==1.2.0
diff --git a/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSQueue.py b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSQueue.py
new file mode 100644
index 00000000..f278a391
--- /dev/null
+++ b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSQueue.py
@@ -0,0 +1,52 @@
+from Queue import Queue
+import pytest
+from robot_library.dmaap_simulator.DMaaPQueue import DMaaPQueue
+
+wait_sec_for_dequeing_event = 0.1
+test_event = "\"topic\":{\"test\":123}"
+
+
+class TestDMaaPQueue:
+
+ dmaap_simulator = None
+
+ @pytest.fixture(autouse=True, scope="function")
+ def initiate_dmaap_simulator(self):
+ TestDMaaPQueue.dmaap_simulator = DMaaPQueue(Queue())
+ TestDMaaPQueue.dmaap_simulator.set_deque_event_timeout(wait_sec_for_dequeing_event)
+ yield
+
+ def test_when_queue_is_empty_then_deque_returns_none(self):
+ # when
+ event = TestDMaaPQueue.dmaap_simulator.deque_event()
+
+ # then
+ assert event is None
+
+ def test_when_enque_event_then_dequeue_return_same_event(self):
+ # when
+ TestDMaaPQueue.dmaap_simulator.enque_event(test_event)
+ event = TestDMaaPQueue.dmaap_simulator.deque_event()
+
+ # then
+ assert event == test_event
+
+ def test_when_enque_and_dequeue_event_then_deque_return_none(self):
+ # when
+ TestDMaaPQueue.dmaap_simulator.enque_event(test_event)
+ TestDMaaPQueue.dmaap_simulator.deque_event()
+ event = TestDMaaPQueue.dmaap_simulator.deque_event()
+
+ # then
+ assert event is None
+
+ def test_when_enque_few_events_and_clean_up_then_dequeu_return_none(self):
+ # when
+ TestDMaaPQueue.dmaap_simulator.enque_event(test_event)
+ TestDMaaPQueue.dmaap_simulator.enque_event(test_event)
+ TestDMaaPQueue.dmaap_simulator.enque_event(test_event)
+ TestDMaaPQueue.dmaap_simulator.clean_up_event()
+ event = TestDMaaPQueue.dmaap_simulator.deque_event()
+
+ # then
+ assert event is None
diff --git a/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSimulator.py b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSimulator.py
new file mode 100644
index 00000000..82f95ff8
--- /dev/null
+++ b/tests/dcaegen2/testcases/resources/robot_library/dmaap_test/test_DMaaPSimulator.py
@@ -0,0 +1,62 @@
+import sys
+import pytest
+from mock import MagicMock
+
+sys.modules['robot'] = MagicMock()
+sys.modules['robot.api'] = MagicMock()
+sys.modules['robot.api.logger'] = MagicMock()
+from robot_library.DmaapLibrary import DmaapLibrary
+
+wait_sec_for_dequeing_event = 0.1
+test_event = "{\"test\":\"123\"}"
+test_topic = "topic"
+test_message = "\"" + test_topic + "\":" + test_event
+
+
+class TestDMaaPSimulator:
+
+ @pytest.fixture(autouse=True, scope="class")
+ def initiate_dmaap_simulator(self):
+ DmaapLibrary.setup_dmaap_server()
+ DmaapLibrary.dmaap_queue.set_deque_event_timeout(wait_sec_for_dequeing_event)
+ yield
+ assert DmaapLibrary.shutdown_dmaap() == "true"
+
+ @pytest.fixture(autouse=True, scope="function")
+ def clear_dmaap_simulator(self):
+ yield
+ DmaapLibrary.cleanup_ves_events()
+
+ def test_start_stop_dmaap_server(self):
+ # when / then
+ assert DmaapLibrary.dmaap_queue is not None
+ assert DmaapLibrary.dmaap_server is not None
+ assert DmaapLibrary.server_thread is not None
+
+ def test_dmaap_server_returns_true_when_event_is_present_on_queue(self):
+ # when
+ DmaapLibrary.dmaap_queue.enque_event(test_message)
+
+ # then
+ assert DmaapLibrary.dmaap_message_receive(test_event) == 'true'
+
+ def test_dmaap_server_returns_true_when_event_is_present_on_given_topic_on_queue(self):
+ # when
+ DmaapLibrary.dmaap_queue.enque_event(test_message)
+
+ # then
+ assert DmaapLibrary.dmaap_message_receive_on_topic(test_event, test_topic) == 'true'
+
+ def test_dmaap_server_returns_timeout_when_event_is_not_present_on_queue(self):
+ # when / then
+ assert DmaapLibrary.dmaap_message_receive(test_event) == 'false'
+
+ def test_dmaap_server_returns_false_when_queue_was_cleared(self):
+ # when
+ DmaapLibrary.dmaap_queue.enque_event(test_message)
+ DmaapLibrary.dmaap_queue.enque_event(test_message)
+ DmaapLibrary.dmaap_queue.enque_event(test_message)
+ DmaapLibrary.cleanup_ves_events()
+
+ # then
+ assert DmaapLibrary.dmaap_message_receive_on_topic(test_event, test_topic) == 'false'