<?xml version="1.0" encoding="UTF-8"?>
<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>ru.micord.ervu</groupId>
    <artifactId>dashboard</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>

  <groupId>ru.micord.ervu.dashboard</groupId>
  <artifactId>test</artifactId>

  <properties>
    <application.url>http://localhost:8080/test</application.url>
    <selenium.grid.url>http://127.0.0.1:4444/wd/hub</selenium.grid.url>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>31.0.1-jre</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>ru.cg.webbpm</groupId>
      <artifactId>web-tests-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
    </dependency>
    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
    </dependency>
    <dependency>
      <groupId>ru.micord.fias</groupId>
      <artifactId>client</artifactId>
    </dependency>

    <!--JWT-->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-jwt</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
    </dependency>
    <dependency>
      <groupId>io.jsonwebtoken</groupId>
      <artifactId>jjwt-api</artifactId>
    </dependency>
    <dependency>
      <groupId>io.jsonwebtoken</groupId>
      <artifactId>jjwt-impl</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>io.jsonwebtoken</groupId>
      <artifactId>jjwt-jackson</artifactId>
    </dependency>
    <dependency>
      <groupId>ru.cg.webbpm.modules.database</groupId>
      <artifactId>database-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>ru.cg.webbpm.modules.security</groupId>
      <artifactId>security-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-suite-engine</artifactId>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
    </dependency>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>3.2.5</version>
          <inherited>true</inherited>
          <configuration>
            <trimStackTrace>false</trimStackTrace>
            <systemPropertyVariables>
              <application.url>${application.url}</application.url>
              <selenium.grid.url>${selenium.grid.url}</selenium.grid.url>
            </systemPropertyVariables>
            <failIfNoTests>true</failIfNoTests>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>

    <profile>
      <id>chrome</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <browsers>chrome</browsers>
      </properties>
    </profile>
    <profile>
      <id>all-browsers</id>
      <properties>
        <browsers>all</browsers>
      </properties>
    </profile>

    <profile>
      <id>integration-tests-admin</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>integration-test</goal>
                  <goal>verify</goal>
                </goals>
                <configuration>
                  <includes>
                    <include>SuiteAdmin.java</include>
                  </includes>
                  <argLine>-Xmx4g -XX:+HeapDumpOnOutOfMemoryError
                    -XX:HeapDumpPath=/tmp/integration-tests-admin-dump.hprof
                  </argLine>
                  <systemPropertyVariables>
                    <browsers>${browsers}</browsers>
                  </systemPropertyVariables>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.22.2</version>
            <reportSets>
              <reportSet>
                <id>integration-tests-admin</id>
                <reports>
                  <report>failsafe-report-only</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
  </profiles>

</project>
