From ee8230ab4e91be737608a1cf5ae0231610a07783 Mon Sep 17 00:00:00 2001 From: David Graham Date: Thu, 25 Jul 2024 18:06:34 -0400 Subject: [PATCH] fix forgetten references of org access --- server/conftest.py | 22 +++------------------- server/org/tests/test_views.py | 6 +++--- server/profile/serializers/profile.py | 7 ------- server/profile/tests/test_serializers.py | 16 ---------------- 4 files changed, 6 insertions(+), 45 deletions(-) diff --git a/server/conftest.py b/server/conftest.py index 057adbf4..39195cb5 100644 --- a/server/conftest.py +++ b/server/conftest.py @@ -20,7 +20,7 @@ from core.models import ( TrakUser, ) -from org.models import Org, OrgAccess, Site +from org.models import Org, Site from rcrasite.models import ( Address, Contact, @@ -347,7 +347,7 @@ def user_with_org_factory( org_factory, rcrainfo_profile_factory, profile_factory, - org_access_factory, + perm_factory, ): """Fixture for creating a user with an org that has set up RCRAInfo integration""" @@ -369,29 +369,13 @@ def create_fixtures( admin = user_factory(username="admin") admin_rcrainfo_profile or rcrainfo_profile_factory(**rcra_profile_data) org = org or org_factory(admin=admin) - org_access_factory(org=org, user=user) + perm_factory(user, ["org.view_org"], org) profile_factory(user=user) return user, org return create_fixtures -@pytest.fixture -def org_access_factory(db, user_factory, org_factory): - """Abstract factory for creating a model that represents a user's access to an organization""" - - def create_permission( - org: Optional[Org] = None, - user: Optional[TrakUser] = None, - ) -> OrgAccess: - return OrgAccess.objects.create( - org=org or org_factory(), - user=user or user_factory(), - ) - - return create_permission - - @pytest.fixture(autouse=True) def use_local_mem_cache_backend(settings): settings.CACHES = { diff --git a/server/org/tests/test_views.py b/server/org/tests/test_views.py index 6ce022d0..c6e8b866 100644 --- a/server/org/tests/test_views.py +++ b/server/org/tests/test_views.py @@ -20,15 +20,15 @@ def user(self, user_factory): def org(self, org_factory): return org_factory() - def test_get_returns_org_details(self, org, org_access_factory, user): - org_access_factory(org=org, user=user) + def test_get_returns_org_details(self, org, user, perm_factory): + perm_factory(user, ["org.view_org"], org) request = self.factory.get(reverse("org:details", args=[org.id])) force_authenticate(request, user) response = OrgDetailsView.as_view()(request, org_id=org.id) assert response.status_code == status.HTTP_200_OK assert response.data["id"] == org.id - def test_404_when_org_id_not_defined(self, org, org_access_factory, user): + def test_404_when_org_id_not_defined(self, org, user): request = self.factory.get(reverse("org:details", args=["foo"])) force_authenticate(request, user) with patch("org.views.get_org_by_id") as mock_org: diff --git a/server/profile/serializers/profile.py b/server/profile/serializers/profile.py index 0652d7f9..4c6a54ac 100644 --- a/server/profile/serializers/profile.py +++ b/server/profile/serializers/profile.py @@ -3,8 +3,6 @@ from rest_framework import serializers from rest_framework.serializers import ModelSerializer -from org.serializers import OrgSerializer - class ProfileSerializer(ModelSerializer): """Serializer for a user's profile""" @@ -12,14 +10,9 @@ class ProfileSerializer(ModelSerializer): user = serializers.StringRelatedField( required=False, ) - org = OrgSerializer( - source="user.org_permissions.org", - required=False, - ) class Meta: model = Profile fields = [ "user", - "org", ] diff --git a/server/profile/tests/test_serializers.py b/server/profile/tests/test_serializers.py index 391ffc02..f0fe54fc 100644 --- a/server/profile/tests/test_serializers.py +++ b/server/profile/tests/test_serializers.py @@ -17,22 +17,6 @@ def test_serializer_includes_username(self, profile_factory, user_factory): serializer = ProfileSerializer(profile) assert serializer.data["user"] == my_username - def test_org_returns_null(self, profile_factory, user_factory, org_factory): - user = user_factory() - profile = profile_factory(user=user) - serializer = ProfileSerializer(profile) - assert serializer.data["org"] is None - - def test_returns_the_user_org( - self, profile_factory, user_factory, org_factory, org_access_factory - ): - user = user_factory() - org = org_factory() - org_access_factory(user=user, org=org) - profile = profile_factory(user=user) - serializer = ProfileSerializer(profile) - assert serializer.data["org"]["name"] == org.name - class TestRcraSitePermissionSerializer: """This Test suite is for haztrak's internal record of user's RCRAInfo site permissions."""