Skip to content

Commit

Permalink
linting and formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
jalowe13 committed Oct 24, 2024
1 parent 39092ed commit 56a5a0c
Showing 1 changed file with 24 additions and 17 deletions.
41 changes: 24 additions & 17 deletions server/portal/apps/projects/unit_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,20 @@ def mock_service_account(mocker):

@pytest.fixture()
def mock_owner(django_user_model):
return "owner"
return "owner"


# Mock creation of a project

# Minimal mocks, only do behavior based testing instead of implementation based testing


@pytest.fixture()
def mock_tapis_client():
with patch(
"tapipy.tapis.Tapis"
) as mock_client:

with patch("tapipy.tapis.Tapis") as mock_client:

mock_listing = []

class DictObj:
def __init__(self, **entries):
# Recursive conversion of nested dictionaries into object for attribute reference
Expand All @@ -58,35 +58,41 @@ def __init__(self, **entries):
self.__dict__[key] = DictObj(**value)
else:
self.__dict__[key] = value

# Mock createSystem with the side effect
def create_system_side_effect(**system_args):
system_created = "2024-10-18T00:00:00Z"
system_args['created'] = system_created
system_args["created"] = system_created
system_obj = DictObj(**system_args)
title = getattr(system_obj.notes, "title", None)
mock_listing.append(system_obj)

def get_system_side_effect(systemId):
# TODO: Change for multiple systems, tests only one system for now
# TODO: Change for multiple systems, tests only one system for now
return mock_listing[0]

mock_client.systems.createSystem = MagicMock(side_effect=create_system_side_effect)
mock_client.systems.createSystem = MagicMock(
side_effect=create_system_side_effect
)
mock_client.systems.getShareInfo = MagicMock()
mock_client.systems.getSystem = MagicMock(side_effect=get_system_side_effect)
mock_client.files.getPermissions = MagicMock()
# TODO: Enable this for the list systems test
#mock_client.systems.getSystems = MagicMock(return_value=mock_listing)
# mock_client.systems.getSystems = MagicMock(return_value=mock_listing)
mock_client.systems.getSystems = MagicMock()

yield mock_client

yield mock_client


def test_project_init(mock_tapis_client, mock_owner):
with patch(
"portal.apps.projects.workspace_operations.shared_workspace_operations.create_workspace_system",
wraps=ws_o.create_workspace_system,),patch(
"portal.apps.projects.workspace_operations.shared_workspace_operations.get_project_user") as mock_get_project_user, patch(
"portal.apps.projects.workspace_operations.shared_workspace_operations.get_project",wraps=ws_o.get_project):
wraps=ws_o.create_workspace_system,
), patch(
"portal.apps.projects.workspace_operations.shared_workspace_operations.get_project_user"
) as mock_get_project_user, patch(
"portal.apps.projects.workspace_operations.shared_workspace_operations.get_project",
wraps=ws_o.get_project,
):
"Test project model init."
# Assert Defs
result_system_id = f"{settings.PORTAL_PROJECTS_SYSTEM_PREFIX}.PRJ-123"
Expand All @@ -96,7 +102,7 @@ def test_project_init(mock_tapis_client, mock_owner):
mock_get_project_user.return_value = {"username": "mock_user"}

# Mock Tapis Client
client = mock_tapis_client
client = mock_tapis_client
# Create the shared workspace
project_id = ws_o.create_workspace_system(
client,
Expand All @@ -119,11 +125,12 @@ def test_project_init(mock_tapis_client, mock_owner):
assert project["title"] == result_title
assert project["description"] == result_description
assert project["created"] == result_created
assert project["projectId"] == "PRJ-123"
assert project["projectId"] == "PRJ-123"
assert len(project["members"]) == 1
assert project["members"][0]["user"]["username"] == "mock_user"
assert project["members"][0]["access"] == "owner"


@pytest.mark.skip(reason="Needs to be updated with new Mocked Tapis Storage")
def test_project_create(setup_mocks, mock_owner):
with patch(
Expand Down

0 comments on commit 56a5a0c

Please sign in to comment.