Add docker containers to test services.

This commit initializes the needed services which are not mocked
so tests can be executed in any environment with docker.

Some default modifications (i.e: connection strings) were also made to
current tests to accomodate them for this setup.

A docker-compose.yml file is provided with all the necessary parameters
for this services to be initialized. Future services can be added
easily by extending this configuration file

In addition a makefile has been introduced to simplify command execution
This commit is contained in:
Marcos Lilljedahl
2015-07-06 01:46:43 -03:00
parent 1d8e6473c6
commit d545b197ea
7 changed files with 54 additions and 9 deletions

View File

@@ -175,3 +175,16 @@ func init() {
}
```
## Testing
As Telegraf collects metrics from several third-party services it becomes a difficult task to mock each service as
some of them have complicated protocols which would take some time to replicate.
To overcome this situation we've decided to use docker containers to provide a fast and reproducible environment
to test those services which require it. For other situations (i.e: https://github.com/influxdb/telegraf/blob/master/plugins/redis/redis_test.go ) a simple mock will suffice.
To execute Telegraf tests follow this simple steps:
- Install docker compose following [these](https://docs.docker.com/compose/install/) instructions
- execute `make test`