Package com.impetus.kundera.metadata.processor.relation

Source Code of com.impetus.kundera.metadata.processor.relation.RelationProcessorTest

package com.impetus.kundera.metadata.processor.relation;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;

import com.impetus.kundera.loader.MetamodelLoaderException;
import com.impetus.kundera.metadata.KunderaMetadataManager;
import com.impetus.kundera.metadata.model.EntityMetadata;
import com.impetus.kundera.persistence.EntityManagerFactoryImpl;
import com.impetus.kundera.polyglot.entities.PersonU11FK;
import com.impetus.kundera.polyglot.entities.PersonU1M;
import com.impetus.kundera.polyglot.entities.PersonUM1;
import com.impetus.kundera.polyglot.entities.PersonUMM;
import com.impetus.kundera.polyglot.entities.PersonUMMByMap;

public class RelationProcessorTest
{

    private static EntityManagerFactory emf;

    @BeforeClass
    public static void setUpBeforeClass() throws Exception
    {

        emf = Persistence.createEntityManagerFactory("patest");
    }

    @Test
    public void testManyToMany() throws NoSuchFieldException, SecurityException
    {
        ManyToManyRelationMetadataProcessor processor = new ManyToManyRelationMetadataProcessor(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance());
        EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance(), PersonUMMByMap.class);
        Assert.assertNotNull(metadata.getRelation("addresses"));
        // processor.addRelationIntoMetadata(PersonB11FK.class.getDeclaredField("address"),metadata);

        try
        {
            processor.process(PersonUMM.class, metadata);
            Assert.fail("Should have gone to catch block!");
        }
        catch (MetamodelLoaderException mlex)
        {
            Assert.assertNotNull(mlex.getMessage());
        }
    }

    @Test
    public void testOneToMany() throws NoSuchFieldException, SecurityException
    {
        OneToManyRelationMetadataProcessor processor = new OneToManyRelationMetadataProcessor(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance());
        EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance(), PersonU1M.class);
        Assert.assertNotNull(metadata.getRelation("addresses"));

        try
        {
            processor.process(PersonU1M.class, metadata);
            Assert.fail("Should have gone to catch block!");
        }
        catch (MetamodelLoaderException mlex)
        {
            Assert.assertNotNull(mlex.getMessage());
        }

        /*
         * try {
         * processor.addRelationIntoMetadata(PersonUMMByMap.class.getDeclaredField
         * ("addresses"), metadata);
         * Assert.fail("Should have gone to catch block!"); } catch
         * (UnsupportedOperationException uoex) {
         * Assert.assertNotNull(uoex.getMessage()); }
         */
    }

    @Test
    public void testManyToOne() throws NoSuchFieldException, SecurityException
    {
        ManyToOneRelationMetadataProcessor processor = new ManyToOneRelationMetadataProcessor(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance());
        EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance(), PersonUM1.class);
        Assert.assertNotNull(metadata.getRelation("address"));

        try
        {
            processor.process(PersonUM1.class, metadata);
            Assert.fail("Should have gone to catch block!");
        }
        catch (MetamodelLoaderException mlex)
        {
            Assert.assertNotNull(mlex.getMessage());
        }

        /*
         * try {
         * processor.addRelationIntoMetadata(PersonUMMByMap.class.getDeclaredField
         * ("addresses"), metadata);
         * Assert.fail("Should have gone to catch block!"); } catch
         * (UnsupportedOperationException uoex) {
         * Assert.assertNotNull(uoex.getMessage()); }
         */}

    @Test
    public void testOneToOne() throws NoSuchFieldException, SecurityException
    {
        OneToOneRelationMetadataProcessor processor = new OneToOneRelationMetadataProcessor(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance());
        EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(
                ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance(), PersonU11FK.class);
        Assert.assertNotNull(metadata.getRelation("address"));

        try
        {
            processor.process(PersonU11FK.class, metadata);
            Assert.fail("Should have gone to catch block!");
        }
        catch (MetamodelLoaderException mlex)
        {
            Assert.assertNotNull(mlex.getMessage());
        }

        /*
         * try {
         * processor.addRelationIntoMetadata(PersonUMMByMap.class.getDeclaredField
         * ("addresses"), metadata);
         * Assert.fail("Should have gone to catch block!"); } catch
         * (UnsupportedOperationException uoex) {
         * Assert.assertNotNull(uoex.getMessage()); }
         */
    }

    @AfterClass
    public static void tearDown()
    {
        emf.close();
        emf = null;
    }
}
TOP

Related Classes of com.impetus.kundera.metadata.processor.relation.RelationProcessorTest

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.