Package com.sparc.knappsack.components.services

Source Code of com.sparc.knappsack.components.services.LocalStorageServiceIT

package com.sparc.knappsack.components.services;

import com.sparc.knappsack.components.entities.*;
import com.sparc.knappsack.enums.AppFileType;
import com.sparc.knappsack.enums.StorageType;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

import static org.junit.Assert.*;

public class LocalStorageServiceIT extends AbstractServiceTests {

    @Qualifier("storageServiceFactory")
    @Autowired
    private StorageServiceFactory storageServiceFactory;

    @Autowired(required = true)
    private OrganizationService organizationService;

    @Autowired(required = true)
    private StorageConfigurationService storageConfigurationService;

    @Autowired(required = true)
    private AppFileService appFileService;

    @Test
    public void saveAndDeleteAppFileTest() {
        Organization organization = getOrganization();
        String content = "Test Content";
        String uuid = UUID.randomUUID().toString();
        MultipartFile multipartFile = new MockMultipartFile("TestFile", "TestFile.txt", "text/plain", content.getBytes());

        StorageService storageService = storageServiceFactory.getStorageService(StorageType.LOCAL);
        AppFile appFile = storageService.save(multipartFile, "test", organization.getOrgStorageConfig().getId(), organization.getOrgStorageConfig().getStorageConfigurations().get(0).getId(), uuid);
        appFile.setStorable(organization.getCategories().get(0));
        appFileService.add(appFile);
        List<AppFile> appFiles = appFileService.getAll();
        assertTrue(appFiles.size() == 1);
        appFileService.delete(appFile);
        appFile = appFileService.get(appFile.getId());
        assertNull(appFile);
    }

    @Test
    public void saveAndDeleteIconTest() {
        Organization organization = getOrganization();
        String content = "Test Content";
        String uuid = UUID.randomUUID().toString();
        MultipartFile multipartFile = new MockMultipartFile("TestFile", "TestFile.txt", "text/plain", content.getBytes());

        StorageService storageService = storageServiceFactory.getStorageService(StorageType.LOCAL);
        AppFile appFile = storageService.save(multipartFile, AppFileType.ICON.getPathName(), organization.getOrgStorageConfig().getId(), organization.getOrgStorageConfig().getStorageConfigurations().get(0).getId(), uuid);
        appFile.setStorable(organization.getCategories().get(0));
        appFileService.add(appFile);
        List<AppFile> appFiles = appFileService.getAll();
        assertTrue(appFiles.size() == 1);
        appFileService.delete(appFile);
        appFile = appFileService.get(appFile.getId());
        assertNull(appFile);
    }

    private Organization getOrganization() {
        Organization organization = new Organization();
        organization.setName("Test Organization Add");
        OrgStorageConfig orgStorageConfig = new OrgStorageConfig();
        orgStorageConfig.setOrganization(organization);
        orgStorageConfig.setPrefix("add_test");
        List<StorageConfiguration> storageConfigurations = new ArrayList<StorageConfiguration>();
        storageConfigurations.add(getStorageConfiguration());
        orgStorageConfig.setStorageConfigurations(storageConfigurations);
        organization.setOrgStorageConfig(orgStorageConfig);
        Category category = new Category();
        category.setStorageConfiguration(storageConfigurations.get(0));
        category.setDescription("Test Category");
        category.setName("Test Category");
        category.setOrganization(organization);
        organization.getCategories().add(category);
        organizationService.add(organization);
        organizationService.getAll();
        Organization retrievedOrganization = organizationService.getByName("Test Organization Add");
        assertNotNull(retrievedOrganization);
        return retrievedOrganization;
    }

    private StorageConfiguration getStorageConfiguration() {
        StorageConfiguration storageConfiguration = new LocalStorageConfiguration();
        File file = new File(ClassLoader.getSystemResource(".").getPath());
        String baseLocation = file.getAbsolutePath();

        storageConfiguration.setBaseLocation(baseLocation);
        storageConfiguration.setName("Local Storage Config");
        storageConfiguration.setStorageType(StorageType.LOCAL);

        storageConfigurationService.add(storageConfiguration);
        List<StorageConfiguration> storageConfigurations = storageConfigurationService.getAll();
        return storageConfigurations.get(0);
    }

}
TOP

Related Classes of com.sparc.knappsack.components.services.LocalStorageServiceIT

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.