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:
@@ -28,6 +28,7 @@ class AbstractAttractTest(AbstractPillarTest):
|
|||||||
|
|
||||||
def ensure_project_exists(self, project_overrides=None):
|
def ensure_project_exists(self, project_overrides=None):
|
||||||
from attract.setup import setup_for_attract
|
from attract.setup import setup_for_attract
|
||||||
|
import pillar.tests.common_test_data as ctd
|
||||||
|
|
||||||
project_overrides = dict(
|
project_overrides = dict(
|
||||||
picture_header=None,
|
picture_header=None,
|
||||||
@@ -35,6 +36,7 @@ class AbstractAttractTest(AbstractPillarTest):
|
|||||||
**(project_overrides or {})
|
**(project_overrides or {})
|
||||||
)
|
)
|
||||||
proj_id, project = AbstractPillarTest.ensure_project_exists(self, project_overrides)
|
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():
|
with self.app.test_request_context():
|
||||||
attract_project = setup_for_attract(project['url'],
|
attract_project = setup_for_attract(project['url'],
|
||||||
|
@@ -6,7 +6,6 @@ import responses
|
|||||||
from bson import ObjectId
|
from bson import ObjectId
|
||||||
|
|
||||||
import pillarsdk
|
import pillarsdk
|
||||||
import pillarsdk.exceptions as sdk_exceptions
|
|
||||||
import pillar.tests
|
import pillar.tests
|
||||||
import pillar.auth
|
import pillar.auth
|
||||||
import pillar.tests.common_test_data as ctd
|
import pillar.tests.common_test_data as ctd
|
||||||
@@ -28,7 +27,7 @@ class AbstractShotTest(AbstractAttractTest):
|
|||||||
def create_task(self, shot_id, task_type):
|
def create_task(self, shot_id, task_type):
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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()
|
self.mock_blenderid_validate_happy()
|
||||||
task = self.tmngr.create_task(self.sdk_project, parent=shot_id, task_type=task_type)
|
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):
|
def create_shot(self):
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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()
|
self.mock_blenderid_validate_happy()
|
||||||
shot = self.smngr.create_shot(self.sdk_project)
|
shot = self.smngr.create_shot(self.sdk_project)
|
||||||
@@ -67,7 +66,7 @@ class ShotManagerTest(AbstractShotTest):
|
|||||||
|
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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()
|
self.mock_blenderid_validate_happy()
|
||||||
shot_id_to_task = self.smngr.tasks_for_nodes([shot1, shot2],
|
shot_id_to_task = self.smngr.tasks_for_nodes([shot1, shot2],
|
||||||
@@ -96,7 +95,7 @@ class ShotManagerTest(AbstractShotTest):
|
|||||||
|
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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()
|
self.mock_blenderid_validate_happy()
|
||||||
|
|
||||||
@@ -134,7 +133,7 @@ class ShotManagerTest(AbstractShotTest):
|
|||||||
|
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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()
|
self.mock_blenderid_validate_happy()
|
||||||
for shot, status in zip([shot1, shot2, shot3, shot4],
|
for shot, status in zip([shot1, shot2, shot3, shot4],
|
||||||
|
@@ -14,8 +14,6 @@ import responses
|
|||||||
import svn.common
|
import svn.common
|
||||||
|
|
||||||
import pillarsdk
|
import pillarsdk
|
||||||
import pillar
|
|
||||||
import pillar.tests.common_test_data as ctd
|
|
||||||
|
|
||||||
import logging_config
|
import logging_config
|
||||||
from abstract_attract_test import AbstractAttractTest
|
from abstract_attract_test import AbstractAttractTest
|
||||||
@@ -246,14 +244,18 @@ class SvnTaskLoggedTest(AbstractAttractTest):
|
|||||||
def setUp(self, **kwargs):
|
def setUp(self, **kwargs):
|
||||||
AbstractAttractTest.setUp(self, **kwargs)
|
AbstractAttractTest.setUp(self, **kwargs)
|
||||||
|
|
||||||
|
import pillar.tests
|
||||||
|
|
||||||
self.mngr = self.attract.task_manager
|
self.mngr = self.attract.task_manager
|
||||||
self.proj_id, self.project = self.ensure_project_exists()
|
self.proj_id, self.project = self.ensure_project_exists()
|
||||||
self.sdk_project = pillarsdk.Project(pillar.tests.mongo_to_sdk(self.project))
|
self.sdk_project = pillarsdk.Project(pillar.tests.mongo_to_sdk(self.project))
|
||||||
|
|
||||||
def create_task(self, task_type=None):
|
def create_task(self, task_type=None):
|
||||||
|
import pillar.tests.common_test_data as ctd
|
||||||
|
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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()
|
self.mock_blenderid_validate_happy()
|
||||||
sdk_task = self.mngr.create_task(self.sdk_project, task_type=task_type)
|
sdk_task = self.mngr.create_task(self.sdk_project, task_type=task_type)
|
||||||
|
@@ -5,17 +5,18 @@ from bson import ObjectId
|
|||||||
|
|
||||||
import pillarsdk
|
import pillarsdk
|
||||||
import pillarsdk.exceptions as sdk_exceptions
|
import pillarsdk.exceptions as sdk_exceptions
|
||||||
import pillar.tests
|
from pillarsdk.utils import remove_private_keys
|
||||||
import pillar.tests.common_test_data as ctd
|
import pillar.tests.common_test_data as ctd
|
||||||
|
|
||||||
from abstract_attract_test import AbstractAttractTest
|
from abstract_attract_test import AbstractAttractTest
|
||||||
from pillarsdk.utils import remove_private_keys
|
|
||||||
|
|
||||||
|
|
||||||
class TaskWorkflowTest(AbstractAttractTest):
|
class TaskWorkflowTest(AbstractAttractTest):
|
||||||
def setUp(self, **kwargs):
|
def setUp(self, **kwargs):
|
||||||
AbstractAttractTest.setUp(self, **kwargs)
|
AbstractAttractTest.setUp(self, **kwargs)
|
||||||
|
|
||||||
|
import pillar.tests
|
||||||
|
|
||||||
self.mngr = self.attract.task_manager
|
self.mngr = self.attract.task_manager
|
||||||
self.proj_id, self.project = self.ensure_project_exists()
|
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):
|
def create_task(self, task_type=None, parent=None):
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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.mock_blenderid_validate_happy()
|
||||||
task = self.mngr.create_task(self.sdk_project, task_type=task_type, parent=parent)
|
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)
|
self.assertIsInstance(task, pillarsdk.Node)
|
||||||
return task
|
return task
|
||||||
|
|
||||||
|
def login_as_admin(self):
|
||||||
|
self.login_api_as(ctd.EXAMPLE_PROJECT_OWNER_ID)
|
||||||
|
|
||||||
@responses.activate
|
@responses.activate
|
||||||
def test_create_task(self):
|
def test_create_task(self):
|
||||||
task = self.create_task(task_type='Just düüüh it')
|
task = self.create_task(task_type='Just düüüh it')
|
||||||
@@ -55,7 +59,7 @@ class TaskWorkflowTest(AbstractAttractTest):
|
|||||||
|
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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.mock_blenderid_validate_happy()
|
||||||
self.assertRaises(sdk_exceptions.PreconditionFailed,
|
self.assertRaises(sdk_exceptions.PreconditionFailed,
|
||||||
@@ -93,7 +97,7 @@ class TaskWorkflowTest(AbstractAttractTest):
|
|||||||
|
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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.mock_blenderid_validate_happy()
|
||||||
self.mngr.edit_task(task._id,
|
self.mngr.edit_task(task._id,
|
||||||
@@ -141,7 +145,7 @@ class TaskWorkflowTest(AbstractAttractTest):
|
|||||||
|
|
||||||
with self.app.test_request_context():
|
with self.app.test_request_context():
|
||||||
# Log in as project admin user
|
# 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.mock_blenderid_validate_happy()
|
||||||
self.assertRaises(sdk_exceptions.PreconditionFailed,
|
self.assertRaises(sdk_exceptions.PreconditionFailed,
|
||||||
@@ -162,6 +166,7 @@ class TaskWorkflowTest(AbstractAttractTest):
|
|||||||
@responses.activate
|
@responses.activate
|
||||||
def test_delete_task_nonadmin(self):
|
def test_delete_task_nonadmin(self):
|
||||||
from pillar.api.projects.utils import get_admin_group_id
|
from pillar.api.projects.utils import get_admin_group_id
|
||||||
|
import pillar.auth
|
||||||
from attract.tasks import routes
|
from attract.tasks import routes
|
||||||
|
|
||||||
self.enter_app_context()
|
self.enter_app_context()
|
||||||
@@ -195,6 +200,7 @@ class TaskWorkflowTest(AbstractAttractTest):
|
|||||||
@responses.activate
|
@responses.activate
|
||||||
def test_delete_task_nonmember(self):
|
def test_delete_task_nonmember(self):
|
||||||
from attract.tasks import routes
|
from attract.tasks import routes
|
||||||
|
import pillar.auth
|
||||||
|
|
||||||
self.enter_app_context()
|
self.enter_app_context()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user