summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Oliveira <charles.oliveira@linaro.org>2020-04-08 08:28:08 -0300
committerCharles Oliveira <charles.oliveira@linaro.org>2020-04-08 09:09:52 -0300
commit9d733ca7d20af870434ff3b607286f60f0c7638e (patch)
tree1f4d33bc75c82ef3771120748c38a424677814f4
parent61a989bb035f7d5bababd2e81a93628c6a412e8c (diff)
test: test_api: add auth test
-rw-r--r--tests/fixtures.py6
-rw-r--r--tests/test_api.py25
2 files changed, 16 insertions, 15 deletions
diff --git a/tests/fixtures.py b/tests/fixtures.py
index 53da607..4f0224a 100644
--- a/tests/fixtures.py
+++ b/tests/fixtures.py
@@ -8,10 +8,16 @@
from squad.core import models as m
from squad.ci import models as mci
+from rest_framework.authtoken.models import Token
+
+user = m.User.objects.create(username='admin_user', is_superuser=True)
+token = Token.objects.create(user=user, key='193cd8bb41ab9217714515954e8724f651ef8601')
+
group = m.Group.objects.create(slug='my_group')
group2 = m.Group.objects.create(slug='my_other_group')
project = group.projects.create(slug='my_project')
+project_private = group.projects.create(slug='my_private_project', is_public=False)
build = project.builds.create(version='my_build')
build2 = project.builds.create(version='my_build2')
diff --git a/tests/test_api.py b/tests/test_api.py
index f2c8763..85e4224 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -4,14 +4,6 @@ from . import settings
from squad_client.core.api import SquadApi, ApiException
-def is_test_server_running():
- import socket
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- result = sock.connect_ex(('localhost', settings.DEFAULT_SQUAD_PORT))
- sock.close()
- return result == 0
-
-
class SquadApiTest(TestCase):
def setUp(self):
@@ -25,10 +17,13 @@ class SquadApiTest(TestCase):
with self.assertRaises(ApiException):
SquadApi.get('http://some.other.url')
- def test_server_response(self):
- # will require automatic test server to shutdown, for now, just to it by hand before running this test
- if not is_test_server_running():
- with self.assertRaises(ApiException):
- SquadApi.get('/api/groups')
- else:
- self.assertTrue(SquadApi.get('/api/groups') is not None)
+ def test_unauthorized_access(self):
+ response = SquadApi.get('/my_group/my_private_project')
+ self.assertFalse(response.ok)
+
+ SquadApi.configure(url='http://localhost:%s' % settings.DEFAULT_SQUAD_PORT, token='193cd8bb41ab9217714515954e8724f651ef8601')
+ response = SquadApi.get('/my_group/my_private_project')
+ self.assertTrue(response.ok)
+
+ # reset config
+ self.setUp()