Merge pull request #6352 from desoliture1/subCustomerAlarmsCheckerTestsFix
[3.4] Tests for Alarms availability with users hierarchy
This commit is contained in:
commit
a9cad82371
@ -112,6 +112,7 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
|
|||||||
protected ObjectMapper mapper = new ObjectMapper();
|
protected ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
protected static final String TEST_TENANT_NAME = "TEST TENANT";
|
protected static final String TEST_TENANT_NAME = "TEST TENANT";
|
||||||
|
protected static final String TEST_DIFFERENT_TENANT_NAME = "TEST DIFFERENT TENANT";
|
||||||
|
|
||||||
protected static final String SYS_ADMIN_EMAIL = "sysadmin@thingsboard.org";
|
protected static final String SYS_ADMIN_EMAIL = "sysadmin@thingsboard.org";
|
||||||
private static final String SYS_ADMIN_PASSWORD = "sysadmin";
|
private static final String SYS_ADMIN_PASSWORD = "sysadmin";
|
||||||
@ -119,9 +120,15 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
|
|||||||
protected static final String TENANT_ADMIN_EMAIL = "testtenant@thingsboard.org";
|
protected static final String TENANT_ADMIN_EMAIL = "testtenant@thingsboard.org";
|
||||||
protected static final String TENANT_ADMIN_PASSWORD = "tenant";
|
protected static final String TENANT_ADMIN_PASSWORD = "tenant";
|
||||||
|
|
||||||
|
protected static final String DIFFERENT_TENANT_ADMIN_EMAIL = "testdifftenant@thingsboard.org";
|
||||||
|
private static final String DIFFERENT_TENANT_ADMIN_PASSWORD = "difftenant";
|
||||||
|
|
||||||
protected static final String CUSTOMER_USER_EMAIL = "testcustomer@thingsboard.org";
|
protected static final String CUSTOMER_USER_EMAIL = "testcustomer@thingsboard.org";
|
||||||
private static final String CUSTOMER_USER_PASSWORD = "customer";
|
private static final String CUSTOMER_USER_PASSWORD = "customer";
|
||||||
|
|
||||||
|
protected static final String DIFFERENT_CUSTOMER_USER_EMAIL = "testdifferentcustomer@thingsboard.org";
|
||||||
|
private static final String DIFFERENT_CUSTOMER_USER_PASSWORD = "diffcustomer";
|
||||||
|
|
||||||
/** See {@link org.springframework.test.web.servlet.DefaultMvcResult#getAsyncResult(long)}
|
/** See {@link org.springframework.test.web.servlet.DefaultMvcResult#getAsyncResult(long)}
|
||||||
* and {@link org.springframework.mock.web.MockAsyncContext#getTimeout()}
|
* and {@link org.springframework.mock.web.MockAsyncContext#getTimeout()}
|
||||||
*/
|
*/
|
||||||
@ -138,6 +145,8 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
|
|||||||
protected TenantId tenantId;
|
protected TenantId tenantId;
|
||||||
protected UserId tenantAdminUserId;
|
protected UserId tenantAdminUserId;
|
||||||
protected CustomerId customerId;
|
protected CustomerId customerId;
|
||||||
|
protected TenantId differentTenantId;
|
||||||
|
protected CustomerId differentCustomerId;
|
||||||
|
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
private HttpMessageConverter mappingJackson2HttpMessageConverter;
|
private HttpMessageConverter mappingJackson2HttpMessageConverter;
|
||||||
@ -273,36 +282,52 @@ public abstract class AbstractWebTest extends AbstractInMemoryStorageTest {
|
|||||||
private Customer savedDifferentCustomer;
|
private Customer savedDifferentCustomer;
|
||||||
|
|
||||||
protected void loginDifferentTenant() throws Exception {
|
protected void loginDifferentTenant() throws Exception {
|
||||||
loginSysAdmin();
|
|
||||||
if (savedDifferentTenant != null) {
|
if (savedDifferentTenant != null) {
|
||||||
deleteDifferentTenant();
|
login(savedDifferentTenant.getEmail(), TENANT_ADMIN_PASSWORD);
|
||||||
|
} else {
|
||||||
|
loginSysAdmin();
|
||||||
|
|
||||||
|
Tenant tenant = new Tenant();
|
||||||
|
tenant.setTitle(TEST_DIFFERENT_TENANT_NAME);
|
||||||
|
savedDifferentTenant = doPost("/api/tenant", tenant, Tenant.class);
|
||||||
|
differentTenantId = savedDifferentTenant.getId();
|
||||||
|
Assert.assertNotNull(savedDifferentTenant);
|
||||||
|
User differentTenantAdmin = new User();
|
||||||
|
differentTenantAdmin.setAuthority(Authority.TENANT_ADMIN);
|
||||||
|
differentTenantAdmin.setTenantId(savedDifferentTenant.getId());
|
||||||
|
differentTenantAdmin.setEmail(DIFFERENT_TENANT_ADMIN_EMAIL);
|
||||||
|
|
||||||
|
createUserAndLogin(differentTenantAdmin, DIFFERENT_TENANT_ADMIN_PASSWORD);
|
||||||
}
|
}
|
||||||
|
|
||||||
Tenant tenant = new Tenant();
|
|
||||||
tenant.setTitle("Different tenant");
|
|
||||||
savedDifferentTenant = doPost("/api/tenant", tenant, Tenant.class);
|
|
||||||
Assert.assertNotNull(savedDifferentTenant);
|
|
||||||
User differentTenantAdmin = new User();
|
|
||||||
differentTenantAdmin.setAuthority(Authority.TENANT_ADMIN);
|
|
||||||
differentTenantAdmin.setTenantId(savedDifferentTenant.getId());
|
|
||||||
differentTenantAdmin.setEmail("different_tenant@thingsboard.org");
|
|
||||||
|
|
||||||
createUserAndLogin(differentTenantAdmin, "testPassword");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void loginDifferentCustomer() throws Exception {
|
protected void loginDifferentCustomer() throws Exception {
|
||||||
|
if (savedDifferentCustomer != null) {
|
||||||
|
login(savedDifferentCustomer.getEmail(), CUSTOMER_USER_PASSWORD);
|
||||||
|
} else {
|
||||||
|
createDifferentCustomer();
|
||||||
|
|
||||||
|
loginTenantAdmin();
|
||||||
|
User differentCustomerUser = new User();
|
||||||
|
differentCustomerUser.setAuthority(Authority.CUSTOMER_USER);
|
||||||
|
differentCustomerUser.setTenantId(tenantId);
|
||||||
|
differentCustomerUser.setCustomerId(savedDifferentCustomer.getId());
|
||||||
|
differentCustomerUser.setEmail(DIFFERENT_CUSTOMER_USER_EMAIL);
|
||||||
|
|
||||||
|
createUserAndLogin(differentCustomerUser, DIFFERENT_CUSTOMER_USER_PASSWORD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void createDifferentCustomer() throws Exception {
|
||||||
loginTenantAdmin();
|
loginTenantAdmin();
|
||||||
|
|
||||||
Customer customer = new Customer();
|
Customer customer = new Customer();
|
||||||
customer.setTitle("Different customer");
|
customer.setTitle("Different customer");
|
||||||
savedDifferentCustomer = doPost("/api/customer", customer, Customer.class);
|
savedDifferentCustomer = doPost("/api/customer", customer, Customer.class);
|
||||||
Assert.assertNotNull(savedDifferentCustomer);
|
Assert.assertNotNull(savedDifferentCustomer);
|
||||||
User differentCustomerUser = new User();
|
differentCustomerId = savedDifferentCustomer.getId();
|
||||||
differentCustomerUser.setAuthority(Authority.CUSTOMER_USER);
|
|
||||||
differentCustomerUser.setTenantId(tenantId);
|
|
||||||
differentCustomerUser.setCustomerId(savedDifferentCustomer.getId());
|
|
||||||
differentCustomerUser.setEmail("different_customer@thingsboard.org");
|
|
||||||
|
|
||||||
createUserAndLogin(differentCustomerUser, "testPassword");
|
logout();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void deleteDifferentTenant() throws Exception {
|
protected void deleteDifferentTenant() throws Exception {
|
||||||
|
|||||||
@ -15,14 +15,23 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.controller;
|
package org.thingsboard.server.controller;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.thingsboard.common.util.JacksonUtil;
|
||||||
import org.thingsboard.server.common.data.Device;
|
import org.thingsboard.server.common.data.Device;
|
||||||
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||||
|
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
||||||
import org.thingsboard.server.common.data.alarm.AlarmStatus;
|
import org.thingsboard.server.common.data.alarm.AlarmStatus;
|
||||||
|
import org.thingsboard.server.common.data.page.PageData;
|
||||||
|
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||||
|
|
||||||
@ -57,14 +66,12 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
public void testCreateAlarmViaCustomer() throws Exception {
|
public void testCreateAlarmViaCustomer() throws Exception {
|
||||||
loginCustomerUser();
|
loginCustomerUser();
|
||||||
createAlarm(TEST_ALARM_TYPE);
|
createAlarm(TEST_ALARM_TYPE);
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCreateAlarmViaTenant() throws Exception {
|
public void testCreateAlarmViaTenant() throws Exception {
|
||||||
loginTenantAdmin();
|
loginTenantAdmin();
|
||||||
createAlarm(TEST_ALARM_TYPE);
|
createAlarm(TEST_ALARM_TYPE);
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -75,7 +82,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm updatedAlarm = doPost("/api/alarm", alarm, Alarm.class);
|
Alarm updatedAlarm = doPost("/api/alarm", alarm, Alarm.class);
|
||||||
Assert.assertNotNull(updatedAlarm);
|
Assert.assertNotNull(updatedAlarm);
|
||||||
Assert.assertEquals(AlarmSeverity.MAJOR, updatedAlarm.getSeverity());
|
Assert.assertEquals(AlarmSeverity.MAJOR, updatedAlarm.getSeverity());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -86,7 +92,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm updatedAlarm = doPost("/api/alarm", alarm, Alarm.class);
|
Alarm updatedAlarm = doPost("/api/alarm", alarm, Alarm.class);
|
||||||
Assert.assertNotNull(updatedAlarm);
|
Assert.assertNotNull(updatedAlarm);
|
||||||
Assert.assertEquals(AlarmSeverity.MAJOR, updatedAlarm.getSeverity());
|
Assert.assertEquals(AlarmSeverity.MAJOR, updatedAlarm.getSeverity());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -96,7 +101,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
alarm.setSeverity(AlarmSeverity.MAJOR);
|
alarm.setSeverity(AlarmSeverity.MAJOR);
|
||||||
loginDifferentTenant();
|
loginDifferentTenant();
|
||||||
doPost("/api/alarm", alarm).andExpect(status().isForbidden());
|
doPost("/api/alarm", alarm).andExpect(status().isForbidden());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -106,7 +110,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
loginDifferentCustomer();
|
loginDifferentCustomer();
|
||||||
alarm.setSeverity(AlarmSeverity.MAJOR);
|
alarm.setSeverity(AlarmSeverity.MAJOR);
|
||||||
doPost("/api/alarm", alarm).andExpect(status().isForbidden());
|
doPost("/api/alarm", alarm).andExpect(status().isForbidden());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -114,7 +117,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
loginCustomerUser();
|
loginCustomerUser();
|
||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isOk());
|
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isOk());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -122,7 +124,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
loginTenantAdmin();
|
loginTenantAdmin();
|
||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isOk());
|
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isOk());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -131,16 +132,14 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
loginDifferentTenant();
|
loginDifferentTenant();
|
||||||
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isForbidden());
|
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isForbidden());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDeleteAlarmViaAnotherCustomer() throws Exception {
|
public void testDeleteAlarmViaDifferentCustomer() throws Exception {
|
||||||
loginCustomerUser();
|
loginCustomerUser();
|
||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
loginDifferentCustomer();
|
loginDifferentCustomer();
|
||||||
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isForbidden());
|
doDelete("/api/alarm/" + alarm.getId()).andExpect(status().isForbidden());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -151,7 +150,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm foundAlarm = doGet("/api/alarm/" + alarm.getId(), Alarm.class);
|
Alarm foundAlarm = doGet("/api/alarm/" + alarm.getId(), Alarm.class);
|
||||||
Assert.assertNotNull(foundAlarm);
|
Assert.assertNotNull(foundAlarm);
|
||||||
Assert.assertEquals(AlarmStatus.CLEARED_UNACK, foundAlarm.getStatus());
|
Assert.assertEquals(AlarmStatus.CLEARED_UNACK, foundAlarm.getStatus());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -162,7 +160,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm foundAlarm = doGet("/api/alarm/" + alarm.getId(), Alarm.class);
|
Alarm foundAlarm = doGet("/api/alarm/" + alarm.getId(), Alarm.class);
|
||||||
Assert.assertNotNull(foundAlarm);
|
Assert.assertNotNull(foundAlarm);
|
||||||
Assert.assertEquals(AlarmStatus.CLEARED_UNACK, foundAlarm.getStatus());
|
Assert.assertEquals(AlarmStatus.CLEARED_UNACK, foundAlarm.getStatus());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -173,7 +170,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm foundAlarm = doGet("/api/alarm/" + alarm.getId(), Alarm.class);
|
Alarm foundAlarm = doGet("/api/alarm/" + alarm.getId(), Alarm.class);
|
||||||
Assert.assertNotNull(foundAlarm);
|
Assert.assertNotNull(foundAlarm);
|
||||||
Assert.assertEquals(AlarmStatus.ACTIVE_ACK, foundAlarm.getStatus());
|
Assert.assertEquals(AlarmStatus.ACTIVE_ACK, foundAlarm.getStatus());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -182,7 +178,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
loginDifferentCustomer();
|
loginDifferentCustomer();
|
||||||
doPost("/api/alarm/" + alarm.getId() + "/clear").andExpect(status().isForbidden());
|
doPost("/api/alarm/" + alarm.getId() + "/clear").andExpect(status().isForbidden());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -191,7 +186,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
loginDifferentTenant();
|
loginDifferentTenant();
|
||||||
doPost("/api/alarm/" + alarm.getId() + "/clear").andExpect(status().isForbidden());
|
doPost("/api/alarm/" + alarm.getId() + "/clear").andExpect(status().isForbidden());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -200,7 +194,6 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
loginDifferentCustomer();
|
loginDifferentCustomer();
|
||||||
doPost("/api/alarm/" + alarm.getId() + "/ack").andExpect(status().isForbidden());
|
doPost("/api/alarm/" + alarm.getId() + "/ack").andExpect(status().isForbidden());
|
||||||
logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -209,7 +202,96 @@ public abstract class BaseAlarmControllerTest extends AbstractControllerTest {
|
|||||||
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
Alarm alarm = createAlarm(TEST_ALARM_TYPE);
|
||||||
loginDifferentTenant();
|
loginDifferentTenant();
|
||||||
doPost("/api/alarm/" + alarm.getId() + "/ack").andExpect(status().isForbidden());
|
doPost("/api/alarm/" + alarm.getId() + "/ack").andExpect(status().isForbidden());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFindAlarmsViaCustomerUser() throws Exception {
|
||||||
|
loginCustomerUser();
|
||||||
|
|
||||||
|
List<Alarm> createdAlarms = new LinkedList<>();
|
||||||
|
|
||||||
|
final int size = 10;
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
createdAlarms.add(
|
||||||
|
createAlarm(TEST_ALARM_TYPE + i)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
var response = doGetTyped(
|
||||||
|
"/api/alarm/" + EntityType.DEVICE + "/"
|
||||||
|
+ customerDevice.getUuidId() + "?page=0&pageSize=" + size,
|
||||||
|
new TypeReference<PageData<AlarmInfo>>() {}
|
||||||
|
);
|
||||||
|
var foundAlarmInfos = response.getData();
|
||||||
|
Assert.assertNotNull("Found pageData is null", foundAlarmInfos);
|
||||||
|
Assert.assertNotEquals(
|
||||||
|
"Expected alarms are not found!",
|
||||||
|
0, foundAlarmInfos.size()
|
||||||
|
);
|
||||||
|
|
||||||
|
boolean allMatch = createdAlarms.stream()
|
||||||
|
.allMatch(alarm -> foundAlarmInfos.stream()
|
||||||
|
.map(Alarm::getType)
|
||||||
|
.anyMatch(type -> alarm.getType().equals(type))
|
||||||
|
);
|
||||||
|
Assert.assertTrue("Created alarm doesn't match any found!", allMatch);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFindAlarmsViaDifferentCustomerUser() throws Exception {
|
||||||
|
loginCustomerUser();
|
||||||
|
|
||||||
|
final int size = 10;
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
createAlarm(TEST_ALARM_TYPE + i);
|
||||||
|
}
|
||||||
|
|
||||||
|
loginDifferentCustomer();
|
||||||
|
doGet("/api/alarm/" + EntityType.DEVICE + "/"
|
||||||
|
+ customerDevice.getUuidId() + "?page=0&pageSize=" + size)
|
||||||
|
.andExpect(status().isForbidden());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFindAlarmsViaPublicCustomer() throws Exception {
|
||||||
|
loginTenantAdmin();
|
||||||
|
|
||||||
|
Device device = new Device();
|
||||||
|
device.setName("Test Public Device");
|
||||||
|
device.setLabel("Label");
|
||||||
|
device.setCustomerId(customerId);
|
||||||
|
device = doPost("/api/device", device, Device.class);
|
||||||
|
device = doPost("/api/customer/public/device/" + device.getUuidId(), Device.class);
|
||||||
|
|
||||||
|
String publicId = device.getCustomerId().toString();
|
||||||
|
|
||||||
|
Alarm alarm = Alarm.builder()
|
||||||
|
.originator(device.getId())
|
||||||
|
.status(AlarmStatus.ACTIVE_UNACK)
|
||||||
|
.severity(AlarmSeverity.CRITICAL)
|
||||||
|
.type("Test")
|
||||||
|
.build();
|
||||||
|
alarm = doPost("/api/alarm", alarm, Alarm.class);
|
||||||
|
Assert.assertNotNull("Saved alarm is null!", alarm);
|
||||||
|
|
||||||
logout();
|
logout();
|
||||||
|
|
||||||
|
|
||||||
|
JsonNode publicLoginRequest = JacksonUtil.toJsonNode("{\"publicId\": \"" + publicId + "\"}");
|
||||||
|
JsonNode tokens = doPost("/api/auth/login/public", publicLoginRequest, JsonNode.class);
|
||||||
|
this.token = tokens.get("token").asText();
|
||||||
|
|
||||||
|
|
||||||
|
PageData<AlarmInfo> pageData = doGetTyped(
|
||||||
|
"/api/alarm/DEVICE/" + device.getUuidId() + "?page=0&pageSize=1", new TypeReference<PageData<AlarmInfo>>() {}
|
||||||
|
);
|
||||||
|
|
||||||
|
Assert.assertNotNull("Found pageData is null", pageData);
|
||||||
|
Assert.assertNotEquals("Expected alarms are not found!", 0, pageData.getTotalElements());
|
||||||
|
|
||||||
|
AlarmInfo alarmInfo = pageData.getData().get(0);
|
||||||
|
boolean equals = alarm.getId().equals(alarmInfo.getId()) && alarm.getType().equals(alarmInfo.getType());
|
||||||
|
Assert.assertTrue("Created alarm doesn't match the found one!", equals);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Alarm createAlarm(String type) throws Exception {
|
private Alarm createAlarm(String type) throws Exception {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user