Website/api/tests.py

73 lines
2.8 KiB
Python

from django.test import TestCase
from django.contrib.auth.models import User
from rest_framework.test import APITestCase, APIClient
from rest_framework import status
# Create your tests here.
class UnAuthAccessTests(APITestCase):
def test_province_get(self):
response = self.client.get("/api/v1/provinces/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_assault_troops_get(self):
response = self.client.get("/api/v1/assault_troops/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_servers_get(self):
response = self.client.get("/api/v1/servers/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_players_get(self):
response = self.client.get("/api/v1/players/")
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_user_action_get(self):
response = self.client.get("/api/v1/user_action/")
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_user_action_post(self):
response = self.client.post("/api/v1/user_action/", {"user": 1, "action": "142"}, format="json")
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
class AuthAccessTests(APITestCase):
def setUp(self):
self.user = User.objects.create_user(username="test", password="pass123")
self.user2 = User.objects.create_user(username="test2", password="pass123", is_staff=True)
def test_province_get(self):
self.client.login(username="test", password="pass123")
response = self.client.get("/api/v1/provinces/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_assault_troops_get(self):
self.client.login(username="test", password="pass123")
response = self.client.get("/api/v1/assault_troops/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_servers_get(self):
self.client.login(username="test", password="pass123")
response = self.client.get("/api/v1/servers/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_players_get(self):
self.client.login(username="test", password="pass123")
response = self.client.get("/api/v1/players/")
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_players_staff_get(self):
self.client.login(username="test2", password="pass123")
response = self.client.get("/api/v1/players/")
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_user_action_post(self):
self.client.login(username="test", password="pass123")
response = self.client.post("/api/v1/user_action/", {"user": 1, "action": "142"}, format="json")
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
def test_user_data_get(self):
self.client.login(username="test", password="pass123")
response = self.client.get("/api/v1/user_data/")
self.assertEqual(response.status_code, status.HTTP_200_OK)