Implement HW5 stubs, API helpers, optional SQL/MQ helpers, and test coverage

This commit is contained in:
2026-03-09 01:40:48 +03:00
parent d1247eec18
commit 507e14bc2e
53 changed files with 2320 additions and 56 deletions

105
pom.xml
View File

@@ -16,10 +16,23 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<base.uri>https://petstore.swagger.io</base.uri>
<base.path>/v2</base.path>
<base.url>http://localhost:8089</base.url>
<course.name>Python Developer</course.name>
<browser>chrome</browser>
<selenoid.url>http://localhost:4444/wd/hub</selenoid.url>
<restassured.version>6.0.0</restassured.version>
<junit.jupiter.version>6.0.2</junit.jupiter.version>
<junit.jupiter.version>5.14.2</junit.jupiter.version>
<junit.platform.suite.version>1.14.2</junit.platform.suite.version>
<jackson.version>2.21.0</jackson.version>
<selenium.version>4.40.0</selenium.version>
<cucumber.version>7.34.2</cucumber.version>
<guice.version>7.0.0</guice.version>
<guava.version>33.5.0-jre</guava.version>
<jsoup.version>1.22.1</jsoup.version>
<slf4j.version>2.0.17</slf4j.version>
<logback.version>1.5.31</logback.version>
<wiremock.version>2.35.2</wiremock.version>
<maven.compiler.version>3.15.0</maven.compiler.version>
<surefire.version>3.5.4</surefire.version>
@@ -66,14 +79,69 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.jupiter.version}</version>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>${junit.platform.suite.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit-platform-engine</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>${jsoup.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock-jre8</artifactId>
<version>${wiremock.version}</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.3.232</version>
<scope>test</scope>
</dependency>
@@ -97,9 +165,15 @@
<version>${surefire.version}</version>
<configuration>
<useModulePath>false</useModulePath>
<excludes>
<exclude>**/CucumberTest.java</exclude>
</excludes>
<systemPropertyVariables>
<base.uri>${base.uri}</base.uri>
<base.path>${base.path}</base.path>
<course.name>${course.name}</course.name>
<browser>${browser}</browser>
<selenoid.url>${selenoid.url}</selenoid.url>
</systemPropertyVariables>
</configuration>
</plugin>
@@ -147,6 +221,27 @@
<excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>ui-tests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes combine.self="override"/>
<includes>
<include>**/CucumberTest.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>