|
- from rest_framework.test import APITestCase, APIClient
-
- from api import models
- from api.tests import factories
-
-
- class LogoutEncryptedPasswordProfileTestCase(APITestCase):
- def test_get_password_profiles_401(self):
- response = self.client.get("/api/encrypted_password_profiles/")
- self.assertEqual(401, response.status_code)
-
-
- class LoginEncryptedPasswordProfileTestCase(APITestCase):
- def setUp(self):
- self.user = factories.UserFactory()
- self.client = APIClient()
- self.client.force_authenticate(user=self.user)
-
- def test_get_empty_password_profiless(self):
- request = self.client.get("/api/encrypted_password_profiles/")
- self.assertEqual(0, len(request.data["results"]))
-
- def test_retrieve_its_own_password_profiles(self):
- factories.EncryptedPasswordProfileFactory(
- user=self.user, password_profile="encrypted_content"
- )
- request = self.client.get("/api/encrypted_password_profiles/")
- self.assertEqual(1, len(request.data["results"]))
- self.assertEqual(
- "encrypted_content",
- request.data["results"][0]["password_profile"],
- )
-
- def test_cant_retrieve_other_password_profiles(self):
- not_my_password_profile = factories.EncryptedPasswordProfileFactory(
- user=factories.UserFactory()
- )
- request = self.client.get(
- "/api/encrypted_password_profiles/%s/" % not_my_password_profile.id
- )
- self.assertEqual(404, request.status_code)
-
- def test_delete_its_own_password_profiles(self):
- password_profile = factories.EncryptedPasswordProfileFactory(user=self.user)
- self.assertEqual(1, models.EncryptedPasswordProfile.objects.all().count())
- request = self.client.delete(
- "/api/encrypted_password_profiles/%s/" % password_profile.id
- )
- self.assertEqual(204, request.status_code)
- self.assertEqual(0, models.EncryptedPasswordProfile.objects.all().count())
-
- def test_cant_delete_other_password_profiles(self):
- not_my_password_profile = factories.EncryptedPasswordProfileFactory(
- user=factories.UserFactory()
- )
- self.assertEqual(1, models.EncryptedPasswordProfile.objects.all().count())
- request = self.client.delete(
- "/api/encrypted_password_profiles/%s/" % not_my_password_profile.id
- )
- self.assertEqual(404, request.status_code)
- self.assertEqual(1, models.EncryptedPasswordProfile.objects.all().count())
-
- def test_create_password(self):
- self.assertEqual(0, models.EncryptedPasswordProfile.objects.count())
- self.client.post(
- "/api/encrypted_password_profiles/",
- {"password_profile": "test_create_password"},
- )
- self.assertEqual(1, models.EncryptedPasswordProfile.objects.count())
- password_profile = models.EncryptedPasswordProfile.objects.first()
- self.assertEqual(password_profile.password_profile, "test_create_password")
-
- def test_update_password_profile(self):
- password_profile = factories.EncryptedPasswordProfileFactory(user=self.user)
- self.assertNotEqual(
- "test_update_password_profile", password_profile.password_profile
- )
- request = self.client.put(
- "/api/encrypted_password_profiles/%s/" % password_profile.id,
- {"password_profile": "test_update_password_profile"},
- )
- self.assertEqual(200, request.status_code)
- password_profile_updated = models.EncryptedPasswordProfile.objects.get(
- id=password_profile.id
- )
- self.assertEqual(
- "test_update_password_profile", password_profile_updated.password_profile
- )
-
- def test_cant_update_other_password(self):
- not_my_password_profile = factories.EncryptedPasswordProfileFactory(
- user=factories.UserFactory(),
- password_profile="test_cant_update_other_password",
- )
- self.assertEqual(
- "test_cant_update_other_password", not_my_password_profile.password_profile
- )
- request = self.client.put(
- "/api/encrypted_password_profiles/%s/" % not_my_password_profile.id,
- {"password_profile": "not_my_password_profile"},
- )
- self.assertEqual(404, request.status_code)
- self.assertEqual(
- "test_cant_update_other_password",
- models.EncryptedPasswordProfile.objects.first().password_profile,
- )
|