Package integration provides functionality that needs to be shared between all integration tests.
Integration tests are implemented through Go's test framework, as test functions that create and execute pipelines using the ptest package. Tests should be placed in appropriate sub-packages for organizational purposes, and to allow greater parallelism, since tests are only run in parallel across different packages. Integration tests should always begin with a call to CheckFilters to allow the test to be filtered.
Running integration tests can be done with a go test call with any flags that are required by the test pipelines, such as --runner or --endpoint. Example:
go test -v ./sdks/go/test/integration/... --runner=portable --endpoint=localhost:8099
Alternatively, tests can be executed by running the run_validatesrunner_tests.sh script, which also performs much of the environment setup, or by calling gradle commands in :sdks:go:test.
CheckFilters checks if an integration test is filtered to be skipped, either because the intended runner does not support it, or the test is sickbayed. This method should be called at the beginning of any integration test. If t.Run is used, CheckFilters should be called within the t.Run callback, so that sub-tests can be skipped individually.
|synthetic||Package synthetic contains pipelines for testing synthetic steps and sources.|
|wordcount||Package wordcount contains transforms for wordcount.|