View Javadoc
1   package de.dlr.shepard.integrationtests;
2   
3   import static io.restassured.RestAssured.given;
4   import static org.assertj.core.api.Assertions.assertThat;
5   
6   import de.dlr.shepard.ErrorResponse;
7   import de.dlr.shepard.auth.users.io.UserIO;
8   import de.dlr.shepard.common.util.Constants;
9   import io.quarkus.test.junit.QuarkusIntegrationTest;
10  import org.junit.jupiter.api.BeforeAll;
11  import org.junit.jupiter.api.MethodOrderer;
12  import org.junit.jupiter.api.Order;
13  import org.junit.jupiter.api.Test;
14  import org.junit.jupiter.api.TestMethodOrder;
15  
16  @QuarkusIntegrationTest
17  @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
18  public class UserIT extends BaseTestCaseIT {
19  
20    private static UserIO user;
21  
22    private static String usersURL;
23  
24    @BeforeAll
25    public static void setUp() {
26      usersURL = "/" + Constants.USERS;
27    }
28  
29    @Test
30    @Order(1)
31    public void getCurrentUserTest() {
32      var actual = given()
33        .spec(requestSpecOfDefaultUser)
34        .when()
35        .get(usersURL)
36        .then()
37        .statusCode(200)
38        .extract()
39        .as(UserIO.class);
40      user = actual;
41  
42      assertThat(actual.getUsername()).isEqualTo("test_it");
43      assertThat(actual.getEmail()).isEqualTo("integration@test.org");
44      assertThat(actual.getFirstName()).isEqualTo("Integration");
45      assertThat(actual.getLastName()).isEqualTo("Test");
46      assertThat(actual.getApiKeyIds()).contains(defaultUser.getApiKey().getUid());
47      assertThat(actual.getSubscriptionIds()).isNotNull();
48    }
49  
50    @Test
51    @Order(2)
52    public void getUserTest() {
53      var actual = given()
54        .spec(requestSpecOfDefaultUser)
55        .when()
56        .get(usersURL + "/" + nameOfDefaultUser)
57        .then()
58        .statusCode(200)
59        .extract()
60        .as(UserIO.class);
61      assertThat(actual).isEqualTo(user);
62    }
63  
64    @Test
65    public void getUser_userDoesNotExist_notFound() {
66      var actual = given()
67        .spec(requestSpecOfDefaultUser)
68        .when()
69        .get(usersURL + "/fake-user-id")
70        .then()
71        .statusCode(404)
72        .extract()
73        .as(ErrorResponse.class);
74      assertThat(actual.getMessage()).isEqualTo(String.format("User with name %s not found", "fake-user-id"));
75    }
76  }