def _test_auth(self, pk, is_authenticated, two_legged=True): request = RequestFactory().get('/en-US/firefox/2/api/2/user/', data={'authenticate_as': pk}) request.user = None def alter_request(*args, **kw): request.user = self.admin return True is_authenticated.return_value = True is_authenticated.side_effect = alter_request auth = AMOOAuthAuthentication() auth.two_legged = two_legged auth.is_authenticated(request) return request
def performance_add(request): """ A wrapper around adding in performance data that is easier than using the piston API. """ # Trigger OAuth. if not AMOOAuthAuthentication(two_legged=True).is_authenticated(request): return rc.FORBIDDEN form = PerformanceForm(request.POST) if not form.is_valid(): return form.show_error() os, created = (PerformanceOSVersion.objects.safer_get_or_create( **form.os_version)) app, created = (PerformanceAppVersions.objects.safer_get_or_create( **form.app_version)) data = form.performance data.update({'osversion': os, 'appversion': app}) # Look up on everything except the average time. result, created = Performance.objects.safer_get_or_create(**data) result.average = form.cleaned_data['average'] result.save() log.info('Performance created for add-on: %s, %s' % (form.cleaned_data['addon_id'], form.cleaned_data['average'])) return rc.ALL_OK