From e2ed24aef09de9f62e2144bc5883a2b784059748 Mon Sep 17 00:00:00 2001 From: Yunfan Zhang Date: Tue, 10 Jul 2018 11:13:27 -0400 Subject: [PATCH] Fix null values on Token modified field. --- .../0043_v330_oauth2accesstoken_modified.py | 20 +++++++++++++++++++ awx/main/models/oauth.py | 5 ++++- awx/main/tests/functional/api/test_oauth.py | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 awx/main/migrations/0043_v330_oauth2accesstoken_modified.py diff --git a/awx/main/migrations/0043_v330_oauth2accesstoken_modified.py b/awx/main/migrations/0043_v330_oauth2accesstoken_modified.py new file mode 100644 index 0000000000..4476cbe773 --- /dev/null +++ b/awx/main/migrations/0043_v330_oauth2accesstoken_modified.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.11 on 2018-07-10 14:02 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0042_v330_org_member_role_deparent'), + ] + + operations = [ + migrations.AddField( + model_name='oauth2accesstoken', + name='modified', + field=models.DateTimeField(editable=False), + ), + ] diff --git a/awx/main/models/oauth.py b/awx/main/models/oauth.py index a23ec6afeb..f9bc4f9d22 100644 --- a/awx/main/models/oauth.py +++ b/awx/main/models/oauth.py @@ -112,6 +112,10 @@ class OAuth2AccessToken(AbstractAccessToken): default='write', help_text=_('Allowed scopes, further restricts user\'s permissions. Must be a simple space-separated string with allowed scopes [\'read\', \'write\'].') ) + modified = models.DateTimeField( + editable=False, + auto_now=True + ) def is_valid(self, scopes=None): valid = super(OAuth2AccessToken, self).is_valid(scopes) @@ -119,4 +123,3 @@ class OAuth2AccessToken(AbstractAccessToken): self.last_used = now() self.save(update_fields=['last_used']) return valid - diff --git a/awx/main/tests/functional/api/test_oauth.py b/awx/main/tests/functional/api/test_oauth.py index 2138a0e7c9..9f0c85e6ad 100644 --- a/awx/main/tests/functional/api/test_oauth.py +++ b/awx/main/tests/functional/api/test_oauth.py @@ -126,7 +126,7 @@ def test_oauth_token_create(oauth_application, get, post, admin): reverse('api:o_auth2_application_token_list', kwargs={'pk': oauth_application.pk}), {'scope': 'read'}, admin, expect=201 ) - assert 'modified' in response.data + assert 'modified' in response.data and response.data['modified'] is not None assert 'updated' not in response.data token = AccessToken.objects.get(token=response.data['token']) refresh_token = RefreshToken.objects.get(token=response.data['refresh_token'])