def test_that_logging_gets_called(self, mocked_requests_get, mocked_log_info): _app_config = self.get_app_config() mock_german_job = Mock(data=None) url = "%s?password=%s&%s" % (_app_config["ROUTER_RECEIVE_URL"], _app_config["UREPORT_APP_PASSWORD"], mock_german_job.data) worker = ThrottleWorker(_app_config, logger=logging) worker.call_router_receive(None, mock_german_job) mocked_log_info.assert_called_with(mock_german_job, None, url)
def test_that_router_receive_gets_called_with_parameters(self, mocked_requests_get): gearman_worker = None gearman_job = Mock() gearman_job.data = "url-parameters" worker = ThrottleWorker(self.get_app_config()) response = worker.call_router_receive(gearman_worker, gearman_job) mocked_requests_get.assert_called_with("http://random.address/router/receive?password=supersecret&url-parameters") self.assertEqual("ok", response)
def test_that_calling_start_method_on_throttle_work_puts_the_gearman_worker_to_work(self, mocked_work): worker = ThrottleWorker(self.get_app_config()) worker.start() mocked_work.assert_called_with()
import sys from models.throttle_worker import ThrottleWorker import settings import logging app_config = {"GEARMAN_SERVER": settings.GEARMAN_SERVER, "ROUTER_RECEIVE_TASK_NAME": settings.ROUTER_RECEIVE_TASK_NAME, "ROUTER_RECEIVE_URL": settings.ROUTER_RECEIVE_URL, "UREPORT_APP_PASSWORD": settings.UREPORT_APP_PASSWORD } logging.basicConfig(filename=settings.THROTTLE_WORK_LOG_FILE, level=logging.INFO) if len(sys.argv) == 1: print "Worker client id is required." exit() worker_name = "worker-%s" % str(sys.argv[1]) logging.info("Starting worker: %s", worker_name) worker = ThrottleWorker(app_config, worker_name, logging) worker.start()