def test_merge_effectful_fields_no_log_no_context(self): """ The default otter log is returned when no log is passed and there is no effectful context. """ result = merge_effectful_fields(base_dispatcher, None) self.assertIs(result, default_log)
def test_merge_effectful_fields_no_log_with_context(self): """ A log is returned with fields from the default otter log and the context when no log is passed. """ result = merge_effectful_fields(self.disp, None) self.assertEqual(result, matches(IsBoundWith(f1='v', system='otter')))
def perform_delete_group(log, store, dispatcher, intent): """ Perform `DeleteGroup` """ log = merge_effectful_fields(dispatcher, log) group = store.get_scaling_group(log, intent.tenant_id, intent.group_id) return group.delete_group()
def test_merge_effectful_fields_no_context(self): """ The given log is returned unmodified when there's no effectful context. """ log = mock_log() result = merge_effectful_fields(base_dispatcher, log) self.assertIs(result, log)
def test_merge_effectful_fields_log_and_context(self): """ A log is returned with fields from both the passed-in log and the effectful context, with the latter taking precedence. """ log = self.log.bind(f1='v2', passed_log=True) result = merge_effectful_fields(self.disp, log) self.assertEqual(result, matches(IsBoundWith(passed_log=True, f1='v')))
def perform_request(dispatcher, intent): """ Perform the request with treq. :return: A two-tuple of (HTTP Response, content as bytes) """ log = merge_effectful_fields(dispatcher, intent.log) response = yield intent.treq.request(intent.method.upper(), intent.url, headers=intent.headers, data=intent.data, params=intent.params, log=log) content = yield intent.treq.content(response) returnValue((response, content))
def perform_get_scaling_group_info(log, store, dispatcher, intent): """ Perform :obj:`GetScalingGroupInfo`. :param log: bound log :param IScalingGroupCollection store: collection of groups :param dispatcher: dispatcher provided by perform :param GetScalingGroupInfo intent: the intent """ log = merge_effectful_fields(dispatcher, log) group = store.get_scaling_group(log, intent.tenant_id, intent.group_id) manifest = yield group.view_manifest(with_policies=False, with_webhooks=False, get_deleting=True) returnValue((group, manifest))