Conduct End-to-End Test Using "Local" GCP Environment for Transition to deps.dev
Description
Upon completion of the epic "Replace CouchDB with deps.dev for NPM in License DB", an end-to-end test needs to be conducted using a "local" GCP environment. This should happen before deploying to DEV.
Problem
The transition from CouchDB to deps.dev for populating the License DB with npm package licenses introduces significant changes to our infrastructure and data handling processes. It is crucial to validate that these changes have been correctly implemented and that the system functions seamlessly in a "local" GCP environment before fully deploying the changes.
Solution
Conduct a comprehensive end-to-end test using a "local" GCP environment to verify the integration and functionality of deps.dev within the License DB system. This includes testing data migration, system integration, and the overall performance and reliability of the new setup.
Implementation Plan
-
Setup Local GCP Environment:
- Configure a local GCP environment that mimics the production setup.
- Ensure all necessary resources and permissions are in place for testing.
-
Data Migration Validation:
- Migrate a representative sample of npm package license data from CouchDB to deps.dev.
- Validate the completeness and accuracy of the migrated data.
-
System Integration Testing:
- Verify the seamless integration of deps.dev data within the License DB.
- Test the functionality of the
--source
flag in feeders, ensuring it defaults torepo
and correctly switches todeps.dev
as needed.
-
Functionality and Performance Testing:
- Run all NPM and Cargo feeders and processors to ensure they correctly handle data from deps.dev.
- Monitor system performance and identify any potential bottlenecks or issues.
-
Documentation Review:
- Ensure all documentation accurately reflects the new processes and interactions with deps.dev.
- Update any documentation as needed based on the findings from the end-to-end test.
Tasks
-
Configure a local GCP environment for testing. -
Migrate a sample of npm package license data from CouchDB to deps.dev. -
Validate data completeness and accuracy post-migration. -
Test the functionality of the --source
flag in feeders. -
Run all feeders and processors to verify data handling from deps.dev. -
Monitor system performance and identify any issues. -
Review and update documentation based on test findings. -
Compile a summary of the results of the end-to-end test.