Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm - TTK-Test Reports should be optional made available with a self-hosting solution #3058

Closed
16 of 18 tasks
mdebarros opened this issue Dec 7, 2022 · 1 comment
Closed
16 of 18 tasks
Assignees
Labels
core-dev-squad oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it oss-ttk Related to the Mojaloop testing toolkit story

Comments

@mdebarros
Copy link
Member

mdebarros commented Dec 7, 2022

Goal:

As a Hub Operator

I want to have the TTK Test Reports produced by executing the helm test on a Mojaloop deployment accessable with a self-hosted solution (i.e. not requiring AWS)

so that reports can be used for QA and debugging

Acceptance Criteria:

  • Helm Test reports are optionally published to a self-hosted solution that is available when Helm Tests are enabled on a Mojaloop Deployment
  • ...

Complexity: <High|Medium|Low> > A short comment to remind the reason for the rating

Uncertainty: <High|Medium|Low> > A short comment to remind the reason for the rating


Notes:
After investigating different possiblities as part of this story, we agreed on the following implementation approach

  • Store the reports in TTK backend itself for every testcase execution. And implement a page in UI to list the reports.
    • This can be done by leveraging some code already implemented for storing the reports in a mongodb server for HOSTED mode.
    • The advantages of this approach is we can use the existing TTK backend service to serve the reports and we can leverage the existing code.
    • This approach is straight forward even though some refactoring to be done on TTK backend to enable this.
    • The reports should be stored as JSON objects in a mongodb server or file system by the TTK backend for every test run and there should be an endpoint to serve the reports. The storage adaptor selection can be chosen based on a new system config param or existing mongo db config.
    • A TTK UI page should be created to show the report history with various download options like JSON report, HTML report or Printer friendly HTML report.
    • The console log of TTK CLI should print the URL to the generated report. This URL can be constructed from backend endpoint supplied to TTK CLI. But if the backend URL is based on the k8s service name, we may need to add and additional argument like REPORT_FQDN / REPORT_BASE_URL to construct the URL and print it in the console log at the end of test execution.

Tasks:

  • Refactor the test case execution to store the JSON report in database / file system based on the system configuration. This is already being done when HOSTED_MODE is enabled, but with DFSPID wise. We need a bit of refactoring there.
  • Expose an API endpoint to serve the reports from database / file system based on the configuration
    • To download the report
  • Add configuration to the mojaloop helm chart and get the reports stored in mongodb
  • Modify TTK CLI to output the report URL

Done

  • Acceptance Criteria pass
  • Designs are up-to date
  • Unit Tests pass
  • Integration Tests pass
  • Code Style & Coverage meets standards
  • Changes made to config (default.json) are broadcast to team and follow-up tasks added to update helm charts and other deployment config.
  • TBD

Pull Requests:

Follow-up:

Dependencies:

  • N/A

Accountability:

  • Owner: TBC
  • QA/Review: TBC
@mdebarros mdebarros added story to-be-refined This story is ready to be groomed labels Dec 7, 2022
@mdebarros mdebarros marked this as a duplicate of #3056 Dec 7, 2022
@mdebarros mdebarros reopened this Dec 7, 2022
@mdebarros mdebarros changed the title Helm - TTK-Test Reports should be accessable without requiring AWS Helm - TTK-Test Reports should be optional made available with a self-hosting solution Dec 7, 2022
@vijayg10 vijayg10 added oss-ttk Related to the Mojaloop testing toolkit oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it core-dev-squad labels Dec 7, 2022
@elnyry-sam-k
Copy link
Member

Hey team! Please add your planning poker estimate with Zenhub @vijayg10 @mdebarros @kleyow @sri-miriyala

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core-dev-squad oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it oss-ttk Related to the Mojaloop testing toolkit story
Projects
None yet
Development

No branches or pull requests

3 participants