Package com.sparc.knappsack.components.services

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

package com.sparc.knappsack.components.services;

import com.sparc.knappsack.components.entities.*;
import com.sparc.knappsack.enums.AppState;
import com.sparc.knappsack.enums.ApplicationType;
import com.sparc.knappsack.enums.StorageType;
import com.sparc.knappsack.forms.ApplicationForm;
import com.sparc.knappsack.models.ApplicationModel;
import junit.framework.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.ArrayList;
import java.util.List;

import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

public class ApplicationServiceIT extends AbstractServiceTests {

    @Autowired(required = true)
    private ApplicationService applicationService;

    @Autowired(required = true)
    private GroupService groupService;

    @Autowired(required = true)
    private OrganizationService organizationService;
    @Test
    public void addTest() {
        Application application = getApplication();

        List<Application> applications = applicationService.getAll();
        assertTrue(applications.size() == 1);
        assertEquals(applications.get(0), application);
    }

    @Test
    public void updateTest() {
        Application application = getApplication();
        List<Application> applications = applicationService.getAll();
        assertTrue(applications.size() == 1);
        assertEquals(applications.get(0), application);

        application.setName("New Application");
        applicationService.update(application);
        application = applicationService.get(application.getId());
        assertTrue(application.getName().equals("New Application"));
    }

    @Test
    public void deleteTest() {
        Application application = getApplication();
        List<Application> applications = applicationService.getAll();
        assertTrue(applications.size() == 1);
        assertEquals(applications.get(0), application);

        applicationService.delete(application.getId());
        applications = applicationService.getAll();
        assertTrue(applications.size() == 0);
    }

    @Test
    public void getAllByApplicationType() {
        Application application = getApplication();
        List<Application> applications = applicationService.getAll(ApplicationType.ANDROID);
        assertTrue(applications.size() == 1);
    }

    @Test
    public void getAllByCategory() {
        Application application = getApplication();
        List<Application> applications = applicationService.getAll(application.getCategory());
        assertTrue(applications.size() == 1);
    }

    @Test
    public void getAllByCategoryApplicationType() {
        Application application = getApplication();
        List<ApplicationModel> applications = applicationService.getAll(application.getCategory(), ApplicationType.ANDROID);
        assertTrue(applications.size() == 1);
    }

    @Test
    public void determineApplicationVisibilityTest() {
        Application application = getApplication();
        boolean isVisible = applicationService.determineApplicationVisibility(application, ApplicationType.ANDROID);
        assertTrue(isVisible);
        isVisible = applicationService.determineApplicationVisibility(application, ApplicationType.IPHONE);
        assertFalse(isVisible);
    }

    @Test
    public void createApplicationModelTest() {
        Application application = getApplication();
        ApplicationModel applicationModel = applicationService.createApplicationModel(application.getId(), false);
        assertNotNull(applicationModel);
        assertTrue(applicationModel.getName().equals("Test Application"));
        assertTrue(applicationModel.getApplicationType().equals(application.getApplicationType()));
        assertTrue(applicationModel.getDescription().equals(application.getDescription()));
    }

    @Test
    public void saveApplicationTest() {
        Application application = getApplication();
        ApplicationForm applicationForm = new ApplicationForm();
        applicationForm.setApplicationType(application.getApplicationType());
        applicationForm.setCategoryId(application.getCategory().getId());
        applicationForm.setName("New Application");
        applicationForm.setDescription(application.getDescription());
        applicationForm.setGroupId(application.getCategory().getOrganization().getGroups().get(0).getId());
        Application newApplication = applicationService.saveApplication(applicationForm);
        Assert.assertNotNull(newApplication);
    }

    private Organization getOrganization() {
        Organization organization = new Organization();
        organization.setName("Test Organization");

        LocalStorageConfiguration localStorageConfiguration = new LocalStorageConfiguration();
        localStorageConfiguration.setBaseLocation("/path");
        localStorageConfiguration.setName("Local Storage Configuration");
        localStorageConfiguration.setStorageType(StorageType.LOCAL);

        OrgStorageConfig orgStorageConfig = new OrgStorageConfig();
        orgStorageConfig.getStorageConfigurations().add(localStorageConfiguration);
        orgStorageConfig.setPrefix("testPrefix");
        orgStorageConfig.setOrganization(organization);
        organization.setOrgStorageConfig(orgStorageConfig);

        organizationService.add(organization);

        return organization;
    }

    private Application getApplication() {
        Organization organization = getOrganization();

        Category category = new Category();
        category.setName("Test Category");
        category.setOrganization(organization);
        organization.getCategories().add(category);

        organizationService.getAll();


        Group group = new Group();
        group.setName("Test Group");
        group.setOrganization(organization);
        groupService.add(group);

        Application application = new Application();
        application.setName("Test Application");
        application.setDescription("This is a description.");
        application.setApplicationType(ApplicationType.ANDROID);
        application.setCategory(category);
        application.setStorageConfiguration(organization.getStorageConfigurations().get(0));
        application.setOwnedGroup(group);

        ApplicationVersion applicationVersion = new ApplicationVersion();
        applicationVersion.setVersionName("1.0.0");
        applicationVersion.setApplication(application);
        applicationVersion.setAppState(AppState.GROUP_PUBLISH);

        application.getApplicationVersions().add(applicationVersion);
        applicationService.add(application);

        group.getOwnedApplications().add(application);
        groupService.save(group);
        application.setOwnedGroup(group);

        Group group2 = new Group();
        group2.setName("Test Group 2");
        group2.setOrganization(organization);
        group2.setGuestApplicationVersions(new ArrayList<ApplicationVersion>());
        group2.getGuestApplicationVersions().add(applicationVersion);
        groupService.save(group2);

        organization.getGroups().add(group);
        organization.getGroups().add(group2);

        organizationService.getAll();

        return application;
    }
}
TOP

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

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.