Merge pull request #9586 from YevhenBondarenko/fix/lwm2m-resources
fixed get lwm2m resources
This commit is contained in:
commit
719da4492f
@ -17,6 +17,7 @@ package org.thingsboard.server.controller;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@ -34,6 +35,7 @@ import org.thingsboard.server.common.data.TbResourceInfo;
|
|||||||
import org.thingsboard.server.common.data.Tenant;
|
import org.thingsboard.server.common.data.Tenant;
|
||||||
import org.thingsboard.server.common.data.User;
|
import org.thingsboard.server.common.data.User;
|
||||||
import org.thingsboard.server.common.data.audit.ActionType;
|
import org.thingsboard.server.common.data.audit.ActionType;
|
||||||
|
import org.thingsboard.server.common.data.lwm2m.LwM2mObject;
|
||||||
import org.thingsboard.server.common.data.page.PageData;
|
import org.thingsboard.server.common.data.page.PageData;
|
||||||
import org.thingsboard.server.common.data.page.PageLink;
|
import org.thingsboard.server.common.data.page.PageLink;
|
||||||
import org.thingsboard.server.common.data.security.Authority;
|
import org.thingsboard.server.common.data.security.Authority;
|
||||||
@ -614,6 +616,60 @@ public class TbResourceControllerTest extends AbstractControllerTest {
|
|||||||
.andExpect(status().isForbidden());
|
.andExpect(status().isForbidden());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetLwm2mListObjectsPage() throws Exception {
|
||||||
|
loginTenantAdmin();
|
||||||
|
|
||||||
|
List<TbResource> resources = loadLwm2mResources();
|
||||||
|
|
||||||
|
List<LwM2mObject> objects =
|
||||||
|
doGetTyped("/api/resource/lwm2m/page?pageSize=100&page=0", new TypeReference<>(){});
|
||||||
|
Assert.assertNotNull(objects);
|
||||||
|
Assert.assertEquals(resources.size(), objects.size());
|
||||||
|
|
||||||
|
removeLoadResources(resources);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetLwm2mListObjects() throws Exception {
|
||||||
|
loginTenantAdmin();
|
||||||
|
|
||||||
|
List<TbResource> resources = loadLwm2mResources();
|
||||||
|
|
||||||
|
List<LwM2mObject> objects =
|
||||||
|
doGetTyped("/api/resource/lwm2m?sortProperty=id&sortOrder=ASC&objectIds=3_1.0,5_1.0,19_1.1", new TypeReference<>(){});
|
||||||
|
Assert.assertNotNull(objects);
|
||||||
|
Assert.assertEquals(3, objects.size());
|
||||||
|
|
||||||
|
removeLoadResources(resources);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<TbResource> loadLwm2mResources() throws Exception {
|
||||||
|
var models = List.of("1", "2", "3", "5", "6", "9", "19", "3303");
|
||||||
|
|
||||||
|
List<TbResource> resources = new ArrayList<>(models.size());
|
||||||
|
|
||||||
|
for (String model : models) {
|
||||||
|
String fileName = model + ".xml";
|
||||||
|
byte[] bytes = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream("lwm2m/" + fileName));
|
||||||
|
|
||||||
|
TbResource resource = new TbResource();
|
||||||
|
resource.setResourceType(ResourceType.LWM2M_MODEL);
|
||||||
|
resource.setFileName(fileName);
|
||||||
|
resource.setData(Base64.getEncoder().encodeToString(bytes));
|
||||||
|
|
||||||
|
resources.add(save(resource));
|
||||||
|
}
|
||||||
|
return resources;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void removeLoadResources(List<TbResource> resources) throws Exception {
|
||||||
|
for (TbResourceInfo resource : resources) {
|
||||||
|
doDelete("/api/resource/" + resource.getId().getId().toString())
|
||||||
|
.andExpect(status().isOk());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private TbResource save(TbResource tbResource) throws Exception {
|
private TbResource save(TbResource tbResource) throws Exception {
|
||||||
return doPostWithTypedResponse("/api/resource", tbResource, new TypeReference<>() {
|
return doPostWithTypedResponse("/api/resource", tbResource, new TypeReference<>() {
|
||||||
});
|
});
|
||||||
|
|||||||
@ -45,7 +45,7 @@ public interface TbResourceRepository extends JpaRepository<TbResourceEntity, UU
|
|||||||
@Param("tenantId") UUID tenantId,
|
@Param("tenantId") UUID tenantId,
|
||||||
@Param("systemAdminId") UUID sysAdminId,
|
@Param("systemAdminId") UUID sysAdminId,
|
||||||
@Param("resourceType") String resourceType,
|
@Param("resourceType") String resourceType,
|
||||||
@Param("searchText") String search,
|
@Param("searchText") String searchText,
|
||||||
Pageable pageable);
|
Pageable pageable);
|
||||||
|
|
||||||
@Query("SELECT tr FROM TbResourceEntity tr " +
|
@Query("SELECT tr FROM TbResourceEntity tr " +
|
||||||
@ -61,7 +61,7 @@ public interface TbResourceRepository extends JpaRepository<TbResourceEntity, UU
|
|||||||
List<TbResourceEntity> findResources(@Param("tenantId") UUID tenantId,
|
List<TbResourceEntity> findResources(@Param("tenantId") UUID tenantId,
|
||||||
@Param("systemAdminId") UUID sysAdminId,
|
@Param("systemAdminId") UUID sysAdminId,
|
||||||
@Param("resourceType") String resourceType,
|
@Param("resourceType") String resourceType,
|
||||||
@Param("searchText") String search);
|
@Param("searchText") String searchText);
|
||||||
|
|
||||||
@Query("SELECT tr FROM TbResourceEntity tr " +
|
@Query("SELECT tr FROM TbResourceEntity tr " +
|
||||||
"WHERE tr.resourceType = :resourceType " +
|
"WHERE tr.resourceType = :resourceType " +
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user