algorand / indexer

searchable history and current state

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

design: tech debt: e2e tests refactoring

tzaffi opened this issue · comments

Problem

The end to end tests are an important sanity check ensuring that the latest version of indexer is production-ready.

However, they suffer from a few issues that make them difficult to work with and identify/fix problems when they occur:

  • weave together disparate components:
    • AWS tarballs to define a network to test against
    • docker containers for test environmenting
    • python library to execute processes and validate results

These components have become bloated:

As a result:

  • adding new tests to precisely validate new features becomes tedious and basically isn't done
  • diagnosing and fixing a break can take hours/days instead of minutes for the uninitiated

Solution

Produce a design doc that proposes a way to refactor the end to end tests so as to fix these issues.

Dependencies

None

Urgency

Medium

Maybe these old tests can be deprecated in favor of the new e2e scripts used for conduit: https://github.com/algorand/conduit/tree/master/e2e_tests

Maybe these old tests can be deprecated in favor of the new e2e scripts used for conduit: https://github.com/algorand/conduit/tree/master/e2e_tests

They seem to share some python functions, but I agree that we should look to see if we can consolidate the python if possible.