Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Why these changes are being introduced: The core functionality of this app is to create new items with associated bitstreams in DSpace based on the messages retrieved from an input SQS queue. This commit adds the functionality to do so, along with some necessary functionality around configuration and secrets handling. How this addresses that need: * Adds a submission module with a Submission class that can be instantiated from an SQS message, with methods to facilitate creating a DSpace item with bitstreams and generating both success and error result messages * Updates the sqs module process function to use the new submission module * Adds an smm module with an SSM class that handles retrieving secrets from AWS Systems Manager Parameter Store * Adds a config module that configures the application based on env (set by the WORKSPACE env variable) * Adds and updates relevant tests, including adding a conftest.py and fixtures * Updates Dockerfile and setup.py to reflect new dependencies Additional changes in this commit: * Adds logging throughout the app with logging configuration set by the root logger * Adds pytest-cov and updates make test command to create a coverage report * Updates .gitignore Side effects of this change: * For the app to work in staging and production environments, the WORKSPACE and SSM_PATH env variables must be set and the application must have an IAM role with access to SSM. This has been handled in a separate ticket, just noting it here (also added this info to the README). Relevant ticket(s): * https://mitlibraries.atlassian.net/browse/ETD-398 * https://mitlibraries.atlassian.net/browse/ETD-407
- Loading branch information