def test_upload_product_usage_data_with_bad_config(self): servers = "255.255.255.255:443:/splice/api/v1/,127.0.0.1:80:/foo/bar/bz,bad_value_missing_end_colon_before_url:80/foo/bar/bz2" cfg = self.create_reporting_config_parser(servers) caught = False try: upload.upload_product_usage_data(cfg=cfg) except BadConfigurationException, e: self.assertEqual(e.msg, "unable to parse " "'bad_value_missing_end_colon_before_url:80/foo/bar/bz2' for reporting server info, " "expected in format of address:port:url") caught = True
def test_upload_product_usage_data(self): servers = "255.255.255.255:443:/splice/api/v1/,127.0.0.1:80:/foo/bar/bz,127.0.0.1:80:/foo/bar/bz2" called_args = [] def mocked_process_product_usage_upload(addr, port, url, limit): called_args.append((addr, port, url, limit)) orig_process_product_usage_upload = upload._process_product_usage_upload try: upload._process_product_usage_upload = mocked_process_product_usage_upload upload.upload_product_usage_data(cfg=self.create_reporting_config_parser(servers)) finally: upload._process_product_usage_upload = orig_process_product_usage_upload # Check we processed each server from config info as expected self.assertEqual(len(called_args), 3) for arg in called_args: self.assertTrue(arg[0] in ["255.255.255.255", "127.0.0.1",]) self.assertTrue(arg[1] in [443, 80]) self.assertTrue(arg[2] in ["/splice/api/v1/", "/foo/bar/bz", "/foo/bar/bz2"]) self.assertEqual(arg[3], 5000)
def upload_product_usage(): _LOG.info("invoked") upload.upload_product_usage_data() _LOG.info("completed")