Initial commit api-master
This commit is contained in:
commit
0b87bd9c48
4
helpdesk-api-test-main/.gitignore
vendored
Normal file
4
helpdesk-api-test-main/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Project exclude paths
|
||||||
|
/target/
|
||||||
|
/.idea/
|
||||||
|
*.iml
|
||||||
42
helpdesk-api-test-main/pom.xml
Normal file
42
helpdesk-api-test-main/pom.xml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?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>
|
||||||
|
|
||||||
|
<groupId>org.example</groupId>
|
||||||
|
<artifactId>helpdesk-api-test</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>8</source>
|
||||||
|
<target>8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.rest-assured</groupId>
|
||||||
|
<artifactId>rest-assured</artifactId>
|
||||||
|
<version>4.3.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.code.gson</groupId>
|
||||||
|
<artifactId>gson</artifactId>
|
||||||
|
<version>2.8.6</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.testng</groupId>
|
||||||
|
<artifactId>testng</artifactId>
|
||||||
|
<version>6.9.6</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
package model;
|
||||||
|
|
||||||
|
public class AuthToken {
|
||||||
|
// todo: serialized поля, согласно swagger, а также геттеры и сеттеры
|
||||||
|
}
|
||||||
18
helpdesk-api-test-main/src/main/java/model/Status.java
Normal file
18
helpdesk-api-test-main/src/main/java/model/Status.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package model;
|
||||||
|
|
||||||
|
/** Статусы тикета, используемые в тестах */
|
||||||
|
public enum Status {
|
||||||
|
OPEN(1),
|
||||||
|
CLOSED(4),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final int code;
|
||||||
|
|
||||||
|
Status(int code) {
|
||||||
|
this.code=code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
}
|
||||||
19
helpdesk-api-test-main/src/main/java/model/Ticket.java
Normal file
19
helpdesk-api-test-main/src/main/java/model/Ticket.java
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package model;
|
||||||
|
|
||||||
|
/** Объект тикета (POJO) */
|
||||||
|
public class Ticket {
|
||||||
|
|
||||||
|
// todo: serialized поля, геттеры и сеттеры
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
// todo
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
// todo
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
40
helpdesk-api-test-main/src/test/java/api/BaseTest.java
Normal file
40
helpdesk-api-test-main/src/test/java/api/BaseTest.java
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package api;
|
||||||
|
|
||||||
|
import model.AuthToken;
|
||||||
|
import model.Status;
|
||||||
|
import model.Ticket;
|
||||||
|
import org.testng.annotations.BeforeClass;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import static io.restassured.RestAssured.given;
|
||||||
|
|
||||||
|
/** Абстрактный класс, содержащий общие для всех тестов методы */
|
||||||
|
public abstract class BaseTest {
|
||||||
|
@BeforeClass
|
||||||
|
public void prepare() {
|
||||||
|
// todo: загрузить в системные переменные "base.uri" из "config.properties"
|
||||||
|
|
||||||
|
String baseUri = System.getProperty("base.uri");
|
||||||
|
if (baseUri == null || baseUri.isEmpty()) {
|
||||||
|
throw new RuntimeException("В файле \"config.properties\" отсутствует значение \"base.uri\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
// todo: подготовить глобальные преднастройки для запросов
|
||||||
|
}
|
||||||
|
|
||||||
|
protected AuthToken login() {
|
||||||
|
// todo: отправить запрос на получения токена, используя учетные данные из "config.properties"
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Ticket buildNewTicket(Status status, int priority) {
|
||||||
|
// todo: создать объект с тестовыми данными
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Ticket createTicket(Ticket ticket) {
|
||||||
|
// todo: отправить HTTP запрос для создания тикета
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
package api;
|
||||||
|
|
||||||
|
import model.Ticket;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
/** Создание и проверка тикета */
|
||||||
|
public class CreateTicketTest extends BaseTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createTicketTest() {
|
||||||
|
// todo: создать тикет и проверить, что он находится в системе
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Ticket getTicket(int id) {
|
||||||
|
// todo: отправить HTTP запрос на получение тикета по его id
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
package api;
|
||||||
|
|
||||||
|
import model.Ticket;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
/** Обновление тикета */
|
||||||
|
public class UpdateTicketTest extends BaseTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateTicketTest() {
|
||||||
|
// todo: создать тикет со статусом Closed, затем обновить тикет и проверить сообщение об ошибке (негативный сценарий)
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTicketNegative(Ticket ticket) {
|
||||||
|
// todo: отправить HTTP запрос для обновления данных тикета и сразу же проверить статус код (должен соответствовать ошибке)
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
# Параметры конфигурации в формате:
|
||||||
|
# key=value
|
||||||
Loading…
Reference in New Issue
Block a user