Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(stream_processor): initial version for processing product changes (
#76) * chore: support for cdk watch to speedup dev Signed-off-by: heitorlessa <lessa@amazon.co.uk> * fix: ensure pytest only searches tests folder Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: cdk watch for infra too Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: use getpass over outdated getlogin Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: allow branches with _ Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: standardize stream resource names Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add hello world stream proc lambda Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add watch target in makefile Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: make product models independent Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: remove stream specific schema for now Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore(domain): create skeleton to notify updates Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add placeholder code for handler Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add placeholder unit test Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: rename stream processor to align w/ crud Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add format-fix, fix yapf errors Signed-off-by: heitorlessa <lessa@amazon.co.uk> * fix(tests): stack not found when running integ Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: align handler and fn handler name w/ crud Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add mypy boto3 events dev dep Signed-off-by: heitorlessa <lessa@amazon.co.uk> * feat: add initial DAL protocol and eventbridge Signed-off-by: heitorlessa <lessa@amazon.co.uk> * refactor: use status field over change_status since it's a notification already Signed-off-by: heitorlessa <lessa@amazon.co.uk> * refactor: move test doubles and fixtures to conftest Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: test product_notifications Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add EventReceipt output model * chore: ignore .idea dir * chore: create and use Event model * chore: use generic container for emit Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: fix event serialization; cleanup Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: future note for event slicing Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: disable sockets for unit test Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add eventbridge provider test skeleton Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: change to ProductChangeNotification Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: infer event structure from any model Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: cleanup Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: test event structure and model to event conversions Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: adjust comment on event name Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: complete eventbridge contract tests Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: remove dead code Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: chunk maximum allowed events Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: test chunk logic separately Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: linting Signed-off-by: heitorlessa <lessa@amazon.co.uk> * refactor: move standalones to functions.py; complete coverage Signed-off-by: heitorlessa <lessa@amazon.co.uk> * refactor: move standalones to functions.py; complete coverage Signed-off-by: heitorlessa <lessa@amazon.co.uk> * fix(mypy): narrow typing Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: enable pydantic plugin for mypy Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: explicit typed dict type as mypy can't infer Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: explicit type as mypy can't infer Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: actually apply pydantic plugin; skip pytest_socket missing py.typed Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: make pr fixes Signed-off-by: heitorlessa <lessa@amazon.co.uk> * refactor: rename dal to integrations Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs(domain): add initial docstrings Signed-off-by: heitorlessa <lessa@amazon.co.uk> * chore: add mkdocs and mkdocstrings for documentation Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs(handlers): add docstring for process_stream Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs(domain): use markdown to create anchor Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs: increase indentation to improve nav Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs(handler): add integrations section Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs(domain): add integration section Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs(models): add Pydantic models Signed-off-by: heitorlessa <lessa@amazon.co.uk> * docs(stream_processor): handlers first Signed-off-by: heitorlessa <lessa@amazon.co.uk> --------- Signed-off-by: heitorlessa <lessa@amazon.co.uk>
- Loading branch information