Fixed authentication issues in unit tests

The tests were logging in incorrectly, which came to light due to Pillar
commit 4b5a961e1422d8e976b2bf8bb9a4f91addf9bbec.
This commit is contained in:
2018-02-01 11:43:14 +01:00
parent 39a23a80c9
commit cf41599e20
4 changed files with 24 additions and 15 deletions

View File

@@ -28,6 +28,7 @@ class AbstractAttractTest(AbstractPillarTest):
def ensure_project_exists(self, project_overrides=None):
from attract.setup import setup_for_attract
import pillar.tests.common_test_data as ctd
project_overrides = dict(
picture_header=None,
@@ -35,6 +36,7 @@ class AbstractAttractTest(AbstractPillarTest):
**(project_overrides or {})
)
proj_id, project = AbstractPillarTest.ensure_project_exists(self, project_overrides)
ctd.EXAMPLE_USER['groups'].append(ctd.EXAMPLE_ADMIN_GROUP_ID)
with self.app.test_request_context():
attract_project = setup_for_attract(project['url'],

View File

@@ -6,7 +6,6 @@ import responses
from bson import ObjectId
import pillarsdk
import pillarsdk.exceptions as sdk_exceptions
import pillar.tests
import pillar.auth
import pillar.tests.common_test_data as ctd
@@ -28,7 +27,7 @@ class AbstractShotTest(AbstractAttractTest):
def create_task(self, shot_id, task_type):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
task = self.tmngr.create_task(self.sdk_project, parent=shot_id, task_type=task_type)
@@ -39,7 +38,7 @@ class AbstractShotTest(AbstractAttractTest):
def create_shot(self):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
shot = self.smngr.create_shot(self.sdk_project)
@@ -67,7 +66,7 @@ class ShotManagerTest(AbstractShotTest):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
shot_id_to_task = self.smngr.tasks_for_nodes([shot1, shot2],
@@ -96,7 +95,7 @@ class ShotManagerTest(AbstractShotTest):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
@@ -134,7 +133,7 @@ class ShotManagerTest(AbstractShotTest):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
for shot, status in zip([shot1, shot2, shot3, shot4],

View File

@@ -14,8 +14,6 @@ import responses
import svn.common
import pillarsdk
import pillar
import pillar.tests.common_test_data as ctd
import logging_config
from abstract_attract_test import AbstractAttractTest
@@ -246,14 +244,18 @@ class SvnTaskLoggedTest(AbstractAttractTest):
def setUp(self, **kwargs):
AbstractAttractTest.setUp(self, **kwargs)
import pillar.tests
self.mngr = self.attract.task_manager
self.proj_id, self.project = self.ensure_project_exists()
self.sdk_project = pillarsdk.Project(pillar.tests.mongo_to_sdk(self.project))
def create_task(self, task_type=None):
import pillar.tests.common_test_data as ctd
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
sdk_task = self.mngr.create_task(self.sdk_project, task_type=task_type)

View File

@@ -5,17 +5,18 @@ from bson import ObjectId
import pillarsdk
import pillarsdk.exceptions as sdk_exceptions
import pillar.tests
from pillarsdk.utils import remove_private_keys
import pillar.tests.common_test_data as ctd
from abstract_attract_test import AbstractAttractTest
from pillarsdk.utils import remove_private_keys
class TaskWorkflowTest(AbstractAttractTest):
def setUp(self, **kwargs):
AbstractAttractTest.setUp(self, **kwargs)
import pillar.tests
self.mngr = self.attract.task_manager
self.proj_id, self.project = self.ensure_project_exists()
@@ -24,7 +25,7 @@ class TaskWorkflowTest(AbstractAttractTest):
def create_task(self, task_type=None, parent=None):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_as_admin()
self.mock_blenderid_validate_happy()
task = self.mngr.create_task(self.sdk_project, task_type=task_type, parent=parent)
@@ -32,6 +33,9 @@ class TaskWorkflowTest(AbstractAttractTest):
self.assertIsInstance(task, pillarsdk.Node)
return task
def login_as_admin(self):
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
@responses.activate
def test_create_task(self):
task = self.create_task(task_type='Just düüüh it')
@@ -55,7 +59,7 @@ class TaskWorkflowTest(AbstractAttractTest):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_as_admin()
self.mock_blenderid_validate_happy()
self.assertRaises(sdk_exceptions.PreconditionFailed,
@@ -93,7 +97,7 @@ class TaskWorkflowTest(AbstractAttractTest):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_as_admin()
self.mock_blenderid_validate_happy()
self.mngr.edit_task(task._id,
@@ -141,7 +145,7 @@ class TaskWorkflowTest(AbstractAttractTest):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.login_as_admin()
self.mock_blenderid_validate_happy()
self.assertRaises(sdk_exceptions.PreconditionFailed,
@@ -162,6 +166,7 @@ class TaskWorkflowTest(AbstractAttractTest):
@responses.activate
def test_delete_task_nonadmin(self):
from pillar.api.projects.utils import get_admin_group_id
import pillar.auth
from attract.tasks import routes
self.enter_app_context()
@@ -195,6 +200,7 @@ class TaskWorkflowTest(AbstractAttractTest):
@responses.activate
def test_delete_task_nonmember(self):
from attract.tasks import routes
import pillar.auth
self.enter_app_context()