bc16de0b58
Using the default KUBECONFIG environment variable to indicate that the Kubernetes tests should be run lead to cases where developers accidentally ran the tests. This has now been changed to "DEX_KUBECONFIG" and documentation hsa been added detailing how to run these tests. Additionally, no other storage reads environment variables for its normal configuration (outside of tests) so the Kubernetes storage no longer does. Overall, be less surprising.
50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
# Running integration tests
|
|
|
|
## Kubernetes
|
|
|
|
Kubernetes tests will only run if the `DEX_KUBECONFIG` environment variable is set.
|
|
|
|
```
|
|
$ export DEX_KUBECONFIG=~/.kube/config
|
|
$ go test -v -i ./storage/kubernetes
|
|
$ go test -v ./storage/kubernetes
|
|
```
|
|
|
|
Because third party resources creation isn't synchronized it's expected that the tests fail the first time. Fear not, and just run them again.
|
|
|
|
## Postgres
|
|
|
|
Running database tests locally require:
|
|
|
|
* A systemd based Linux distro.
|
|
* A recent version of [rkt](https://github.com/coreos/rkt) installed.
|
|
|
|
The `standup.sh` script in the SQL directory is used to run databases in containers with systemd daemonizing the process.
|
|
|
|
```
|
|
$ sudo ./storage/sql/standup.sh create postgres
|
|
Starting postgres. To view progress run
|
|
|
|
journalctl -fu dex-postgres
|
|
|
|
Running as unit dex-postgres.service.
|
|
To run tests export the following environment variables:
|
|
|
|
export DEX_POSTGRES_DATABASE=postgres; export DEX_POSTGRES_USER=postgres; export DEX_POSTGRES_PASSWORD=postgres; export DEX_POSTGRES_HOST=172.16.28.3:5432
|
|
|
|
```
|
|
|
|
Exporting the variables will cause the database tests to be run, rather than skipped.
|
|
|
|
```
|
|
$ # sqlite3 takes forever to compile, be sure to install test dependencies
|
|
$ go test -v -i ./storage/sql
|
|
$ go test -v ./storage/sql
|
|
```
|
|
|
|
When you're done, tear down the unit using the `standup.sh` script.
|
|
|
|
```
|
|
$ sudo ./storage/sql/standup.sh destroy postgres
|
|
```
|