This is a Spring Boot application which was created as experiment application for API Test automation trainingg.
It's base url is: https://spring-boot-test-aplication.herokuapp.com/
Currently next api's present in this application:
/api/users- 200 code,GETrequest to get all users data, which currently present in DB. Headers: depending on what you want to receive, for json - default Accept application/json, for xml - Accept application/xml./api/user/createUserPost- 201 code,POSTrequest for adding a new user. Can be used JSON format(with default Accept application/json headers) and XML format(with headers: Accept application/xml).
2.1. Exceptions, that may occur:
- 400 code, InvalidUserDataException - if any field is missing;
- 400 code, DublicateUserNameException - if "userName" is not unique.
2.2. Examples of request:
- In JSON:
{
"email": "string",
"name": "string",
"phone": "string",
"userName": "string",
"website": "string"
}- In XML:
<CreateUserRequest>
<name>string</name>
<userName>string</userName>
<email>string</email>
<phone>string</phone>
<website>string</website>
</CreateUserRequest>/api/user/createUserUrl- 201 code,POSTrequest for adding user, usingapplication/x-www-form-urlencodedmedia time. All data and exceptions same as for previous.Acceptheaders same as for previous.
4./api/user/{userName}/delete - 204 code, DELETE request for removing user by it's userName.
4.1. Exceptions, that may occur:
- UserNotFoundException - if incorrect "userName" provided.
5./api/user/{userName}/company - 204 code, PUT request for adding/updating Company to user. Can be used JSON format(with default headers) and XML format(with headers: Accept application/xml).
5.1. Exceptions, that may occur:
- InvalidCompanyDataException - if any field is empty.
- UserNotFoundException - if provided user not exist.
5.2. Examples of requests:
- JSON:
{
"bs": "string",
"catchPhrase": "string",
"name": "string"
}- XML:
<AddCompanyRequest>
<name>string</name>
<catchPhrase>string</catchPhrase>
<bs>string</bs>
</AddCompanyRequest>6./api/user/{userName}/address - 204 code, PUT request for adding/updating Address to user. Can be used JSON format(with default headers) and XML format(with headers: Accept application/xml).
6.1. Exceptions, that may occur:
- 400 code, InvalidAddressDataException - if any field is empty.
- 404 code, UserNotFoundException - if provided "userName" not exist.
6.2. Examples of requests:
- JSON:
{
"city": "string",
"street": "string",
"suite": "string",
"zipcode": "string"
}- XML:
<AddAddressRequest>
<street>string</street>
<suite>string</suite>
<city>string</city>
<zipcode>string</zipcode>
</AddAddressRequest>7./api/user/{userName}/address/geo - 204 code, PUT request for adding/updating Geo to user's Address. Can be used JSON format(with default headers - Accept application/json) and XML format(with headers: Accept application/xml).
7.1. Exceptions, that may occur:
- 400 code, InvaliGeoException - if any field is empty.
- 404 code, UserNotFoundException - if provided "userName" not exist.
- 400 code, MissingAddressException - if provided user doesn't have saved Address.
7.2. Examples of requests:
- JSON:
{
"lat": "string",
"lng": "string"
}- XML:
<AddGeoRequest>
<lat>string</lat>
<lng>string</lng>
</AddGeoRequest>8.api/users/findById/{id} - 200 code, GET request for getting user by his "id". Headers: depending on what you want to receive, for json - default Accept application/json, for xml - Accept application/xml.
8.1. Exceptions, that may occur:
- 404 code, UserNotFoundException - if user with provided "id" not exist.
9.api/users/findByUserName/{userName} - 200 code, GET request for getting user by his "userName". Headers: depending on what you want to receive, for json - default Accept application/json, for xml - Accept application/xml.
9.1. Exceptions, that may occur:
- 404 code, UserNotFoundException - if user with provided "userName" not exist.
10./api/todo - 201 code, POST request for adding a new Todo. Can be used JSON format(with default headers - Accept application/json) and XML format(with headers: Accept application/xml).
10.1. Exceptions, that may occur:
- 400 code, InvalidTodoException - if field is missing.
- 400 code, DublicatedTodoException - if such TODO exists.
11.2. Examples of requests:
- JSON:
{
"title": "string"
}- XML:
<Todo>
<title>string</title>
</Todo>12./api/todos - 201 code, GET request for getting all todo's. Headers: depending on what you want to receive, for json - default Accept application/json, for xml - Accept application/xml.
13./api/user/{userName}/assignTodo/{todoId} - 204 code, PUT request for assigning TODO to User.
13.1. Exceptions, that may occur:
- 404 code, UserNotFoundException - if user with provided "userName" not exist.
- 404 code, TodoNotFoundException - if TODO with provided "id" not exist.
- 400 code, NotCompletedUserDataException - if user with provided "userName" has not completed data (Address, Company)
14./api/todo/{todoId} - 204 code, PUT request for changing TODO status. Can be used JSON format(with default headers - Accept application/json) and XML format(with headers: Accept application/xml).
14.1. Exceptions, that may occur:
- 400 code, InvalidTodoStatusException - if field is missing.
- 404 code, TodoNotFoundException - if TODO with provided "id" not exist.
- 400 code, TodoIsNotAssignedException - if TODO is not assigned to any person.
- 400 code, WrongTodoStatusException - if TODO statuses are not in correct way (Todo -> In progress -> Done)
14.2. Examples of requests:
- JSON:
{
"status": "string"
}- XML:
<TodoStatusChangeRequest>
<status>string</status>
</TodoStatusChangeRequest>15./api/apiKeyAuthenticatedResource 200 code, GET request to get resource with authorization with token in headers. Required header: name: Auth-Key, value: 123456789.
16./api/basicAuthAuthenticatedResource 200 code, GET request to get resource with Basic authorization. Authentication data: username: admin, password: password.
/api/fileUpload200 code,POSTrequest to send .txt file and get it's contain in response.
17.1. Exceptions that may occur:
- 400 code, EmptyFileException - if provided file is empty.
- 400 code, TooBigFileException - if provided file size is more than 5000 bytes.
- 400 code, WrongFileExtensionException - if provided file has other than .txt extension.
/api/token/{userName}/generateToken200 code,GETrequest to get authorization token for user. 18.1. Exceptions that may occur:
- 404 code, UserNotFound - if provided userName doesn't belong to any existing users.
api/user/{userName}/todos200 code,GETrequest to get todo's, assigned to current user. Require Bearer token in headers, which can be generated, using previous request. 19.1. Exceptions, that may occur:
- 400 code - if no Authorization header is provided.
- 400 code, InvalidJwtTokenProvided - if empty Authorization header is provided.
- 401 code, InvalidUserTokenException - if token is generated to different user.