Move CSIT to integration/csit repo
[integration/csit.git] / tests / dcaegen2-collectors-hv-ves / testcases / libraries / DcaeAppSimulatorLibrary.py
1 import HttpRequests
2 from robot.api import logger
3
4 DCAE_APP_NAME = "DCAE App"
5
6
7 class DcaeAppSimulatorLibrary:
8
9     def configure_dcae_app_simulator_to_consume_messages_from_topics(self, app_url, topics):
10         logger.info("PUT at: " + app_url)
11         resp = HttpRequests.session_without_env().put(app_url, data={'topics': topics}, timeout=10)
12         HttpRequests.checkStatusCode(resp.status_code, DCAE_APP_NAME)
13
14     def assert_DCAE_app_consumed(self, app_url, expected_messages_amount):
15         logger.info("GET at: " + app_url)
16         resp = HttpRequests.session_without_env().get(app_url, timeout=10)
17         HttpRequests.checkStatusCode(resp.status_code, DCAE_APP_NAME)
18
19         assert resp.content == expected_messages_amount, \
20             "Messages consumed by simulator: " + resp.content + " expecting: " + expected_messages_amount
21
22     def assert_DCAE_app_consumed_less_equal_than(self, app_url, messages_threshold):
23         logger.info("GET at: " + app_url)
24         resp = HttpRequests.session_without_env().get(app_url, timeout=10)
25         HttpRequests.checkStatusCode(resp.status_code, DCAE_APP_NAME)
26
27         logger.debug("Messages consumed by simulator: " + resp.content +
28                      " expecting more than 0 and less/equal than " + messages_threshold)
29
30         assert 0 < int(resp.content) <= int(messages_threshold), \
31             "Messages consumed by simulator: " + resp.content + \
32             " expecting more than 0 and less/equal than " + messages_threshold
33
34     def reset_DCAE_app_simulator(self, app_url):
35         logger.info("DELETE at: " + app_url)
36         resp = HttpRequests.session_without_env().delete(app_url, timeout=10)
37         HttpRequests.checkStatusCode(resp.status_code, DCAE_APP_NAME)
38
39     def assert_DCAE_app_consumed_proper_messages(self, app_url, message_filepath):
40         logger.info("POST at: " + app_url)
41         file = open(message_filepath, "rb")
42         data = file.read()
43         file.close()
44
45         resp = HttpRequests.session_without_env().post(app_url, data=data, timeout=10)
46         HttpRequests.checkStatusCode(resp.status_code, DCAE_APP_NAME)