def test_registerservices(self): with MockServerRunner(): with self.create_client(max_retries=0) as dxl_client: dxl_client.connect() apivoid_service = ApiVoidService(TEST_FOLDER) apivoid_service._dxl_client = dxl_client create_service_configfile( config_file_name=APIVOID_CONFIG_FILENAME) apivoid_service._load_configuration() apivoid_service.on_register_services() self.assertTrue(len(apivoid_service._services) == 1) expected_topics = [] for key in ApiVoidService.REQ_TOPICS_DICT: expected_topics.append(key) expected_topics.append( key + "/" + ApiVoidService.REQ_TOPIC_SUFFIX_STATS) self.assertEqual(sorted(expected_topics), sorted(apivoid_service._services[0].topics))
def test_callback_parkeddomain(self): with BaseClientTest.create_client(max_retries=0) as dxl_client: dxl_client.connect() with MockServerRunner() as server_runner: with ApiVoidService(TEST_FOLDER) as apivoid_service: apivoid_service._dxl_client = dxl_client apivoid_service.API_VOID_URL_FORMAT = "http://127.0.0.1:" \ + str(server_runner.mock_server_port) \ + "/{0}/v1/pay-as-you-go/{1}" apivoid_service.run() request_topic = ApiVoidService.REQ_TOPIC_PARKED_DOMAIN req = Request(request_topic) MessageUtils.dict_to_json_payload( req, {ApiVoidCallback.PARAM_HOST: SAMPLE_HOST}) res = apivoid_service._dxl_client.sync_request(req, timeout=30) res_dict = MessageUtils.json_payload_to_dict(res) self.assertDictEqual(SAMPLE_PARKED_DOMAIN, res_dict)
def test_statsremained_example(self): # Modify sample file to include necessary sample data sample_filename = self.BASIC_FOLDER + "/basic_stats_remained.py" with MockServerRunner() as mock_server, \ configure_service(mock_server.mock_server_port): mock_print = self.run_sample(sample_filename) mock_print.assert_any_call(StringDoesNotContain("Error")) # Validate page_load from expected result mock_print.assert_any_call( StringContains(str(SAMPLE_STATS_REMAINED["credits_remained"])))
def test_domainrep_example(self): # Modify sample file to include necessary sample data sample_filename = self.BASIC_FOLDER + "/basic_domain_reputation.py" temp_sample_file = TempSampleFile(sample_filename) with MockServerRunner() as mock_server, \ configure_service(mock_server.mock_server_port): target_line = " MessageUtils.dict_to_json_payload(req, {\"host\": " replacement_line = target_line + "\"" + SAMPLE_HOST + "\"})\n" temp_sample_file.write_file_line(target_line, replacement_line) mock_print = self.run_sample(temp_sample_file.temp_file.name) mock_print.assert_any_call(StringDoesNotContain("Error")) # Validate page_load from expected result mock_print.assert_any_call( StringContains(str(SAMPLE_DOMAIN_REP["credits_remained"])))
def test_dnslookup_example(self): # Modify sample file to include necessary sample data sample_filename = self.BASIC_FOLDER + "/basic_dns_lookup.py" temp_sample_file = TempSampleFile(sample_filename) with MockServerRunner() as mock_server, \ configure_service(mock_server.mock_server_port): target_line = " \"action\": " replacement_line = target_line + "\"" + SAMPLE_ACTION + "\",\n" temp_sample_file.write_file_line(target_line, replacement_line) target_line = " \"host\": " replacement_line = target_line + "\"" + SAMPLE_HOST + "\"\n" temp_sample_file.write_file_line(target_line, replacement_line) mock_print = self.run_sample(temp_sample_file.temp_file.name) mock_print.assert_any_call(StringDoesNotContain("Error")) # Validate page_load from expected result mock_print.assert_any_call( StringContains(str(SAMPLE_DNS_LOOKUP["credits_remained"])))
def test_callback_statsremained(self): with BaseClientTest.create_client(max_retries=0) as dxl_client: dxl_client.connect() with MockServerRunner() as server_runner: with ApiVoidService(TEST_FOLDER) as apivoid_service: apivoid_service._dxl_client = dxl_client apivoid_service.API_VOID_URL_FORMAT = "http://127.0.0.1:" \ + str(server_runner.mock_server_port) \ + "/{0}/v1/pay-as-you-go/{1}" apivoid_service.run() request_topic = ApiVoidService.REQ_TOPIC_IP_REP + "/" + \ ApiVoidService.REQ_TOPIC_SUFFIX_STATS req = Request(request_topic) res = apivoid_service._dxl_client.sync_request(req, timeout=30) res_dict = MessageUtils.json_payload_to_dict(res) self.assertDictEqual(SAMPLE_STATS_REMAINED, res_dict)