<?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>
    <artifactId>atlassian-bamboo-tests-parent</artifactId>
    <groupId>com.atlassian.bamboo</groupId>
    <version>6.9.0-m587</version>
  </parent>

  <artifactId>atlassian-bamboo-upgrade-tests</artifactId>
  <packaging>atlassian-plugin</packaging>

  <name>Atlassian Bamboo Upgrade Tests</name>

  <properties>
    <bamboo.test.version>${project.version}</bamboo.test.version>
    <data.directory>${project.basedir}/test-data</data.directory>

    <bamboo.import.file />
    <bamboo.setup.import.testGroups />
    <bamboo.after.upgrade.testGroups />
  </properties>

  <profiles>
    <!-- Run Bamboo 5.12, force it into setup mode and import provided file (shame on AMPS that concatenates testGroups like this: AMPS-1388) -->
    <profile>
      <id>bamboo-5.9-setup-import</id>
      <properties>
        <bamboo.test.version>5.12.0</bamboo.test.version>
        <bamboo.data.path>${data.directory}/amps/bamboo-plugin-test-resources/bamboo-no-setup.zip</bamboo.data.path>
        <testGroups>${bamboo.setup.import.testGroups}</testGroups>
        <bamboo.import.file>${data.directory}/exports/export-5.12.0.zip</bamboo.import.file>

        <jdbc.runtime.oracle.groupId>com.oracle</jdbc.runtime.oracle.groupId>
        <jdbc.runtime.oracle.artifactId>ojdbc6</jdbc.runtime.oracle.artifactId>
        <jdbc.runtime.oracle.version>11.2.0.2.0</jdbc.runtime.oracle.version>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-bamboo-plugin</artifactId>
            <configuration>
              <systemPropertyVariables>
                <acceptance.test.bamboo.import.file>${bamboo.import.file}</acceptance.test.bamboo.import.file>
              </systemPropertyVariables>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Run latest Bamboo, force it into setup mode and import provided file (shame on AMPS that concatenates testGroups like this: AMPS-1388) -->
    <profile>
      <id>bamboo-latest-setup-restore</id>
      <properties>
        <bamboo.data.path>${data.directory}/amps/bamboo-plugin-test-resources/bamboo-no-setup.zip</bamboo.data.path>
        <testGroups>${bamboo.setup.import.testGroups}</testGroups>
        <bamboo.import.file />
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-bamboo-plugin</artifactId>
            <configuration>
              <systemPropertyVariables>
                <acceptance.test.bamboo.import.file>${bamboo.import.file}</acceptance.test.bamboo.import.file>
              </systemPropertyVariables>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- to be used with bamboo-latest-setup-restore profile: -P<db-profile>,bamboo-latest-setup-restore,bamboo-restore-500 -->
    <profile>
      <id>bamboo-restore-500</id> <!--Bamboo 5.12-->
      <properties>
        <bamboo.import.file>${data.directory}/exports/bamboo_51210_20180523.zip</bamboo.import.file>
      </properties>
    </profile>
    <!-- to be used with bamboo-latest-setup-restore profile: -P<db-profile>,bamboo-latest-setup-restore,bamboo-restore-590 -->
    <profile>
      <id>bamboo-restore-590</id> <!--Bamboo 5.12-->
      <properties>
        <bamboo.import.file>${data.directory}/exports/export-5.12.0.zip</bamboo.import.file>
      </properties>
    </profile>


    <!-- Run latest Bamboo, execute after upgrade test suite defined by DB profile (shame on AMPS that concatenates testGroups like this: AMPS-1388) -->
    <profile>
      <id>bamboo-latest-after-upgrade</id>
      <properties>
        <testGroups>${bamboo.after.upgrade.testGroups}</testGroups>
      </properties>
    </profile>

    <profile>
      <id>mssql</id>
      <properties>
        <bamboo.setup.import.testGroups>bamboo-setup-import-mssql</bamboo.setup.import.testGroups>
        <bamboo.after.upgrade.testGroups>bamboo-after-upgrade-mssql</bamboo.after.upgrade.testGroups>
      </properties>
    </profile>

    <!-- Profile for running Bamboo on SQLServer with legacy jTDS driver, must always be applied after mssql profile: -Pmssql,mssql-jtds -->
    <profile>
      <id>mssql-jtds</id>
      <properties>
        <db.url>jdbc:jtds:sqlserver://${db.host}:${db.port}/${db.instance}</db.url>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-bamboo-plugin</artifactId>
            <configuration>
              <!-- JDBC driver is not part of the WAR. AMPS will install it to WEB-INF/lib but ideally it should be installed to lib directory of tomcat. -->
              <libArtifacts>
                <libArtifact>
                  <groupId>net.sourceforge.jtds</groupId>
                  <artifactId>jtds</artifactId>
                  <version>1.3.1</version>
                </libArtifact>
              </libArtifacts>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>mysql</id>
      <properties>
        <bamboo.setup.import.testGroups>bamboo-setup-import-mysql</bamboo.setup.import.testGroups>
        <bamboo.after.upgrade.testGroups>bamboo-after-upgrade-mysql</bamboo.after.upgrade.testGroups>
      </properties>
    </profile>

    <profile>
      <id>oracle</id>
      <properties>
        <bamboo.setup.import.testGroups>bamboo-setup-import-oracle</bamboo.setup.import.testGroups>
        <bamboo.after.upgrade.testGroups>bamboo-after-upgrade-oracle</bamboo.after.upgrade.testGroups>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-bamboo-plugin</artifactId>
            <configuration>
              <startupTimeout>960000</startupTimeout>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>pgsql</id>
      <properties>
        <bamboo.setup.import.testGroups>bamboo-setup-import-pgsql</bamboo.setup.import.testGroups>
        <bamboo.after.upgrade.testGroups>bamboo-after-upgrade-pgsql</bamboo.after.upgrade.testGroups>
      </properties>
    </profile>

  </profiles>
  
  <build>
    <plugins>
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>maven-bamboo-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <!-- default configuration that AMPS will propagate to defined products -->
          <productVersion>${bamboo.test.version}</productVersion>
          <productDataPath>${bamboo.data.path}</productDataPath>
          <startupTimeout>360000</startupTimeout>
          <installPlugin>false</installPlugin> <!-- this "plugin" is just module for tests, no need to install it -->

          <pluginArtifacts>
            <pluginArtifact>
              <groupId>com.atlassian.bamboo.plugins</groupId>
              <artifactId>atlassian-bamboo-plugin-test-utils</artifactId>
              <version>${bamboo.test.version}</version>
            </pluginArtifact>
          </pluginArtifacts>

          <systemPropertyVariables>
            <atlassian.darkfeature.bamboo.experimental.rest.admin.enabled>true</atlassian.darkfeature.bamboo.experimental.rest.admin.enabled>
            <atlassian.darkfeature.bamboo.sox.compliance.configurable>true</atlassian.darkfeature.bamboo.sox.compliance.configurable>
            <atlassian.darkfeature.bamboo.improved.admin.panel.nav>true</atlassian.darkfeature.bamboo.improved.admin.panel.nav>
            <bamboo.enable.chains>true</bamboo.enable.chains>
            <webdriver.firefox.logfile>${project.build.directory}/webdriverTmp/firefox.log</webdriver.firefox.logfile>
          </systemPropertyVariables>

          <testGroups>
            <testGroup>
              <id>bamboo-setup-import-mssql</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/setup/SetupImportMsSqlSuite.java</include>
              </includes>
            </testGroup>
            <testGroup>
              <id>bamboo-after-upgrade-mssql</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/upgrade/AfterUpgradeMsSqlSuite.java</include>
              </includes>
            </testGroup>

            <testGroup>
              <id>bamboo-setup-import-mysql</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/setup/SetupImportMySqlSuite.java</include>
              </includes>
            </testGroup>
            <testGroup>
              <id>bamboo-after-upgrade-mysql</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/upgrade/AfterUpgradeMySqlSuite.java</include>
              </includes>
            </testGroup>

            <testGroup>
              <id>bamboo-setup-import-oracle</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/setup/SetupImportOracleSuite.java</include>
              </includes>
            </testGroup>
            <testGroup>
              <id>bamboo-after-upgrade-oracle</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/upgrade/AfterUpgradeOracleSuite.java</include>
              </includes>
            </testGroup>

            <testGroup>
              <id>bamboo-setup-import-pgsql</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/setup/SetupImportPostgreSqlSuite.java</include>
              </includes>
            </testGroup>
            <testGroup>
              <id>bamboo-after-upgrade-pgsql</id>
              <instanceIds>
                <instanceId>bamboo</instanceId>
              </instanceIds>
              <includes>
                <include>**/suite/upgrade/AfterUpgradePostgreSqlSuite.java</include>
              </includes>
            </testGroup>
          </testGroups>

        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>com.atlassian.bamboo</groupId>
      <artifactId>atlassian-bamboo-pageobjects</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.atlassian.bamboo</groupId>
      <artifactId>atlassian-bamboo-upgrader</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- make sure that classes that use slf4j loggers are using log4j settings -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>
