Browse Source

Refactor tests to support outdate tokens after logout

pull/7435/head
oyurov 4 years ago
parent
commit
3d7b829a99
  1. 12
      application/src/test/java/org/thingsboard/server/controller/AbstractWebTest.java
  2. 4
      application/src/test/java/org/thingsboard/server/controller/BaseAlarmControllerTest.java
  3. 2
      application/src/test/java/org/thingsboard/server/controller/BaseAuthControllerTest.java
  4. 8
      application/src/test/java/org/thingsboard/server/controller/BaseUserControllerTest.java

12
application/src/test/java/org/thingsboard/server/controller/AbstractWebTest.java

@ -234,7 +234,7 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
customerUser = createUserAndLogin(customerUser, CUSTOMER_USER_PASSWORD);
customerUserId = customerUser.getId();
logout();
resetTokens();
log.info("Executed web test setup");
}
@ -336,7 +336,7 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
Assert.assertNotNull(savedDifferentCustomer);
differentCustomerId = savedDifferentCustomer.getId();
logout();
resetTokens();
}
protected void deleteDifferentTenant() throws Exception {
@ -350,7 +350,7 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
protected User createUserAndLogin(User user, String password) throws Exception {
User savedUser = doPost("/api/user", user, User.class);
logout();
resetTokens();
JsonNode activateRequest = getActivateRequest(password);
JsonNode tokenInfo = readResponse(doPost("/api/noauth/activate", activateRequest).andExpect(status().isOk()), JsonNode.class);
validateAndSetJwtToken(tokenInfo, user.getEmail());
@ -413,12 +413,16 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
Assert.assertEquals(username, subject);
}
protected void logout() throws Exception {
protected void resetTokens() throws Exception {
this.token = null;
this.refreshToken = null;
this.username = null;
}
protected void logout() throws Exception {
doPost("/api/auth/logout");
}
protected void setJwtToken(MockHttpServletRequestBuilder request) {
if (this.token != null) {
request.header(ThingsboardSecurityConfiguration.JWT_TOKEN_HEADER_PARAM, "Bearer " + this.token);

4
application/src/test/java/org/thingsboard/server/controller/BaseAlarmControllerTest.java

@ -77,7 +77,7 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
device.setCustomerId(customerId);
customerDevice = doPost("/api/device", device, Device.class);
logout();
resetTokens();
}
@After
@ -423,7 +423,7 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
testNotifyEntityNeverMsgToEdgeServiceOneTime(alarm, alarm.getId(), tenantId, ActionType.ADDED);
logout();
resetTokens();
JsonNode publicLoginRequest = JacksonUtil.toJsonNode("{\"publicId\": \"" + publicId + "\"}");
JsonNode tokens = doPost("/api/auth/login/public", publicLoginRequest, JsonNode.class);

2
application/src/test/java/org/thingsboard/server/controller/BaseAuthControllerTest.java

@ -60,6 +60,8 @@ public abstract class BaseAuthControllerTest extends AbstractControllerTest {
logout();
doGet("/api/auth/user")
.andExpect(status().isUnauthorized());
resetTokens();
}
@Test

8
application/src/test/java/org/thingsboard/server/controller/BaseUserControllerTest.java

@ -106,7 +106,7 @@ public abstract class BaseUserControllerTest extends AbstractControllerTest {
ActionType.ADDED, ActionType.ADDED, 1, 1, 1);
Mockito.reset(tbClusterService, auditLogService);
logout();
resetTokens();
doGet("/api/noauth/activate?activateToken={activateToken}", TestMailService.currentActivateToken)
.andExpect(status().isSeeOther())
.andExpect(header().string(HttpHeaders.LOCATION, "/login/createPassword?activateToken=" + TestMailService.currentActivateToken));
@ -123,7 +123,7 @@ public abstract class BaseUserControllerTest extends AbstractControllerTest {
.andExpect(jsonPath("$.authority", is(Authority.TENANT_ADMIN.name())))
.andExpect(jsonPath("$.email", is(email)));
logout();
resetTokens();
login(email, "testPassword");
@ -218,7 +218,7 @@ public abstract class BaseUserControllerTest extends AbstractControllerTest {
user.setLastName("Downs");
User savedUser = createUserAndLogin(user, "testPassword1");
logout();
resetTokens();
JsonNode resetPasswordByEmailRequest = new ObjectMapper().createObjectNode()
.put("email", email);
@ -244,7 +244,7 @@ public abstract class BaseUserControllerTest extends AbstractControllerTest {
.andExpect(jsonPath("$.authority", is(Authority.TENANT_ADMIN.name())))
.andExpect(jsonPath("$.email", is(email)));
logout();
resetTokens();
login(email, "testPassword2");
doGet("/api/auth/user")

Loading…
Cancel
Save