Skip to content
Merged
Show file tree
Hide file tree
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
test: TT-180 add test find_all, in progress
  • Loading branch information
Angeluz-07 committed Mar 16, 2021
commit 3f4422784a9f204128e720c5e80d1aba410defb3
11 changes: 2 additions & 9 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from datetime import datetime, timedelta

import jwt
import base64
import pytest
from faker import Faker
from flask import Flask
Expand Down Expand Up @@ -88,11 +87,7 @@ def cosmos_db_model():
return {
'id': 'test',
'partition_key': PartitionKey(path='/tenant_id'),
'unique_key_policy': {
'uniqueKeys': [
{'paths': ['/email']},
]
},
'unique_key_policy': {'uniqueKeys': [{'paths': ['/email']},]},
}


Expand Down Expand Up @@ -239,9 +234,7 @@ def activity_repository(app: Flask) -> ActivityCosmosDBRepository:

@pytest.fixture
def activities_dao():
from time_tracker_api.activities.activities_model import (
create_dao,
)
from time_tracker_api.activities.activities_model import create_dao

return create_dao()

Expand Down
116 changes: 25 additions & 91 deletions tests/time_tracker_api/activities/activities_model_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,8 @@
from commons.data_access_layer.database import EventContext
from time_tracker_api.activities.activities_model import (
ActivityCosmosDBRepository,
ActivityCosmosDBDao,
ActivityCosmosDBModel,
)

"""
def create_activity(
valid_tenant_id: str,
event_context: EventContext,
activity_repository: ActivityCosmosDBRepository,
) -> ActivityCosmosDBModel:
data = {
"id": Faker().uuid4(),
"name": Faker().name(),
"description": Faker().paragraph(nb_sentences=2),
"deleted": Faker().uuid4(),
"tenant_id": valid_tenant_id,
}

created_item = activity_repository.create(
data, event_context, mapper=ActivityCosmosDBModel
)
return created_item
"""


@pytest.mark.parametrize(
"id_list", [123, (1, 2), "id_list", {"id_list": []},],
Expand Down Expand Up @@ -81,78 +59,34 @@ def test_create_sql_in_condition(
assert expected_result == result


"""
@pytest.mark.parametrize(
"id_list , exception",
[
(123, AssertionError),
((1, 2), AssertionError),
("id_list", AssertionError),
({"id_list": []}, AssertionError),
],
""""
@patch(
'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.create_sql_condition_for_visibility'
)
def test_create_sql_in_condition_with_invalid_list_should_fail(
id_list, exception, activity_repository: ActivityCosmosDBRepository
):
try:
activity_repository.create_sql_in_condition(id_list)
except Exception as e:
assert type(e) is exception
"""

# valid_id = ["03741215-a9b0-4a22-93cc-9cd6571e0366",
# "d45c770a-b1a0-4bd8-a713-22c01a23e41b",
# "57be59a6-1c01-449c-b3cb-17cd4113c6d2",
# "1263af28-6a06-43b2-b27f-7e2bd0edc58e",
# "a2cb8294-56ae-4fb8-aa7d-9a8056658f9e",
# "320716ae-eb1b-441f-8a83-1c9d006bff92"]


# @pytest.mark.parametrize(
# 'activity_id', valid_id
# )
# def test_find_all_with_id_in_list_should_success(
# event_context: EventContext,
# activity_id: str,
# activity_repository: ActivityCosmosDBRepository,
# ):
# id_list = [activity_id]
# result = activity_repository.find_all_with_id_in_list(
# event_context, id_list)
# assert len(result) > 0


@patch(
'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.find_all_with_id_in_list',
new_callable=Mock,
'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.create_sql_in_condition'
)
def test_test_find_all_width_id_in_list(
find_all_with_id_in_list_mock,
@patch(
'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.find_partition_key_value'
)
@patch(
'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.container'
)
@patch(
'time_tracker_api.activities.activities_model.ActivityCosmosDBRepository.get_mapper_or_dict'
)
def test_find_all_with_id_in_list(
get_mapper_or_dict_mock,
container_mock,
find_partition_key_value_mock,
create_sql_in_condition_mock,
create_sql_condition_for_visibility_mock,
event_context: EventContext,
activity_repository: ActivityCosmosDBRepository,
):

activity_repository.find_all_with_id_in_list(event_context, ["123456"])
find_all_with_id_in_list_mock.assert_called_once()


invalid_id = [
"4ff7b319-a3f1-4a99-a0e0-649e3d3e6c65",
"3ee1aef6-079e-4dcd-abe6-bee6143c9473",
"0beb1210-91fa-40f3-ac1b-bac92bc31623",
"0556c46b-8a9b-48c2-b198-137c8afab7de",
]


# @pytest.mark.parametrize(
# "activity_id", invalid_id
# )
# def test_find_all_with_id_in_list_should_not_find(
# event_context: EventContext,
# activity_id: str,
# activity_repository: ActivityCosmosDBRepository
# ):
# id_list = [activity_id]
# result = activity_repository.find_all_with_id_in_list(
# event_context, id_list)
# assert len(result) == 0
activity_repository.find_all_with_id_in_list(
event_context,
[]
)
#query_items_mock.assert_called_once()
"""