# README

End To End Testing

E2e tests are categorized into files as follows:

  • setup.go - setup for the e2e tests
  • common.go - helper functions
  • channel_init.go - e2e tests for the Channel Initialization sub-protocol
  • valset_update.go - e2e tests for the Validator Set Update sub-protocol
  • unbonding.go - e2e tests for the Completion of Unbonding Operations
  • slashing.go - e2e tests for the Consumer Initiated Slashing sub-protocol
  • distribution.go - e2e tests for the Reward Distribution sub-protocol
  • stop_consumer.go - e2e tests for the Consumer Chain Removal sub-protocol
  • normal_operations.go - e2e tests for normal operations of ICS enabled chains
  • expired_client.go - e2e tests for testing expired clients
  • key_assignment.go - e2e tests for testing key assignment
  • instance_test.go - ties the e2e test structure into golang's standard test mechanism, with appropriate definitions for concrete app types and setup callback

To run the e2e tests defined in this repo on any arbitrary consumer and provider implementation, copy the pattern exemplified in instance_test.go and specific_setup.go