0001-oauth2-add-command-oauth2-create-client-fixes-22949.patch
fargo/oauth2/management/commands/oauth2-create-client.py | ||
---|---|---|
1 |
from django.core.management.base import BaseCommand |
|
2 | ||
3 |
from fargo.oauth2.models import OAuth2Client |
|
4 | ||
5 | ||
6 |
class Command(BaseCommand): |
|
7 |
help = 'Create an OAuth2 client' |
|
8 | ||
9 |
def add_arguments(self, parser): |
|
10 |
parser.add_argument('client_name') |
|
11 |
parser.add_argument('redirect_uris') |
|
12 |
parser.add_argument('--client-id', required=False, default=None) |
|
13 |
parser.add_argument('--client-secret', required=False, default=None) |
|
14 | ||
15 |
def handle(self, client_name, redirect_uris, client_id, client_secret, **options): |
|
16 |
kwargs = { |
|
17 |
'client_name': client_name, |
|
18 |
'redirect_uris': redirect_uris, |
|
19 |
} |
|
20 |
if client_id: |
|
21 |
kwargs['client_id'] = client_id |
|
22 |
if client_secret: |
|
23 |
kwargs['client_secret'] = client_secret |
|
24 |
client = OAuth2Client.objects.create(**kwargs) |
tests/test_oauth2.py | ||
---|---|---|
6 | 6 | |
7 | 7 |
from django.core.urlresolvers import reverse |
8 | 8 |
from django.utils.http import urlencode |
9 |
from django.core.management import call_command |
|
9 | 10 | |
10 | 11 |
from fargo.oauth2.models import OAuth2Client, OAuth2Authorize, OAuth2TempFile |
11 | 12 |
from fargo.fargo.models import UserDocument |
... | ... | |
205 | 206 |
url = reverse('oauth2-get-document') |
206 | 207 |
app.authorization = ('Bearer', str(auth.access_token)) |
207 | 208 |
resp = app.get(url, status=200) |
209 | ||
210 | ||
211 |
def test_command_create_client(db): |
|
212 |
call_command('oauth2-create-client', 'test', 'https://example.com/') |
|
213 |
client = OAuth2Client.objects.get() |
|
214 |
assert client.client_name == 'test' |
|
215 |
assert client.redirect_uris == 'https://example.com/' |
|
216 |
assert client.client_id |
|
217 |
assert client.client_secret |
|
218 | ||
219 |
OAuth2Client.objects.all().delete() |
|
220 | ||
221 |
call_command('oauth2-create-client', |
|
222 |
'test', |
|
223 |
'https://example.com/', |
|
224 |
'--client-id=wtf', |
|
225 |
'--client-secret=whocares') |
|
226 |
client = OAuth2Client.objects.get() |
|
227 |
assert client.client_name == 'test' |
|
228 |
assert client.redirect_uris == 'https://example.com/' |
|
229 |
assert client.client_id == 'wtf' |
|
230 |
assert client.client_secret == 'whocares' |
|
208 |
- |