2021-02-24 21:52:18 +00:00
|
|
|
# Testing
|
|
|
|
|
|
|
|
This document covers details that are only relevant if you are developing IOx and running the tests.
|
|
|
|
|
|
|
|
## Object storage
|
|
|
|
|
|
|
|
### To run the tests or not run the tests
|
|
|
|
|
|
|
|
If you are testing integration with some or all of the object storage options, you'll have more
|
|
|
|
setup to do.
|
|
|
|
|
2021-02-25 20:52:52 +00:00
|
|
|
By default, `cargo test -p object_store` does not run any tests that actually contact
|
|
|
|
any cloud services: tests that do contact the services will silently pass.
|
2021-02-24 21:52:18 +00:00
|
|
|
|
2021-04-22 18:20:27 +00:00
|
|
|
To run integration tests, use `TEST_INTEGRATION=1 cargo test -p object_store`, which will run the
|
|
|
|
tests that contact the cloud services and fail them if the required environment variables aren't
|
|
|
|
set.
|
2021-02-24 21:52:18 +00:00
|
|
|
|
|
|
|
### Configuration differences when running the tests
|
|
|
|
|
2021-03-12 17:30:49 +00:00
|
|
|
When running `influxdb_iox run`, you can pick one object store to use. When running the tests,
|
2021-02-24 21:52:18 +00:00
|
|
|
you can run them against all the possible object stores. There's still only one
|
|
|
|
`INFLUXDB_IOX_BUCKET` variable, though, so that will set the bucket name for all configured object
|
|
|
|
stores. Use the same bucket name when setting up the different services.
|
2021-02-25 20:52:52 +00:00
|
|
|
|
|
|
|
Other than possibly configuring multiple object stores, configuring the tests to use the object
|
|
|
|
store services is the same as configuring the server to use an object store service. See the output
|
2021-03-12 17:30:49 +00:00
|
|
|
of `influxdb_iox run --help` for instructions.
|
2021-03-25 19:22:51 +00:00
|
|
|
|
|
|
|
## InfluxDB 2 Client
|
|
|
|
|
|
|
|
The `influxdb2_client` crate may be used by people using InfluxDB 2.0 OSS, and should be compatible
|
2021-04-22 18:20:27 +00:00
|
|
|
with both that and IOx. If you want to run the integration tests for the client against InfluxDB
|
|
|
|
2.0 OSS, you will need to set `TEST_INTEGRATION=1`.
|
|
|
|
|
|
|
|
If you have `docker` in your path, the integration tests for the `influxdb2_client` crate will run
|
|
|
|
integration tests against `influxd` running in a Docker container.
|
2021-04-15 20:58:27 +00:00
|
|
|
|
2021-04-19 19:54:37 +00:00
|
|
|
If you do not want to use Docker locally, but you do have `influxd` for InfluxDB
|
2021-04-21 14:32:07 +00:00
|
|
|
2.0 locally, you can use that instead by running the tests with the environment variable
|
|
|
|
`INFLUXDB_IOX_INTEGRATION_LOCAL=1`.
|