Commit Graph

6 Commits

Author SHA1 Message Date
Pieter Noordhuis 23ddee8023
Skip job runs during integration testing for PRs (#2024)
## Changes

A small subset of tests trigger cluster creation to run jobs. These
tests comprise a substantial amount of the total integration test
runtime. We can skip them on PRs and only run them on the main branch.

## Tests

Confirmed the short runtime is ~20 mins.
2024-12-17 17:16:58 +00:00
Pieter Noordhuis d7eac598cd
Move integration test helpers to `integration/internal` (#2022)
## Changes

The `acc` package is exclusively used by integration tests, so it
belongs under `integration/internal`.

It's not the best name we can rename later.

## Tests

n/a
2024-12-17 08:45:58 +01:00
Denis Bilenko e5b836a6ac
Refactor initTestTemplate/deployBundle/destroyBundle to not return errors (#2017)
## Changes
These test helpers were updated to handle the error internally and not
return it. Since they have testing.T object, they can do so directly. On
the caller side, this functions were always followed by
require.NoError(t, err), that was cleaned up.

This approach helps reduce the setup/teardown boilerplate in the test
cases.

## Tests
Existing tests.
2024-12-16 13:41:32 +01:00
Pieter Noordhuis 3b00d7861e
Remove calls to `testutil.GetEnvOrSkipTest(t, "CLOUD_ENV")` (#2014)
## Changes

These calls are no longer necessary now that integration tests use a
main function that performs this check. This change updates integration
tests that call this function. Of those, the call sites that initialize
a workspace client are updated to use `acc.WorkspaceTest(t)` to get one.

## Tests

n/a
2024-12-13 16:09:51 +00:00
Pieter Noordhuis 4e95cb226c
Remove superfluous name prefix for integration tests (#2012)
## Changes

Mechanical rename of "TestAcc" -> "Test" in the test name prefix.

## Tests

n/a
2024-12-13 15:47:50 +01:00
Pieter Noordhuis c958702097
Move integration tests to `integration` package (#2009)
## Changes

Objectives:
* A dedicated directory for integration tests
* It is not picked up by `go test ./...`
* No need for a `TestAcc` test name prefix
* More granular packages to improve test selection (future)

The tree structure generally mirrors the source code tree structure.

Requirements for new files in this directory:
* Every package **must** be named after its directory with `_test` appended
* Requiring a different package name for integration tests avoids
aliasing with the main package.
* Every integration test package **must** include a `main_test.go` file.

These requirements are enforced by a unit test in the `integration` package.

## Tests

Integration tests pass.

The total run time regresses by about 10%. A follow-up change that
increases the degree of test parallelism will address this.
2024-12-13 15:38:58 +01:00