def setUp(self): super(SystemAPITest, self).setUp() self.mapper = Mapper() self.dispatcher = Dispatcher(self.mapper) self.context = CallContext( user=None, mapper=self.mapper, dispatcher=self.dispatcher) self.system_api = SystemAPI(self.context)
def help(request, mapper, template_name="linaro_django_xmlrpc/api.html"): # pylint: disable=redefined-builtin context = CallContext( user=None, mapper=mapper, dispatcher=None) system = SystemAPI(context) if settings.HTTPS_XML_RPC: scheme = "https" else: scheme = request.META.get('REQUEST_SCHEME', "http") dashboard_methods = [] scheduler_methods = [] results_methods = [] system_methods = [] for method in system.listMethods(): if 'dashboard' in method: dashboard_methods.append(method) elif 'scheduler' in method: scheduler_methods.append(method) elif 'results' in method: results_methods.append(method) else: system_methods.append(method) methods = { 'dashboard': [ { 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in dashboard_methods ], 'scheduler': [ { 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in scheduler_methods ], 'results': [ { 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in results_methods ], 'system': [ { 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in system_methods ]} domain = Site.objects.get_current().domain return render(request, template_name, {'methods': methods, 'context_help': ['data-export'], 'site_url': "{scheme}://{domain}".format(scheme=scheme, domain=domain)})
def test_lookup_passes_context_to_exposed_api(self): class TestAPI(ExposedAPI): def foo(self): pass self.mapper.register(TestAPI, 'API') context = CallContext(None, self.mapper, None) retval = self.mapper.lookup('API.foo', context) # bound method seems to have im_self attribute pointing back to self self.assertIs(retval.im_self._context, context)
def help(request, mapper, template_name="linaro_django_xmlrpc/api.html"): # pylint: disable=redefined-builtin context = CallContext(user=None, mapper=mapper, dispatcher=None) system = SystemAPI(context) if settings.HTTPS_XML_RPC: scheme = "https" else: scheme = request.META.get("REQUEST_SCHEME", "http") scheduler_methods = [] results_methods = [] system_methods = [] for method in system.listMethods(): if "scheduler" in method: scheduler_methods.append(method) elif "results" in method: results_methods.append(method) else: system_methods.append(method) methods = { "scheduler": [{ "name": method, "section": method.rsplit(".", 1)[0] if "." in method else "", "signature": system.methodSignature(method), "help": system.methodHelp(method), } for method in scheduler_methods], "results": [{ "name": method, "signature": system.methodSignature(method), "help": system.methodHelp(method), } for method in results_methods], "system": [{ "name": method, "signature": system.methodSignature(method), "help": system.methodHelp(method), } for method in system_methods], } domain = Site.objects.get_current().domain return render( request, template_name, { "methods": methods, "context_help": ["data-export"], "bread_crumb_trail": BreadCrumbTrail.leading_to(help), "site_scheme": scheme, "site_domain": domain, "site_url": "{scheme}://{domain}".format(scheme=scheme, domain=domain), }, )
def help(request, mapper, template_name="linaro_django_xmlrpc/api.html"): context = CallContext(user=None, mapper=mapper, dispatcher=None, request=request) system = SystemAPI(context) methods = [{ 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in system.listMethods()] return render_to_response( template_name, { 'methods': methods, 'site_url': "http://{domain}".format(domain=Site.objects.get_current().domain) }, RequestContext(request))
def help(request, mapper, template_name="linaro_django_xmlrpc/api.html"): context = CallContext(user=None, mapper=mapper, dispatcher=None, request=request) system = SystemAPI(context) scheme = request.META.get('REQUEST_SCHEME', "http") dashboard_methods = [] scheduler_methods = [] system_methods = [] for method in system.listMethods(): if 'dashboard' in method: dashboard_methods.append(method) elif 'scheduler' in method: scheduler_methods.append(method) else: system_methods.append(method) methods = { 'dashboard': [{ 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in dashboard_methods], 'scheduler': [{ 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in scheduler_methods], 'system': [{ 'name': method, 'signature': system.methodSignature(method), 'help': system.methodHelp(method) } for method in system_methods] } return render_to_response( template_name, { 'methods': methods, 'context_help': ['data-export'], 'site_url': "{scheme}://{domain}".format( scheme=scheme, domain=Site.objects.get_current().domain) }, RequestContext(request))
def test_user_returns_context_user(self): user = MockUser(True, True) context = CallContext(user, None, None) api = ExposedAPI(context) self.assertIs(api.user, context.user)
def test_authenticated_active_users_are_allowed(self): user = MockUser(is_authenticated=True, is_active=True) context = CallContext(user, None, None) self.assertEqual(context.user, user)
def test_inactive_users_are_ignored(self): user = MockUser(is_authenticated=True, is_active=False) context = CallContext(user, None, None) self.assertEqual(context.user, None)