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
fix: Close #102 Tweak config of trigger handlers
  • Loading branch information
EliuX committed Apr 30, 2020
commit 2759f0b425140dd22081596c059f2bc732b11c89
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,6 @@ swagger.json

# Local migration files
migration_status.csv

# Mac
.DS_Store
2 changes: 1 addition & 1 deletion commons/data_access_layer/events_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
container_definition = {
'id': 'event',
'partition_key': PartitionKey(path='/tenant_id')
}
}
4 changes: 1 addition & 3 deletions commons/data_access_layer/sql.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
from datetime import datetime

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

from commons.data_access_layer.database import CRUDDao, ID_MAX_LENGTH
from commons.data_access_layer.database import CRUDDao

db: SQLAlchemy = None

Expand Down
2 changes: 0 additions & 2 deletions commons/git_hooks/enforce_semantic_commit_msg.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@

COMMIT_MSG_REGEX = r'(build|ci|docs|feat|fix|perf|refactor|style|test|chore|revert)(\([\w\-]+\))?:\s.*'


# Get the commit message file
commit_msg_file = open(sys.argv[1]) # The first argument is the file
commit_msg = commit_msg_file.read()


if re.match(COMMIT_MSG_REGEX, commit_msg) is None:
print(ERROR_MSG)
sys.exit(1)
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from setuptools import setup, find_packages
import sys

from setuptools import setup, find_packages


def get_version() -> str:
version = {}
Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
from flask.testing import FlaskClient

from commons.data_access_layer.cosmos_db import CosmosDBRepository, CosmosDBDao
from time_tracker_api.database import init_sql
from commons.data_access_layer.database import EventContext
from time_tracker_api import create_app
from time_tracker_api.database import init_sql
from time_tracker_api.security import get_or_generate_dev_secret_key
from time_tracker_api.time_entries.time_entries_model import TimeEntryCosmosDBRepository

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from pytest_mock import MockFixture, pytest

from commons.data_access_layer.cosmos_db import current_datetime, current_datetime_str
from time_tracker_api.time_entries.time_entries_model import TimeEntriesCosmosDBDao

fake = Faker()

Expand Down Expand Up @@ -289,8 +290,8 @@ def test_stop_time_entry_with_valid_id(client: FlaskClient, mocker: MockFixture,
follow_redirects=True)

assert HTTPStatus.OK == response.status_code
repository_update_mock.assert_called_once_with(str(valid_id), {"end_date": mocker.ANY},
ANY, peeker=ANY)
repository_update_mock.assert_called_once_with(str(valid_id), {"end_date": mocker.ANY}, ANY,
peeker=TimeEntriesCosmosDBDao.checks_owner_and_is_not_stopped)


def test_stop_time_entry_with_id_with_invalid_format(client: FlaskClient,
Expand All @@ -308,8 +309,8 @@ def test_stop_time_entry_with_id_with_invalid_format(client: FlaskClient,
follow_redirects=True)

assert HTTPStatus.UNPROCESSABLE_ENTITY == response.status_code
repository_update_mock.assert_called_once_with(invalid_id, {"end_date": ANY},
ANY, peeker=ANY)
repository_update_mock.assert_called_once_with(invalid_id, {"end_date": ANY}, ANY,
peeker=TimeEntriesCosmosDBDao.checks_owner_and_is_not_stopped)


def test_restart_time_entry_with_valid_id(client: FlaskClient,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from ..handle_events_trigger import main as handler

main = handler
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"connectionStringSetting": "COSMOS_DATABASE_URI",
"databaseName": "time-tracker-db",
"collectionName": "activity",
"createLeaseCollectionIfNotExists": "true"
"createLeaseCollectionIfNotExists": "true",
"leaseCollectionPrefix": "activity_"
},
{
"direction": "out",
Expand Down
3 changes: 3 additions & 0 deletions time_tracker_events/handle_customer_trigger/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from ..handle_events_trigger import main as handler

main = handler
27 changes: 27 additions & 0 deletions time_tracker_events/handle_customer_trigger/function.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"scriptFile": "__init__.py",
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "COSMOS_DATABASE_URI",
"databaseName": "time-tracker-db",
"collectionName": "customer",
"createLeaseCollectionIfNotExists": "true",
"leaseCollectionPrefix": "customer_"
},
{
"direction": "out",
"type": "cosmosDB",
"name": "events",
"databaseName": "time-tracker-db",
"collectionName": "event",
"leaseCollectionName": "leases",
"createLeaseCollectionIfNotExists": true,
"connectionStringSetting": "COSMOS_DATABASE_URI",
"createIfNotExists": true
}
]
}
3 changes: 3 additions & 0 deletions time_tracker_events/handle_project_events_trigger/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from ..handle_events_trigger import main as handler

main = handler
27 changes: 27 additions & 0 deletions time_tracker_events/handle_project_events_trigger/function.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"scriptFile": "__init__.py",
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "COSMOS_DATABASE_URI",
"databaseName": "time-tracker-db",
"collectionName": "project",
"createLeaseCollectionIfNotExists": "true",
"leaseCollectionPrefix": "project_"
},
{
"direction": "out",
"type": "cosmosDB",
"name": "events",
"databaseName": "time-tracker-db",
"collectionName": "event",
"leaseCollectionName": "leases",
"createLeaseCollectionIfNotExists": true,
"connectionStringSetting": "COSMOS_DATABASE_URI",
"createIfNotExists": true
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from ..handle_events_trigger import main as handler

main = handler
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"scriptFile": "__init__.py",
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "COSMOS_DATABASE_URI",
"databaseName": "time-tracker-db",
"collectionName": "project_type",
"createLeaseCollectionIfNotExists": "true",
"leaseCollectionPrefix": "project_type_"
},
{
"direction": "out",
"type": "cosmosDB",
"name": "events",
"databaseName": "time-tracker-db",
"collectionName": "event",
"leaseCollectionName": "leases",
"createLeaseCollectionIfNotExists": true,
"connectionStringSetting": "COSMOS_DATABASE_URI",
"createIfNotExists": true
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from ..handle_events_trigger import main as handler

main = handler
27 changes: 27 additions & 0 deletions time_tracker_events/handle_time_entry_events_trigger/function.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"scriptFile": "__init__.py",
"bindings": [
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases",
"connectionStringSetting": "COSMOS_DATABASE_URI",
"databaseName": "time-tracker-db",
"collectionName": "time_entry",
"createLeaseCollectionIfNotExists": "true",
"leaseCollectionPrefix": "time_entry_"
},
{
"direction": "out",
"type": "cosmosDB",
"name": "events",
"databaseName": "time-tracker-db",
"collectionName": "event",
"leaseCollectionName": "leases",
"createLeaseCollectionIfNotExists": true,
"connectionStringSetting": "COSMOS_DATABASE_URI",
"createIfNotExists": true
}
]
}