Esempio n. 1
0
    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))
Esempio n. 2
0
    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"])))
Esempio n. 6
0
    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)