def test_post_generation(self): call_params = [] def foo(*args, **kwargs): call_params.append(args) call_params.append(kwargs) helpers.build( dict, foo=declarations.PostGeneration(foo), foo__bar=42, blah=42, blah__baz=1, ) self.assertEqual(2, len(call_params)) self.assertEqual(3, len(call_params[0])) # instance, step, context.value self.assertEqual({'bar': 42}, call_params[1])
def test_decorator_simple(self): call_params = [] @helpers.post_generation def foo(*args, **kwargs): call_params.append(args) call_params.append(kwargs) helpers.build( dict, foo=foo, foo__bar=42, blah=42, blah__baz=1, ) self.assertEqual(2, len(call_params)) self.assertEqual(3, len(call_params[0])) # instance, step, context.value self.assertEqual({'bar': 42}, call_params[1])
def report_for_model(self, factory, url): post_params = build(dict, FACTORY_CLASS=factory) post_params.update(getattr(factory, "_rest_params", {})) instance = factory() instance_url = "%s%s/" % (url, instance.pk) return [ self.do_request(url, "get"), self.do_request(instance_url, "get"), self.do_request(instance_url, "patch"), self.do_request(instance_url, "delete"), self.do_request(url, "post", **post_params) ]