Skip to content

Commit b89b7da

Browse files
committed
fix: add permission to test
1 parent 89c9938 commit b89b7da

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

src/gql/tests/test_helm_overrides.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1+
from typing import Iterable
2+
3+
from commons.keycloak.abstract_models import KeycloakResource
4+
from commons.keycloak.permissions import KeycloakPermissions
15
from commons.keycloak.testing.driver import KeycloakDriver
26
from commons.keycloak.users import UserHandler
7+
from django.test import RequestFactory
38
from environs import Env
49

510
from gql.tests import SnapshotGraphQLTestCase
@@ -26,6 +31,21 @@ def setUpClass(cls):
2631

2732
super(HelmOverridesTests, cls).setUpClass()
2833

34+
def generate_kc_permissions_for_resources(self, resources: Iterable[KeycloakResource]):
35+
token = {"authorization": {"permissions": []}}
36+
for resource in resources:
37+
scopes = resource.resource_handler().get_available_scopes(resource._meta.model_name)
38+
rsid = resource.id
39+
rsname = resource.get_keycloak_name()
40+
token["authorization"]["permissions"].append({"scopes": scopes, "rsid": str(rsid), "rsname": rsname})
41+
return token
42+
43+
def get_kc_permission_context(self, resources):
44+
token = self.generate_kc_permissions_for_resources(resources)
45+
request = RequestFactory().get("/graphql")
46+
request.permissions = KeycloakPermissions(token["authorization"]["permissions"])
47+
return request
48+
2949
def test_create_helm_overrides(self):
3050
obj = EnvironmentFactory.create(title="Title")
3151
query = """
@@ -35,7 +55,13 @@ def test_create_helm_overrides(self):
3555
}
3656
}
3757
"""
38-
result = self.client.execute(query, variables={"environmentId": str(obj.id), "overrides": "test: 1"})
58+
request = self.get_kc_permission_context([obj.deck.project])
59+
request.kcuser = {"uuid": self.user_id}
60+
result = self.client.execute(
61+
query,
62+
variables={"environmentId": str(obj.id), "overrides": "test: 1"},
63+
context=request,
64+
)
3965
self.assertMatchSnapshot(result)
4066

4167
def test_query_helm_overrides(self):

0 commit comments

Comments
 (0)