def should_record_call(self): for operator in self.operators: left, right = Dingus.many(2) operator(left, right) operator_name_without_mangling = operator.__name__.replace('_', '') magic_method_name = '__%s__' % operator_name_without_mangling yield assert_call_was_logged, left, magic_method_name, right
def describe_processing_a_post(): mod.splittype.return_value = Dingus.many(2) mod.splithost.return_value = Dingus.many(2) def adds_headers_from_request_object(): parent = Dingus(addheaders=[("some-header", "some-value")]) req = Dingus(has_header__returns=False) handler = handler_with_parent_and_request(parent, req) assert req.calls("add_unredirected_header", "Some-header", "some-value").once() def describe_without_a_content_header(): parent = Dingus(addheaders=[]) req = Dingus(has_data__returns=True, has_header={"Content-type": False, "Content-length": True}.get) handler = handler_with_parent_and_request(parent, req) def adds_content_header(): assert req.calls("add_unredirected_header", "Content-type", "application/x-www-form-urlencoded").once()
def setup(self): class BaseClassA(DingusWhitelistTestCase): additional_mocks = Dingus.many(3) mock_list = Dingus.many(3) class BaseClassB(DingusWhitelistTestCase): additional_mocks = Dingus.many(3) mock_list = Dingus.many(3) self.subclass_mock_list = Dingus.many(3) self.subclass_additional_mocks = Dingus.many(3) class Subclass(BaseClassA, BaseClassB): additional_mocks = self.subclass_additional_mocks mock_list = self.subclass_mock_list self.BaseClassA = BaseClassA self.BaseClassB = BaseClassB self.Subclass = Subclass
def should_return_dingus_instances_when_asked_for_multiple(self): assert all(isinstance(dingus, Dingus) for dingus in Dingus.many(2))
def should_return_a_dingus_when_asked_for_one(self): assert len(Dingus.many(1)) == 1
def should_return_two_dinguses_when_asked_for_two(self): assert len(Dingus.many(2)) == 2
def assert_returns_same_dingus(self, op): left, right = Dingus.many(2) result = op(left, right) assert result is left
def should_record_call(self): for operator in self.operators: left, right = Dingus.many(2) operator(left, right) magic_method_name = '__%s__' % operator.__name__ yield assert_call_was_logged, left, magic_method_name, right
def assert_returns_new_dingus(self, op): left, right = Dingus.many(2) result = op(left, right) assert result is not left and result is not right
def should_return_dinguses_in_tuple(self): assert isinstance(Dingus.many(2), tuple)
def should_return_nothing_when_asked_for_zero_dinguses(self): assert not Dingus.many(0)