mirror of
https://github.com/ZwareBear/awx.git
synced 2026-05-14 15:58:38 -05:00
Merge pull request #2538 from wwitzel3/issue-2349
Credential bug fixes for access and uniqueness
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
import pytest
|
||||
|
||||
from django.db import IntegrityError
|
||||
from awx.main.models import Credential
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_cred_unique_org_name_kind(organization_factory):
|
||||
objects = organization_factory("test")
|
||||
|
||||
cred = Credential(name="test", kind="net", organization=objects.organization)
|
||||
cred.save()
|
||||
|
||||
with pytest.raises(IntegrityError):
|
||||
cred = Credential(name="test", kind="net", organization=objects.organization)
|
||||
cred.save()
|
||||
@@ -18,6 +18,19 @@ def test_credential_migration_user(credential, user, permissions):
|
||||
|
||||
assert u in credential.owner_role
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_two_teams_same_cred_name(organization_factory):
|
||||
objects = organization_factory("test",
|
||||
teams=["team1", "team2"])
|
||||
|
||||
cred1 = Credential.objects.create(name="test", kind="net", deprecated_team=objects.teams.team1)
|
||||
cred2 = Credential.objects.create(name="test", kind="net", deprecated_team=objects.teams.team2)
|
||||
|
||||
rbac.migrate_credential(apps, None)
|
||||
|
||||
assert objects.teams.team1.member_role in cred1.owner_role.parents.all()
|
||||
assert objects.teams.team2.member_role in cred2.owner_role.parents.all()
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_credential_use_role(credential, user, permissions):
|
||||
u = user('user', False)
|
||||
@@ -64,6 +77,17 @@ def test_credential_access_superuser():
|
||||
assert access.can_change(credential, None)
|
||||
assert access.can_delete(credential)
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_credential_access_auditor(credential, organization_factory):
|
||||
objects = organization_factory("org_cred_auditor",
|
||||
users=["user1"],
|
||||
roles=['org_cred_auditor.auditor_role:user1'])
|
||||
credential.organization = objects.organization
|
||||
credential.save()
|
||||
|
||||
access = CredentialAccess(objects.users.user1)
|
||||
assert access.can_read(credential)
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_credential_access_admin(user, team, credential):
|
||||
u = user('org-admin', False)
|
||||
|
||||
Reference in New Issue
Block a user