Merge pull request #2538 from wwitzel3/issue-2349

Credential bug fixes for access and uniqueness
This commit is contained in:
Wayne Witzel III
2016-06-21 16:40:14 -04:00
committed by GitHub
5 changed files with 69 additions and 2 deletions
@@ -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)