Package com.impetus.client.generatedId

Source Code of com.impetus.client.generatedId.MongoGeneratedIdTest

package com.impetus.client.generatedId;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.GenerationType;
import javax.persistence.Persistence;

import junit.framework.Assert;

import org.bson.types.ObjectId;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.impetus.client.generatedId.entites.MongoGeneratedIdDefault;
import com.impetus.client.generatedId.entites.MongoGeneratedIdStrategyAuto;
import com.impetus.client.generatedId.entites.MongoGeneratedIdStrategyIdentity;
import com.impetus.client.generatedId.entites.MongoGeneratedIdStrategySequence;
import com.impetus.client.generatedId.entites.MongoGeneratedIdStrategyTable;
import com.impetus.client.generatedId.entites.MongoGeneratedIdWithOutSequenceGenerator;
import com.impetus.client.generatedId.entites.MongoGeneratedIdWithOutTableGenerator;
import com.impetus.client.generatedId.entites.MongoGeneratedIdWithSequenceGenerator;
import com.impetus.client.generatedId.entites.MongoGeneratedIdWithTableGenerator;
import com.impetus.client.mongodb.MongoDBClient;
import com.impetus.client.utils.MongoUtils;
import com.impetus.kundera.KunderaException;

public class MongoGeneratedIdTest
{

    private EntityManagerFactory emf;

    @BeforeClass
    public static void setUpBeforeClass() throws Exception
    {
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception
    {
    }

    @Before
    public void setUp() throws Exception
    {
        emf = Persistence.createEntityManagerFactory("mongoTest");
    }

    @After
    public void tearDown() throws Exception
    {
        MongoUtils.dropDatabase(emf, "mongoTest");
        emf.close();
    }

    @Test
    public void testPersist()
    {
        EntityManager em = emf.createEntityManager();

        MongoGeneratedIdDefault idDefault = new MongoGeneratedIdDefault();
        idDefault.setName("kuldeep");
        try
        {
            em.persist(idDefault);
            List<MongoGeneratedIdDefault> list = em.createQuery("Select c from MongoGeneratedIdDefault c")
                    .getResultList();
            Assert.assertNotNull(list);
            Assert.assertEquals(1, list.size());
            Assert.assertEquals("kuldeep", list.get(0).getName());
            Object id = list.get(0).getId();
            em.clear();
            idDefault = em.find(MongoGeneratedIdDefault.class, id);
            Assert.assertNotNull(idDefault);
            Assert.assertEquals("kuldeep", idDefault.getName());
        }
        catch (KunderaException e)
        {
           
            Assert.fail();
        }
        MongoGeneratedIdStrategyAuto strategyAuto = new MongoGeneratedIdStrategyAuto();
        strategyAuto.setName("kuldeep");
        try
        {
            em.persist(strategyAuto);
            em.clear();
            List<MongoGeneratedIdStrategyAuto> list = em.createQuery("Select c from MongoGeneratedIdStrategyAuto c")
                    .getResultList();
            Assert.assertNotNull(list);
            Assert.assertEquals(1, list.size());
            Assert.assertTrue(list.get(0).getId() instanceof ObjectId);
            Assert.assertEquals("kuldeep", list.get(0).getName());
            Object id = list.get(0).getId();
            em.clear();
            strategyAuto = em.find(MongoGeneratedIdStrategyAuto.class, id);
            Assert.assertNotNull(strategyAuto);
            Assert.assertEquals("kuldeep", strategyAuto.getName());
        }
        catch (KunderaException e)
        {
            Assert.fail();
        }

        MongoGeneratedIdStrategyIdentity strategyIdentity = new MongoGeneratedIdStrategyIdentity();
        strategyIdentity.setName("kuldeep");
        try
        {
            em.persist(strategyIdentity);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.UnsupportedOperationException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.IDENTITY + " Strategy not supported by this client :"
                            + MongoDBClient.class.getName(), e.getMessage());
        }

        MongoGeneratedIdStrategySequence strategySequence = new MongoGeneratedIdStrategySequence();
        strategySequence.setName("Kuldeep");
        try
        {
            em.persist(strategySequence);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.SEQUENCE + " Strategy not supported by this client :"
                            + MongoDBClient.class.getName(), e.getMessage());
        }

        MongoGeneratedIdStrategyTable strategyTable = new MongoGeneratedIdStrategyTable();
        strategyTable.setName("KK");
        try
        {
            em.persist(strategyTable);
            Assert.fail();

        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.TABLE + " Strategy not supported by this client :"
                            + MongoDBClient.class.getName(), e.getMessage());
        }

        MongoGeneratedIdWithOutSequenceGenerator withOutSequenceGenerator = new MongoGeneratedIdWithOutSequenceGenerator();
        withOutSequenceGenerator.setName("Kuldeep Kumar");
        try
        {
            em.persist(withOutSequenceGenerator);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.SEQUENCE + " Strategy not supported by this client :"
                            + MongoDBClient.class.getName(), e.getMessage());
        }

        MongoGeneratedIdWithOutTableGenerator withOutTableGenerator = new MongoGeneratedIdWithOutTableGenerator();
        withOutTableGenerator.setName("Kuldeep Mishra");
        try
        {
            em.persist(withOutTableGenerator);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.TABLE + " Strategy not supported by this client :"
                            + MongoDBClient.class.getName(), e.getMessage());
        }
        MongoGeneratedIdWithSequenceGenerator withSequenceGenerator = new MongoGeneratedIdWithSequenceGenerator();
        withSequenceGenerator.setName("Kuldeep Kumar Mishra");
        try
        {
            em.persist(withSequenceGenerator);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.SEQUENCE + " Strategy not supported by this client :"
                            + MongoDBClient.class.getName(), e.getMessage());
        }
        MongoGeneratedIdWithTableGenerator withTableGenerator = new MongoGeneratedIdWithTableGenerator();
        withTableGenerator.setName("Kumar Mishra");
        try
        {
            em.persist(withTableGenerator);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.TABLE + " Strategy not supported by this client :"
                            + MongoDBClient.class.getName(), e.getMessage());
        }
    }
}
TOP

Related Classes of com.impetus.client.generatedId.MongoGeneratedIdTest

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.