Merge pull request #12667 from YevhenBondarenko/fix/PROD-5562
Fix audit log save error when saving resource
This commit is contained in:
		
						commit
						7c2977bc8a
					
				@ -217,7 +217,7 @@ public class TbResourceController extends BaseController {
 | 
			
		||||
                                       @RequestBody TbResource resource) throws Exception {
 | 
			
		||||
        resource.setTenantId(getTenantId());
 | 
			
		||||
        checkEntity(resource.getId(), resource, Resource.TB_RESOURCE);
 | 
			
		||||
        return new TbResourceInfo(tbResourceService.save(resource, getCurrentUser()));
 | 
			
		||||
        return tbResourceService.save(resource, getCurrentUser());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "Get Resource Infos (getResources)",
 | 
			
		||||
 | 
			
		||||
@ -126,7 +126,7 @@ public class DefaultTbImageService extends AbstractTbEntityService implements Tb
 | 
			
		||||
            return savedImage;
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            image.setData(null);
 | 
			
		||||
            logEntityActionService.logEntityAction(tenantId, emptyId(EntityType.TB_RESOURCE), image, actionType, user, e);
 | 
			
		||||
            logEntityActionService.logEntityAction(tenantId, emptyId(EntityType.TB_RESOURCE), new TbResourceInfo(image), actionType, user, e);
 | 
			
		||||
            throw e;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -67,7 +67,7 @@ public class DefaultTbResourceService extends AbstractTbEntityService implements
 | 
			
		||||
    private final AccessControlService accessControlService;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public TbResource save(TbResource resource, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
    public TbResourceInfo save(TbResource resource, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        if (resource.getResourceType() == ResourceType.IMAGE) {
 | 
			
		||||
            throw new IllegalArgumentException("Image resource type is not supported");
 | 
			
		||||
        }
 | 
			
		||||
@ -79,12 +79,11 @@ public class DefaultTbResourceService extends AbstractTbEntityService implements
 | 
			
		||||
            } else if (resource.getResourceKey() == null) {
 | 
			
		||||
                resource.setResourceKey(resource.getFileName());
 | 
			
		||||
            }
 | 
			
		||||
            TbResource savedResource = resourceService.saveResource(resource);
 | 
			
		||||
            TbResourceInfo savedResource = new TbResourceInfo(resourceService.saveResource(resource));
 | 
			
		||||
            logEntityActionService.logEntityAction(tenantId, savedResource.getId(), savedResource, actionType, user);
 | 
			
		||||
            return savedResource;
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            logEntityActionService.logEntityAction(tenantId, emptyId(EntityType.TB_RESOURCE),
 | 
			
		||||
                    resource, actionType, user, e);
 | 
			
		||||
            logEntityActionService.logEntityAction(tenantId, emptyId(EntityType.TB_RESOURCE), new TbResourceInfo(resource), actionType, user, e);
 | 
			
		||||
            throw e;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -18,17 +18,26 @@ package org.thingsboard.server.service.resource;
 | 
			
		||||
import org.thingsboard.server.common.data.Dashboard;
 | 
			
		||||
import org.thingsboard.server.common.data.ResourceExportData;
 | 
			
		||||
import org.thingsboard.server.common.data.TbResource;
 | 
			
		||||
import org.thingsboard.server.common.data.TbResourceInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.User;
 | 
			
		||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.lwm2m.LwM2mObject;
 | 
			
		||||
import org.thingsboard.server.common.data.page.PageLink;
 | 
			
		||||
import org.thingsboard.server.common.data.widget.WidgetTypeDetails;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.SimpleTbEntityService;
 | 
			
		||||
import org.thingsboard.server.service.security.model.SecurityUser;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public interface TbResourceService extends SimpleTbEntityService<TbResource> {
 | 
			
		||||
public interface TbResourceService {
 | 
			
		||||
 | 
			
		||||
    default TbResourceInfo save(TbResource entity) throws Exception {
 | 
			
		||||
        return save(entity, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    TbResourceInfo save(TbResource entity, SecurityUser user) throws Exception;
 | 
			
		||||
 | 
			
		||||
    void delete(TbResource entity, User user);
 | 
			
		||||
 | 
			
		||||
    List<LwM2mObject> findLwM2mObject(TenantId tenantId,
 | 
			
		||||
                                      String sortOrder,
 | 
			
		||||
 | 
			
		||||
@ -629,8 +629,11 @@ public abstract class AbstractNotifyEntityTest extends AbstractWebTest {
 | 
			
		||||
 | 
			
		||||
    private String entityClassToEntityTypeName(HasName entity) {
 | 
			
		||||
        String entityType = entityClassToString(entity);
 | 
			
		||||
        return "SAVE_OTA_PACKAGE_INFO_REQUEST".equals(entityType) || "OTA_PACKAGE_INFO".equals(entityType) ?
 | 
			
		||||
                EntityType.OTA_PACKAGE.name().toUpperCase(Locale.ENGLISH) : entityType;
 | 
			
		||||
        return switch (entityType) {
 | 
			
		||||
            case "SAVE_OTA_PACKAGE_INFO_REQUEST", "OTA_PACKAGE_INFO" -> "OTA_PACKAGE";
 | 
			
		||||
            case "TB_RESOURCE_INFO" -> "TB_RESOURCE";
 | 
			
		||||
            default -> entityType;
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private String entityClassToString(HasName entity) {
 | 
			
		||||
 | 
			
		||||
@ -104,7 +104,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        testNotifyEntityAllOneTimeLogEntityActionEntityEqClass(savedResource, savedResource.getId(), savedResource.getId(),
 | 
			
		||||
                savedTenant.getId(), tenantAdmin.getCustomerId(), tenantAdmin.getId(), tenantAdmin.getEmail(),
 | 
			
		||||
@ -119,15 +119,15 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        Assert.assertEquals(DEFAULT_FILE_NAME, savedResource.getResourceKey());
 | 
			
		||||
        Assert.assertArrayEquals(resource.getData(), download(savedResource.getId()));
 | 
			
		||||
 | 
			
		||||
        savedResource.setTitle("My new resource");
 | 
			
		||||
        savedResource.setData(null);
 | 
			
		||||
 | 
			
		||||
        save(savedResource);
 | 
			
		||||
 | 
			
		||||
        TbResource foundResource = doGet("/api/resource/" + savedResource.getId().getId().toString(), TbResource.class);
 | 
			
		||||
        foundResource.setTitle("My new resource");
 | 
			
		||||
        foundResource.setData(null);
 | 
			
		||||
 | 
			
		||||
        savedResource = save(foundResource);
 | 
			
		||||
 | 
			
		||||
        Assert.assertEquals(foundResource.getTitle(), savedResource.getTitle());
 | 
			
		||||
 | 
			
		||||
        testNotifyEntityAllOneTimeLogEntityActionEntityEqClass(foundResource, foundResource.getId(), foundResource.getId(),
 | 
			
		||||
        testNotifyEntityAllOneTimeLogEntityActionEntityEqClass(savedResource, savedResource.getId(), savedResource.getId(),
 | 
			
		||||
                savedTenant.getId(), tenantAdmin.getCustomerId(), tenantAdmin.getId(), tenantAdmin.getEmail(),
 | 
			
		||||
                ActionType.UPDATED, ActionType.UPDATED);
 | 
			
		||||
    }
 | 
			
		||||
@ -147,7 +147,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
                .andExpect(status().isBadRequest())
 | 
			
		||||
                .andExpect(statusReason(containsString(msgError)));
 | 
			
		||||
 | 
			
		||||
        testNotifyEntityEqualsOneTimeServiceNeverError(resource, savedTenant.getId(),
 | 
			
		||||
        testNotifyEntityEqualsOneTimeServiceNeverError(new TbResourceInfo(resource), savedTenant.getId(),
 | 
			
		||||
                tenantAdmin.getId(), tenantAdmin.getEmail(), ActionType.ADDED, new DataValidationException(msgError));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -159,7 +159,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        loginDifferentTenant();
 | 
			
		||||
 | 
			
		||||
@ -188,7 +188,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        TbResource foundResource = doGet("/api/resource/" + savedResource.getUuidId(), TbResource.class);
 | 
			
		||||
        Assert.assertNotNull(foundResource);
 | 
			
		||||
@ -204,7 +204,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        Mockito.reset(tbClusterService, auditLogService);
 | 
			
		||||
        String resourceIdStr = savedResource.getId().getId().toString();
 | 
			
		||||
@ -229,7 +229,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        Mockito.reset(tbClusterService, auditLogService);
 | 
			
		||||
        String resourceIdStr = savedResource.getId().getId().toString();
 | 
			
		||||
@ -274,7 +274,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
            }
 | 
			
		||||
        } while (pageData.hasNext());
 | 
			
		||||
 | 
			
		||||
        testNotifyManyEntityManyTimeMsgToEdgeServiceEntityEqAny(new TbResource(), new TbResource(),
 | 
			
		||||
        testNotifyManyEntityManyTimeMsgToEdgeServiceEntityEqAny(new TbResourceInfo(), new TbResourceInfo(),
 | 
			
		||||
                savedTenant.getId(), tenantAdmin.getCustomerId(), tenantAdmin.getId(), tenantAdmin.getEmail(),
 | 
			
		||||
                ActionType.ADDED, cntEntity, cntEntity, cntEntity);
 | 
			
		||||
 | 
			
		||||
@ -322,7 +322,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
            }
 | 
			
		||||
        } while (pageData.hasNext());
 | 
			
		||||
 | 
			
		||||
        testNotifyManyEntityManyTimeMsgToEdgeServiceEntityEqAny(new TbResource(), new TbResource(),
 | 
			
		||||
        testNotifyManyEntityManyTimeMsgToEdgeServiceEntityEqAny(new TbResourceInfo(), new TbResourceInfo(),
 | 
			
		||||
                savedTenant.getId(), tenantAdmin.getCustomerId(), tenantAdmin.getId(), tenantAdmin.getEmail(), ActionType.ADDED,
 | 
			
		||||
                jksCntEntity + lwm2mCntEntity, jksCntEntity + lwm2mCntEntity, jksCntEntity + lwm2mCntEntity);
 | 
			
		||||
 | 
			
		||||
@ -414,7 +414,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
            resource.setResourceType(ResourceType.PKCS_12);
 | 
			
		||||
            resource.setFileName(i + DEFAULT_FILE_NAME_2);
 | 
			
		||||
            resource.setEncodedData(TEST_DATA);
 | 
			
		||||
            TbResource saved = save(resource);
 | 
			
		||||
            TbResourceInfo saved = save(resource);
 | 
			
		||||
            lwm2mesources.add(saved);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -536,7 +536,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(JS_TEST_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        testNotifyEntityAllOneTimeLogEntityActionEntityEqClass(savedResource, savedResource.getId(), savedResource.getId(),
 | 
			
		||||
                savedTenant.getId(), tenantAdmin.getCustomerId(), tenantAdmin.getId(), tenantAdmin.getEmail(),
 | 
			
		||||
@ -567,7 +567,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(JS_TEST_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        //download as public customer
 | 
			
		||||
        Device device = new Device();
 | 
			
		||||
@ -611,7 +611,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(JS_TEST_FILE_NAME);
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        loginDifferentTenant();
 | 
			
		||||
        loginDifferentTenantCustomer();
 | 
			
		||||
@ -626,17 +626,19 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setTitle("My resource");
 | 
			
		||||
        resource.setFileName("3.pks");
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
        resource.setEtag(savedResource.getEtag());
 | 
			
		||||
 | 
			
		||||
        savedResource.setEncodedData(TEST_DATA);
 | 
			
		||||
        doPost("/api/resource", savedResource)
 | 
			
		||||
        TbResource foundResource = doGet("/api/resource/" + savedResource.getUuidId(), TbResource.class);
 | 
			
		||||
 | 
			
		||||
        foundResource.setEncodedData(TEST_DATA);
 | 
			
		||||
        doPost("/api/resource", foundResource)
 | 
			
		||||
                .andExpect(status().isBadRequest())
 | 
			
		||||
                .andExpect(statusReason(containsString("can't be updated")));
 | 
			
		||||
 | 
			
		||||
        savedResource.setData(null);
 | 
			
		||||
        savedResource.setTitle("Updated resource");
 | 
			
		||||
        savedResource = doPost("/api/resource", savedResource, TbResource.class);
 | 
			
		||||
        foundResource.setData(null);
 | 
			
		||||
        foundResource.setTitle("Updated resource");
 | 
			
		||||
        savedResource = doPost("/api/resource", foundResource, TbResource.class);
 | 
			
		||||
        assertThat(savedResource.getTitle()).isEqualTo("Updated resource");
 | 
			
		||||
        assertThat(savedResource.getFileName()).isEqualTo(resource.getFileName());
 | 
			
		||||
        assertThat(savedResource.getEtag()).isEqualTo(resource.getEtag());
 | 
			
		||||
@ -650,14 +652,16 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setTitle("My resource");
 | 
			
		||||
        resource.setFileName("module.js");
 | 
			
		||||
        resource.setEncodedData(TEST_DATA);
 | 
			
		||||
        TbResource savedResource = save(resource);
 | 
			
		||||
        resource.setEtag(savedResource.getEtag());
 | 
			
		||||
        TbResourceInfo savedResource = save(resource);
 | 
			
		||||
 | 
			
		||||
        TbResource foundResource = doGet("/api/resource/" + savedResource.getUuidId(), TbResource.class);
 | 
			
		||||
        resource.setEtag(foundResource.getEtag());
 | 
			
		||||
 | 
			
		||||
        String newData = Base64.getEncoder().encodeToString(new byte[]{1, 2, 3});
 | 
			
		||||
        savedResource.setEncodedData(newData);
 | 
			
		||||
        savedResource.setFileName("new-module.js");
 | 
			
		||||
        savedResource.setTitle("Updated title");
 | 
			
		||||
        savedResource = save(savedResource);
 | 
			
		||||
        foundResource.setEncodedData(newData);
 | 
			
		||||
        foundResource.setFileName("new-module.js");
 | 
			
		||||
        foundResource.setTitle("Updated title");
 | 
			
		||||
        savedResource = save(foundResource);
 | 
			
		||||
 | 
			
		||||
        assertThat(savedResource.getTitle()).isEqualTo("Updated title");
 | 
			
		||||
        assertThat(savedResource.getFileName()).isEqualTo("new-module.js");
 | 
			
		||||
@ -669,7 +673,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
    public void testGetLwm2mListObjectsPage() throws Exception {
 | 
			
		||||
        loginTenantAdmin();
 | 
			
		||||
 | 
			
		||||
        List<TbResource> resources = loadLwm2mResources();
 | 
			
		||||
        List<TbResourceInfo> resources = loadLwm2mResources();
 | 
			
		||||
 | 
			
		||||
        List<LwM2mObject> objects =
 | 
			
		||||
                doGetTyped("/api/resource/lwm2m/page?pageSize=100&page=0", new TypeReference<>() {});
 | 
			
		||||
@ -683,7 +687,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
    public void testGetLwm2mListObjects() throws Exception {
 | 
			
		||||
        loginTenantAdmin();
 | 
			
		||||
 | 
			
		||||
        List<TbResource> resources = loadLwm2mResources();
 | 
			
		||||
        List<TbResourceInfo> resources = loadLwm2mResources();
 | 
			
		||||
 | 
			
		||||
        List<LwM2mObject> objects =
 | 
			
		||||
                doGetTyped("/api/resource/lwm2m?sortProperty=id&sortOrder=ASC&objectIds=3_1.2,5_1.2,19_1.1", new TypeReference<>() {});
 | 
			
		||||
@ -693,7 +697,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        removeLoadResources(resources);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private TbResource save(TbResource tbResource) throws Exception {
 | 
			
		||||
    private TbResourceInfo save(TbResource tbResource) throws Exception {
 | 
			
		||||
        return doPostWithTypedResponse("/api/resource", tbResource, new TypeReference<>() {
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
@ -709,10 +713,10 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    private List<TbResource> loadLwm2mResources() throws Exception {
 | 
			
		||||
    private List<TbResourceInfo> loadLwm2mResources() throws Exception {
 | 
			
		||||
        var models = List.of("1", "2", "3", "5", "6", "9", "19", "3303");
 | 
			
		||||
 | 
			
		||||
        List<TbResource> resources = new ArrayList<>(models.size());
 | 
			
		||||
        List<TbResourceInfo> resources = new ArrayList<>(models.size());
 | 
			
		||||
 | 
			
		||||
        for (String model : models) {
 | 
			
		||||
            String fileName = model + ".xml";
 | 
			
		||||
@ -728,7 +732,7 @@ public class TbResourceControllerTest extends AbstractControllerTest {
 | 
			
		||||
        return resources;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void removeLoadResources(List<TbResource> resources) throws Exception {
 | 
			
		||||
    private void removeLoadResources(List<TbResourceInfo> resources) throws Exception {
 | 
			
		||||
        for (TbResourceInfo resource : resources) {
 | 
			
		||||
            doDelete("/api/resource/" + resource.getId().getId().toString())
 | 
			
		||||
                    .andExpect(status().isOk());
 | 
			
		||||
 | 
			
		||||
@ -202,7 +202,7 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private TbResource createResource(String title, String filename) throws Exception {
 | 
			
		||||
    private TbResourceInfo createResource(String title, String filename) throws Exception {
 | 
			
		||||
        TbResource resource = new TbResource();
 | 
			
		||||
        resource.setTenantId(tenantId);
 | 
			
		||||
        resource.setTitle(title);
 | 
			
		||||
@ -222,25 +222,29 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setData(TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = tbResourceService.save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = tbResourceService.save(resource);
 | 
			
		||||
 | 
			
		||||
        Assert.assertNotNull(savedResource);
 | 
			
		||||
        Assert.assertNotNull(savedResource.getId());
 | 
			
		||||
        Assert.assertTrue(savedResource.getCreatedTime() > 0);
 | 
			
		||||
        assertEquals(resource.getTenantId(), savedResource.getTenantId());
 | 
			
		||||
        assertEquals(resource.getTitle(), savedResource.getTitle());
 | 
			
		||||
        assertEquals(resource.getResourceKey(), savedResource.getResourceKey());
 | 
			
		||||
        assertArrayEquals(TEST_DATA, savedResource.getData());
 | 
			
		||||
 | 
			
		||||
        savedResource.setTitle("My new resource");
 | 
			
		||||
        savedResource.setData(null);
 | 
			
		||||
 | 
			
		||||
        tbResourceService.save(savedResource);
 | 
			
		||||
        TbResource foundResource = resourceService.findResourceById(tenantId, savedResource.getId());
 | 
			
		||||
        assertEquals(foundResource.getTitle(), savedResource.getTitle());
 | 
			
		||||
 | 
			
		||||
        Assert.assertNotNull(foundResource);
 | 
			
		||||
        Assert.assertNotNull(foundResource.getId());
 | 
			
		||||
        Assert.assertTrue(foundResource.getCreatedTime() > 0);
 | 
			
		||||
        assertEquals(resource.getTenantId(), foundResource.getTenantId());
 | 
			
		||||
        assertEquals(resource.getTitle(), foundResource.getTitle());
 | 
			
		||||
        assertEquals(resource.getResourceKey(), foundResource.getResourceKey());
 | 
			
		||||
        assertArrayEquals(TEST_DATA, foundResource.getData());
 | 
			
		||||
 | 
			
		||||
        String title = "My new resource";
 | 
			
		||||
 | 
			
		||||
        foundResource.setTitle(title);
 | 
			
		||||
        foundResource.setData(null);
 | 
			
		||||
 | 
			
		||||
        tbResourceService.save(foundResource);
 | 
			
		||||
        foundResource = resourceService.findResourceById(tenantId, foundResource.getId());
 | 
			
		||||
        assertEquals(title, foundResource.getTitle());
 | 
			
		||||
        assertArrayEquals(foundResource.getData(), TEST_DATA);
 | 
			
		||||
 | 
			
		||||
        tbResourceService.delete(savedResource, null);
 | 
			
		||||
        tbResourceService.delete(foundResource, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -251,17 +255,19 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setFileName("test_model.xml");
 | 
			
		||||
        resource.setEncodedData(Base64.getEncoder().encodeToString(LWM2M_TEST_MODEL.getBytes()));
 | 
			
		||||
 | 
			
		||||
        TbResource savedResource = tbResourceService.save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = tbResourceService.save(resource);
 | 
			
		||||
 | 
			
		||||
        Assert.assertNotNull(savedResource);
 | 
			
		||||
        Assert.assertNotNull(savedResource.getId());
 | 
			
		||||
        Assert.assertTrue(savedResource.getCreatedTime() > 0);
 | 
			
		||||
        assertEquals(resource.getTenantId(), savedResource.getTenantId());
 | 
			
		||||
        assertEquals("My first resource id=0 v1.0", savedResource.getTitle());
 | 
			
		||||
        assertEquals("0_1.0", savedResource.getResourceKey());
 | 
			
		||||
        assertArrayEquals(savedResource.getData(), LWM2M_TEST_MODEL.getBytes());
 | 
			
		||||
        TbResource foundResource = resourceService.findResourceById(tenantId, savedResource.getId());
 | 
			
		||||
 | 
			
		||||
        tbResourceService.delete(savedResource, null);
 | 
			
		||||
        Assert.assertNotNull(foundResource);
 | 
			
		||||
        Assert.assertNotNull(foundResource.getId());
 | 
			
		||||
        Assert.assertTrue(foundResource.getCreatedTime() > 0);
 | 
			
		||||
        assertEquals(resource.getTenantId(), foundResource.getTenantId());
 | 
			
		||||
        assertEquals("My first resource id=0 v1.0", foundResource.getTitle());
 | 
			
		||||
        assertEquals("0_1.0", foundResource.getResourceKey());
 | 
			
		||||
        assertArrayEquals(foundResource.getData(), LWM2M_TEST_MODEL.getBytes());
 | 
			
		||||
 | 
			
		||||
        tbResourceService.delete(foundResource, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -271,11 +277,12 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setTitle("My resource");
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setData(TEST_DATA);
 | 
			
		||||
        TbResource savedResource = tbResourceService.save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = tbResourceService.save(resource);
 | 
			
		||||
 | 
			
		||||
        assertEquals(TenantId.SYS_TENANT_ID, savedResource.getTenantId());
 | 
			
		||||
 | 
			
		||||
        tbResourceService.delete(savedResource, null);
 | 
			
		||||
        TbResource foundResource = resourceService.findResourceById(tenantId, savedResource.getId());
 | 
			
		||||
        tbResourceService.delete(foundResource, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -286,7 +293,7 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setTitle("My resource");
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setData(TEST_DATA);
 | 
			
		||||
        resource = tbResourceService.save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = tbResourceService.save(resource);
 | 
			
		||||
 | 
			
		||||
        TbResource resource2 = new TbResource();
 | 
			
		||||
        resource2.setTenantId(tenantId);
 | 
			
		||||
@ -294,11 +301,11 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource2.setTitle("My resource");
 | 
			
		||||
        resource2.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource2.setData(TEST_DATA);
 | 
			
		||||
        resource2 = tbResourceService.save(resource2);
 | 
			
		||||
        TbResourceInfo savedResource2 = tbResourceService.save(resource2);
 | 
			
		||||
 | 
			
		||||
        assertThat(resource2.getId()).isNotEqualTo(resource.getId());
 | 
			
		||||
        assertThat(resource2.getFileName()).isEqualTo("test.jks");
 | 
			
		||||
        assertThat(resource2.getResourceKey()).isEqualTo("test_(1).jks");
 | 
			
		||||
        assertThat(savedResource2.getId()).isNotEqualTo(savedResource.getId());
 | 
			
		||||
        assertThat(savedResource2.getFileName()).isEqualTo("test.jks");
 | 
			
		||||
        assertThat(savedResource2.getResourceKey()).isEqualTo("test_(1).jks");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -348,12 +355,13 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setTitle("My resource");
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setData(TEST_DATA);
 | 
			
		||||
        TbResource savedResource = tbResourceService.save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = tbResourceService.save(resource);
 | 
			
		||||
 | 
			
		||||
        TbResource foundResource = resourceService.findResourceById(tenantId, savedResource.getId());
 | 
			
		||||
        Assert.assertNotNull(foundResource);
 | 
			
		||||
        assertEquals(savedResource, foundResource);
 | 
			
		||||
        tbResourceService.delete(savedResource, null);
 | 
			
		||||
        assertEquals(savedResource, new TbResourceInfo(foundResource));
 | 
			
		||||
        assertArrayEquals(TEST_DATA, foundResource.getData());
 | 
			
		||||
        tbResourceService.delete(foundResource, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -364,12 +372,13 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setTitle("My resource");
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setData(TEST_DATA);
 | 
			
		||||
        TbResource savedResource = tbResourceService.save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = tbResourceService.save(resource);
 | 
			
		||||
 | 
			
		||||
        TbResource foundResource = resourceService.findResourceByTenantIdAndKey(tenantId, savedResource.getResourceType(), savedResource.getResourceKey());
 | 
			
		||||
        Assert.assertNotNull(foundResource);
 | 
			
		||||
        assertEquals(savedResource, foundResource);
 | 
			
		||||
        tbResourceService.delete(savedResource, null);
 | 
			
		||||
        assertEquals(savedResource, new TbResourceInfo(foundResource));
 | 
			
		||||
        assertArrayEquals(TEST_DATA, foundResource.getData());
 | 
			
		||||
        tbResourceService.delete(foundResource, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -379,11 +388,11 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
        resource.setTitle("My resource");
 | 
			
		||||
        resource.setFileName(DEFAULT_FILE_NAME);
 | 
			
		||||
        resource.setData(TEST_DATA);
 | 
			
		||||
        TbResource savedResource = tbResourceService.save(resource);
 | 
			
		||||
        TbResourceInfo savedResource = tbResourceService.save(resource);
 | 
			
		||||
 | 
			
		||||
        TbResource foundResource = resourceService.findResourceById(tenantId, savedResource.getId());
 | 
			
		||||
        Assert.assertNotNull(foundResource);
 | 
			
		||||
        tbResourceService.delete(savedResource, null);
 | 
			
		||||
        tbResourceService.delete(foundResource, null);
 | 
			
		||||
        foundResource = resourceService.findResourceById(tenantId, savedResource.getId());
 | 
			
		||||
        Assert.assertNull(foundResource);
 | 
			
		||||
    }
 | 
			
		||||
@ -471,7 +480,7 @@ public class BaseTbResourceServiceTest extends AbstractControllerTest {
 | 
			
		||||
            resource.setResourceType(ResourceType.JKS);
 | 
			
		||||
            resource.setFileName(i + DEFAULT_FILE_NAME);
 | 
			
		||||
            resource.setData(TEST_DATA);
 | 
			
		||||
            resources.add(new TbResourceInfo(tbResourceService.save(resource)));
 | 
			
		||||
            resources.add(tbResourceService.save(resource));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        List<TbResourceInfo> loadedResources = new ArrayList<>();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user