From bcef4a698c13f6561c14de646ac359056bbdfb8e Mon Sep 17 00:00:00 2001 From: Wayne Witzel III Date: Mon, 23 May 2016 17:14:50 -0400 Subject: [PATCH] updating some tests to use new factories --- awx/main/tests/functional/conftest.py | 25 ++++++++++---------- awx/main/tests/functional/test_rbac_label.py | 20 +++++++++------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/awx/main/tests/functional/conftest.py b/awx/main/tests/functional/conftest.py index 59d34a2832..fbdba20044 100644 --- a/awx/main/tests/functional/conftest.py +++ b/awx/main/tests/functional/conftest.py @@ -38,6 +38,11 @@ from awx.main.models.organization import ( from awx.main.models.notifications import NotificationTemplate +from awx.main.tests.factories import ( + create_organization, + create_job_template, +) + ''' Disable all django model signals. ''' @@ -147,18 +152,6 @@ def instance(settings): def organization(instance): return Organization.objects.create(name="test-org", description="test-org-desc") -@pytest.fixture -def organization_factory(instance): - def factory(name): - try: - org = Organization.objects.get(name=name) - except Organization.DoesNotExist: - org = Organization.objects.create(name=name, - description="description for " + name, - ) - return org - return factory - @pytest.fixture def credential(): return Credential.objects.create(kind='aws', name='test-cred') @@ -474,3 +467,11 @@ def job_template_labels(organization, job_template): job_template.labels.create(name="label-2", organization=organization) return job_template + +@pytest.fixture +def job_template_factory(): + return create_job_template + +@pytest.fixture +def organization_factory(): + return create_organization diff --git a/awx/main/tests/functional/test_rbac_label.py b/awx/main/tests/functional/test_rbac_label.py index ec3c83f314..a5e50d95dc 100644 --- a/awx/main/tests/functional/test_rbac_label.py +++ b/awx/main/tests/functional/test_rbac_label.py @@ -31,20 +31,22 @@ def test_label_access_superuser(label, user): assert access.can_delete(label) @pytest.mark.django_db -def test_label_access_admin(label, user, organization_factory): +def test_label_access_admin(organization_factory): '''can_change because I am an admin of that org''' - a = user('admin', False) - org_no_members = organization_factory("no_members") - org_members = organization_factory("has_members") + no_members = organization_factory("no_members") + members = organization_factory("has_members", + users=['admin'], + labels=['test']) - label.organization.admin_role.members.add(a) - org_members.admin_role.members.add(a) + label = members.labels.test + admin = members.users.admin + members.organization.admin_role.members.add(admin) - access = LabelAccess(user('admin', False)) - assert not access.can_change(label, {'organization': org_no_members.id}) + access = LabelAccess(admin) + assert not access.can_change(label, {'organization': no_members.organization.id}) assert access.can_read(label) assert access.can_change(label, None) - assert access.can_change(label, {'organization': org_members.id}) + assert access.can_change(label, {'organization': members.organization.id}) assert access.can_delete(label) @pytest.mark.django_db