(factory, token)
| 102 | |
| 103 | |
| 104 | def test_scope_operator(factory, token): |
| 105 | @require_oauth(["profile email"]) |
| 106 | def operator_and(request): |
| 107 | user = request.oauth_token.user |
| 108 | return JsonResponse(dict(sub=user.pk, username=user.username)) |
| 109 | |
| 110 | @require_oauth(["profile", "email"]) |
| 111 | def operator_or(request): |
| 112 | user = request.oauth_token.user |
| 113 | return JsonResponse(dict(sub=user.pk, username=user.username)) |
| 114 | |
| 115 | request = factory.get("/user", HTTP_AUTHORIZATION="bearer a1") |
| 116 | resp = operator_and(request) |
| 117 | assert resp.status_code == 403 |
| 118 | data = json.loads(resp.content) |
| 119 | assert data["error"] == "insufficient_scope" |
| 120 | |
| 121 | resp = operator_or(request) |
| 122 | assert resp.status_code == 200 |
| 123 | data = json.loads(resp.content) |
| 124 | assert data["username"] == "foo" |
| 125 | |
| 126 | |
| 127 | def test_decorator_without_parentheses(factory, token): |
nothing calls this directly
no test coverage detected
searching dependent graphs…