From e4c84aea16072ecec42a83c758b2113502f4804f Mon Sep 17 00:00:00 2001 From: Jon Nation Date: Thu, 6 Jun 2019 15:52:17 -0700 Subject: [PATCH] added test for the init_e2e_credentials command --- .../commands/init_e2e_credentials.py | 3 --- observation_portal/accounts/tests.py | 21 +++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/observation_portal/accounts/management/commands/init_e2e_credentials.py b/observation_portal/accounts/management/commands/init_e2e_credentials.py index deec6430..fdf02a46 100644 --- a/observation_portal/accounts/management/commands/init_e2e_credentials.py +++ b/observation_portal/accounts/management/commands/init_e2e_credentials.py @@ -50,6 +50,3 @@ def handle(self, *args, **options): token, created = Token.objects.get_or_create(user=user) token.delete() Token.objects.create(user=user, key=options['token']) - sys.exit(0) - - diff --git a/observation_portal/accounts/tests.py b/observation_portal/accounts/tests.py index 989a808e..539f5ab6 100644 --- a/observation_portal/accounts/tests.py +++ b/observation_portal/accounts/tests.py @@ -1,12 +1,15 @@ from django.test import TestCase from django.utils import timezone from django.contrib.auth.models import User +from django.core.management import call_command from datetime import timedelta from mixer.backend.django import mixer from oauth2_provider.models import Application, AccessToken from unittest.mock import patch +from rest_framework.authtoken.models import Token from observation_portal.accounts.models import Profile +from observation_portal.proposals.models import Proposal class TestArchiveBearerToken(TestCase): @@ -52,3 +55,21 @@ def test_quota_is_zero(self): @patch('django.core.cache.cache.get', return_value=([1504903107.1322677, 1504903106.6130717])) def test_quota_used(self, cache_mock): self.assertEqual(self.profile.api_quota['used'], 2) + + +class TestInitCredentialsCommand(TestCase): + def test_credentials_are_setup(self): + self.assertEqual(User.objects.count(), 0) + self.assertEqual(Proposal.objects.count(), 0) + call_command('init_e2e_credentials', '-pMyProposal', '-umy_user', '-tmy_token') + + self.assertEqual(User.objects.count(), 1) + user = User.objects.all()[0] + self.assertEqual(user.username, 'my_user') + + self.assertEqual(Proposal.objects.count(), 1) + proposal = Proposal.objects.all()[0] + self.assertEqual(proposal.id, 'MyProposal') + + token = Token.objects.get(user=user) + self.assertEqual(token.key, 'my_token')