Package org.impalaframework.module.metadata

Source Code of org.impalaframework.module.metadata.ModuleMetadataHelperIntegrationTest$TestAll

/*
* Copyright 2007-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/

package org.impalaframework.module.metadata;

import java.util.Collection;

import junit.framework.TestCase;

import org.impalaframework.exception.NoServiceException;
import org.impalaframework.facade.Impala;
import org.impalaframework.module.ModuleDefinitionSource;
import org.impalaframework.module.RootModuleDefinition;
import org.impalaframework.module.source.InternalModuleDefinitionSource;
import org.impalaframework.module.source.SimpleModuleDefinitionSource;
import org.impalaframework.module.spi.Application;
import org.impalaframework.module.type.TypeReaderRegistry;
import org.impalaframework.module.type.TypeReaderRegistryFactory;
import org.impalaframework.resolver.StandaloneModuleLocationResolver;
import org.springframework.util.StringUtils;

public class ModuleMetadataHelperIntegrationTest extends TestCase {

    private static final String plugin1 = "sample-module1";

    private static final String plugin2 = "sample-module2";

    private static final String plugin4 = "sample-module4";

    public void setUp() {
        Impala.clear();
    }

    public void tearDown() {
        try {
            Impala.clear();
        }
        catch (Exception e) {
        }
    }

    public void testNoInit() {
        try {
            Impala.getRootRuntimeModule();
            fail();
        }
        catch (NoServiceException e) {
        }
    }

    public void testInit() {

        final Test1 test1 = new Test1();
        Impala.init(test1);
       
        final Application currentApplication = Impala.getCurrentApplication();
        ModuleMetadataHelper helper = new ModuleMetadataHelper();
        helper.setApplication(currentApplication);
       
        assertTrue(helper.isModuleDefinitionPresent("impala-core"));
        assertTrue(helper.isModuleDefinitionPresent(plugin1));
        assertFalse(helper.isModuleDefinitionPresent(plugin2));
       
        assertTrue(helper.isModulePresent("impala-core"));
        assertTrue(helper.isModulePresent(plugin1));
        assertFalse(helper.isModulePresent(plugin2));
    }
   
    public void testCapabilities() {
       
        TypeReaderRegistry typeReaderRegistry = TypeReaderRegistryFactory.getTypeReaderRegistry();
        StandaloneModuleLocationResolver resolver = new StandaloneModuleLocationResolver();
        String[] moduleNames = new String[] {
                "impala-core",
                "sample-module1",
                "sample-module2",
                "sample-module3",
                "sample-module4" };
        InternalModuleDefinitionSource moduleDefinitionSource = new InternalModuleDefinitionSource(typeReaderRegistry, resolver, moduleNames , true);

        Impala.init(moduleDefinitionSource);
       
        final Application currentApplication = Impala.getCurrentApplication();
        ModuleMetadataHelper helper = new ModuleMetadataHelper();
        helper.setApplication(currentApplication);
       
        Collection<String> capabilities = helper.getCapabilities();
        System.out.println(capabilities);
        assertEquals("four,one,three", StringUtils.collectionToCommaDelimitedString(capabilities));
       
        assertEquals("impala-core,sample-module1,sample-module2,sample-module3,sample-module4", StringUtils.collectionToCommaDelimitedString(helper.getLoadedModuleNames()));
    }
   
    class Test1 implements ModuleDefinitionSource {
        ModuleDefinitionSource source = new SimpleModuleDefinitionSource("impala-core", new String[] { "parentTestContext.xml" }, new String[] { plugin1 });

        public RootModuleDefinition getModuleDefinition() {
            return source.getModuleDefinition();
        }
    }

    class TestAll implements ModuleDefinitionSource {
        ModuleDefinitionSource source;   public TestAll() {
            source = new SimpleModuleDefinitionSource("impala-core", new String[] { "parentTestContext.xml" }, new String[] { plugin1, plugin2, plugin4 });
        }
       
        public RootModuleDefinition getModuleDefinition() {
            return source.getModuleDefinition();
        }
    }
}
TOP

Related Classes of org.impalaframework.module.metadata.ModuleMetadataHelperIntegrationTest$TestAll

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.