Skip to content

Add e2e/integration test & framework #745

Description

@crandles

Trickster has many unit tests, and integration-style tests per each package. However, after/in addition to unit tests, a comprehensive test should created for the whole codebase that leverages:

  • actual running backend instances (e.g. prometheus, influx)
  • an instance of trickster equivalent to main.go:main() (or as close as we can get)
    • Ideally, we should be able to switch between running an actual trickster instance (e.g. via container) or via calling the right Go code in a test

To do:

  • Identify backends to include in test (will likely target a subset)
  • Identify "user stories" that should be tested, per each backend

Goals:

  • To test our actual implementation against real backends, and not just test our mock implementations
  • To test our full stack with real clients
  • Test should be executable from github action workflow, or locally
    • For local development, this should give us the ability to perform step-through debugging and better recreate reported issues
  • To be able to perform race detection tests against the whole codebase

Metadata

Metadata

Assignees

Labels

testsaffects unit tests

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions