<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>io.smartcat</groupId>
        <artifactId>cassandra-diagnostics</artifactId>
        <version>1.4.10</version>
    </parent>
    <artifactId>cassandra-diagnostics-ft</artifactId>
    <description>Cassandra Diagnostics functional test</description>
    <packaging>pom</packaging>

    <properties>
        <version.cassandra.driver>3.2.0</version.cassandra.driver>
        <version.plugin.docker-maven-plugin>0.20.1</version.plugin.docker-maven-plugin>
        <version.influxdb-java>2.5</version.influxdb-java>
        <basedir>/cassandra-diagnostics</basedir>
    </properties>
   
    <dependencies>
        <dependency>
            <groupId>io.smartcat</groupId>
            <artifactId>cassandra-diagnostics-core</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>io.smartcat</groupId>
            <artifactId>cassandra-diagnostics-reporter-influx</artifactId>
            <version>${project.parent.version}</version>
            <classifier>all</classifier>
        </dependency>
        <dependency>
            <groupId>io.smartcat</groupId>
            <artifactId>cassandra-diagnostics-reporter-riemann</artifactId>
            <version>${project.parent.version}</version>
            <classifier>all</classifier>
        </dependency>
        <dependency>
            <groupId>io.smartcat</groupId>
            <artifactId>cassandra-diagnostics-reporter-telegraf</artifactId>
            <version>${project.parent.version}</version>
            <classifier>all</classifier>
        </dependency>
        <dependency>
            <groupId>org.influxdb</groupId>
            <artifactId>influxdb-java</artifactId>
            <version>${version.influxdb-java}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.datastax.cassandra</groupId>
            <artifactId>cassandra-driver-core</artifactId>
            <version>${version.cassandra.driver}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <modules>
        <module>basic2</module>
        <module>basic3</module>
        <module>influx</module>
        <module>riemann</module>
        <module>telegraf</module>
        <module>tracing</module>
        <module>metrics</module>
    </modules>

    <profiles>
        <profile>
            <id>functional-test</id>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>io.fabric8</groupId>
                            <artifactId>docker-maven-plugin</artifactId>
                            <version>${version.plugin.docker-maven-plugin}</version>
                            <configuration>
                                <skip>${skip.functional.tests}</skip>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>start</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>build</goal>
                                        <goal>start</goal>
                                    </goals>
                                </execution>
                                <execution>
                                    <id>stop</id>
                                    <phase>post-integration-test</phase>
                                    <goals>
                                        <goal>stop</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>build-helper-maven-plugin</artifactId>
                            <version>3.0.0</version>
                            <executions>
                                <execution>
                                    <id>add-functional-test-sources</id>
                                    <phase>generate-test-sources</phase>
                                    <goals>
                                        <goal>add-test-source</goal>
                                    </goals>
                                    <configuration>
                                        <sources>
                                            <source>src/functional-test/java</source>
                                        </sources>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>add-functional-test-resources</id>
                                    <phase>generate-test-resources</phase>
                                    <goals>
                                        <goal>add-test-resource</goal>
                                    </goals>
                                    <configuration>
                                        <resources>
                                            <resource>
                                                <filtering>true</filtering>
                                                <directory>src/functional-test/resources</directory>
                                            </resource>
                                        </resources>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-failsafe-plugin</artifactId>
                            <version>2.20</version>
                            <executions>
                                <execution>
                                    <id>functional-tests</id>
                                    <goals>
                                        <goal>integration-test</goal>
                                        <goal>verify</goal>
                                    </goals>
                                    <configuration>
                                        <skipTests>${skip.functional.tests}</skipTests>
                                        <includes>
                                            <include>**/FT*.java</include>
                                        </includes>
                                        <systemPropertyVariables>
                                            <project.build.directory>${project.build.directory}</project.build.directory>
                                            <cassandra.host>${cassandra.host}</cassandra.host>
                                            <cassandra.port>${cassandra.port}</cassandra.port>
                                            <influxdb.url>http://localhost:8086</influxdb.url>
                                            <influxdb.user>admin</influxdb.user>
                                            <influxdb.password>secret</influxdb.password>
                                            <influxdb.dbname>diagnostics</influxdb.dbname>
                                        </systemPropertyVariables>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
    </profiles>
</project>