Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PY-407][PY-534][PY-404] Item + ItemQuery objects #715

Merged
merged 22 commits into from
Nov 13, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
merge master and tests changes
Nathanjp91 committed Nov 13, 2023
commit ab47096255223cea02f30e559c472a86e1badeb5
3 changes: 0 additions & 3 deletions darwin/future/core/items/delete_items.py
Original file line number Diff line number Diff line change
@@ -34,9 +34,6 @@ def delete_list_of_items(
JSONType
The response data.
"""
assert (
filters
), "No parameters provided, please provide at least one non-dataset id filter"
payload = {
"filters": {
"dataset_ids": [str(item) for item in dataset_ids]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait, so this accepts "all" as a possible input? That surprises me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all our endpoints do, although I have just removed that because I do think it's dangerous. Also it makes typing a bit of a nightmare anyway.

2 changes: 1 addition & 1 deletion darwin/future/tests/core/datasets/test_list_datasets.py
Original file line number Diff line number Diff line change
@@ -45,4 +45,4 @@ def test_it_returns_an_error_if_the_client_returns_an_http_error(
with pytest.raises(BadRequest) as execinfo:
list_datasets(base_client)

assert execinfo.value.args[0].status_code == 400
assert execinfo.value.args[0].status_code == 400
9 changes: 8 additions & 1 deletion darwin/future/tests/core/items/fixtures.py
Original file line number Diff line number Diff line change
@@ -3,7 +3,14 @@

import pytest

from darwin.future.data_objects.item import Folder, ItemCore
from darwin.future.data_objects.item import Folder, ItemCore, ItemLayout


@pytest.fixture
def base_layout() -> ItemLayout:
return ItemLayout(
slots=["slot1", "slot2"], type="grid", layout_shape=[2, 1], version=2
)


@pytest.fixture
2 changes: 0 additions & 2 deletions darwin/future/tests/core/items/test_archive_items.py
Original file line number Diff line number Diff line change
@@ -43,14 +43,12 @@ def test_archive_items_raises_on_incorrect_parameters(
) -> None:
dataset_ids = [1, 2, 3]
team_slug = "test-team"
filters = {}

with pytest.raises(AssertionError):
archive_list_of_items(
client=base_client,
team_slug=team_slug,
dataset_ids=dataset_ids,
filters=filters,
)


36 changes: 3 additions & 33 deletions darwin/future/tests/core/items/test_delete_items.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,14 @@
import pytest
from uuid import UUID

import responses

from darwin.future.core.client import ClientCore
from darwin.future.core.items.delete_items import delete_list_of_items
from darwin.future.exceptions import BadRequest
from darwin.future.tests.core.fixtures import *


@responses.activate
def test_delete_items_including_filters(base_client: ClientCore) -> None:
dataset_ids = [1, 2, 3]
team_slug = "test-team"
filters = {
"not_statuses": ["uploading", "annotate"],
"not_assignees": [123, 456, 789],
"item_ids": [
("00000000-0000-0000-0000-000000000000"),
("00000000-0000-0000-0000-000000000000"),
],
}

responses.add(
responses.DELETE,
@@ -28,7 +18,7 @@ def test_delete_items_including_filters(base_client: ClientCore) -> None:
)

response = delete_list_of_items(
api_client=base_client,
client=base_client,
team_slug="test-team",
dataset_ids=000000,
item_ids=[
@@ -42,23 +32,3 @@ def test_delete_items_including_filters(base_client: ClientCore) -> None:
)

assert response == {"affected_item_count": 2}


@responses.activate
def test_delete_items_raises_on_incorrect_parameters(
base_client: ClientCore,
) -> None:
dataset_ids = [1, 2, 3]
team_slug = "test-team"
filters = {}

with pytest.raises(AssertionError):
delete_list_of_items(
api_client=api_client,
team_slug="test-team",
dataset_ids=000000,
item_ids=[
UUID("00000000-0000-0000-0000-000000000000"),
UUID("00000000-0000-0000-0000-000000000000"),
],
)
2 changes: 0 additions & 2 deletions darwin/future/tests/core/items/test_move_items.py
Original file line number Diff line number Diff line change
@@ -49,7 +49,6 @@ def test_move_items_to_stage_raises_on_incorrect_parameters(
) -> None:
dataset_ids = [1, 2, 3]
team_slug = "test-team"
filters = {}
workflow_id = UUID("00000000-0000-0000-0000-000000000000")
stage_id = UUID("00000000-0000-0000-0000-000000000000")

@@ -60,7 +59,6 @@ def test_move_items_to_stage_raises_on_incorrect_parameters(
workflow_id=workflow_id,
dataset_ids=dataset_ids,
stage_id=stage_id,
filters=filters,
)


2 changes: 0 additions & 2 deletions darwin/future/tests/core/items/test_move_items_to_folder.py
Original file line number Diff line number Diff line change
@@ -47,7 +47,6 @@ def test_move_list_of_items_to_folder_raises_on_incorrect_parameters(
) -> None:
dataset_ids = [1, 2, 3]
team_slug = "test-team"
filters = {}
path = "/test/path"

with pytest.raises(AssertionError):
@@ -56,7 +55,6 @@ def test_move_list_of_items_to_folder_raises_on_incorrect_parameters(
team_slug=team_slug,
dataset_ids=dataset_ids,
path=path,
filters=filters,
)


2 changes: 0 additions & 2 deletions darwin/future/tests/core/items/test_restore_items.py
Original file line number Diff line number Diff line change
@@ -43,14 +43,12 @@ def test_restore_items_raises_on_incorrect_parameters(
) -> None:
dataset_ids = [1, 2, 3]
team_slug = "test-team"
filters = {}

with pytest.raises(AssertionError):
restore_list_of_items(
client=base_client,
team_slug=team_slug,
dataset_ids=dataset_ids,
filters=filters,
)


2 changes: 0 additions & 2 deletions darwin/future/tests/core/items/test_set_priority.py
Original file line number Diff line number Diff line change
@@ -45,15 +45,13 @@ def test_set_item_priority_raises_on_incorrect_parameters(
) -> None:
dataset_ids = [1, 2, 3]
team_slug = "test-team"
filters = {}
priority = 100

with pytest.raises(AssertionError):
set_item_priority(
client=base_client,
team_slug=team_slug,
dataset_ids=dataset_ids,
filters=filters,
priority=priority,
)

You are viewing a condensed version of this merge commit. You can view the full changes here.