Package com.impetus.client.hbase.generatedId

Source Code of com.impetus.client.hbase.generatedId.HBaseGeneratedIdTest

package com.impetus.client.hbase.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.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.impetus.client.hbase.HBaseClient;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdDefault;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdStrategyAuto;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdStrategyIdentity;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdStrategySequence;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdStrategyTable;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdWithOutSequenceGenerator;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdWithOutTableGenerator;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdWithSequenceGenerator;
import com.impetus.client.hbase.generatedId.entites.HBaseGeneratedIdWithTableGenerator;
import com.impetus.client.hbase.junits.HBaseCli;
import com.impetus.kundera.KunderaException;

public class HBaseGeneratedIdTest
{
    private EntityManagerFactory emf;

    private HBaseCli cli;

    private static final String table = "kundera";

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

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

    @Before
    public void setUp() throws Exception
    {
        cli = new HBaseCli();
        cli.startCluster();
        emf = Persistence.createEntityManagerFactory("hbase_generated_id");
    }

    @After
    public void tearDown() throws Exception
    {
        emf.close();
        cli.dropTable("kundera");

    }

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

        try
        {
            HBaseGeneratedIdDefault idDefault = new HBaseGeneratedIdDefault();
            idDefault.setName("kuldeep");
            em.persist(idDefault);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals("java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                    + GenerationType.AUTO + " Strategy not supported by this client :" + HBaseClient.class.getName(),
                    e.getMessage());
        }
        try
        {
            HBaseGeneratedIdStrategyAuto strategyAuto = new HBaseGeneratedIdStrategyAuto();
            strategyAuto.setName("kuldeep");
            em.persist(strategyAuto);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals("java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                    + GenerationType.AUTO + " Strategy not supported by this client :" + HBaseClient.class.getName(),
                    e.getMessage());
        }

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

        HBaseGeneratedIdStrategySequence strategySequence = new HBaseGeneratedIdStrategySequence();
        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 :"
                            + HBaseClient.class.getName(), e.getMessage());
        }

        try
        {
            HBaseGeneratedIdStrategyTable strategyTable1 = new HBaseGeneratedIdStrategyTable();
            strategyTable1.setName("KK");
            em.persist(strategyTable1);

            HBaseGeneratedIdStrategyTable strategyTable2 = new HBaseGeneratedIdStrategyTable();
            strategyTable2.setName("vm");
            em.persist(strategyTable2);

            HBaseGeneratedIdStrategyTable strategyTable3 = new HBaseGeneratedIdStrategyTable();
            strategyTable3.setName("vs");
            em.persist(strategyTable3);

            HBaseGeneratedIdStrategyTable strategyTable = new HBaseGeneratedIdStrategyTable();
            strategyTable.setName("sh");
            em.persist(strategyTable);

            List<HBaseGeneratedIdStrategyTable> list = em.createQuery("Select c from HBaseGeneratedIdStrategyTable c")
                    .getResultList();
            Assert.assertNotNull(list);
            Assert.assertEquals(4, list.size());

            for (HBaseGeneratedIdStrategyTable entity : list)
            {
                Assert.assertTrue(entity.getId() == 1 || entity.getId() == 50 || entity.getId() == 100
                        || entity.getId() == 150);
            }

            em.clear();
            strategyTable = em.find(HBaseGeneratedIdStrategyTable.class, strategyTable.getId());
            Assert.assertNotNull(strategyTable);
            Assert.assertEquals("sh", strategyTable.getName());
        }
        catch (KunderaException e)
        {
            Assert.fail();
        }

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

        try
        {
            HBaseGeneratedIdWithOutTableGenerator withOutTableGenerator = new HBaseGeneratedIdWithOutTableGenerator();
            withOutTableGenerator.setName("Kuldeep Mishra");
            em.persist(withOutTableGenerator);
            List<HBaseGeneratedIdWithOutTableGenerator> list = em.createQuery(
                    "Select c from HBaseGeneratedIdWithOutTableGenerator c").getResultList();
            Assert.assertNotNull(list);
            Assert.assertEquals(1, list.size());
            Assert.assertEquals("Kuldeep Mishra", list.get(0).getName());
            Object id = list.get(0).getId();
            em.clear();
            withOutTableGenerator = em.find(HBaseGeneratedIdWithOutTableGenerator.class, id);
            Assert.assertNotNull(withOutTableGenerator);
            Assert.assertEquals("Kuldeep Mishra", withOutTableGenerator.getName());
        }
        catch (KunderaException e)
        {
            Assert.fail();
        }
        try
        {
            HBaseGeneratedIdWithSequenceGenerator withSequenceGenerator = new HBaseGeneratedIdWithSequenceGenerator();
            withSequenceGenerator.setName("Kuldeep Kumar Mishra");
            em.persist(withSequenceGenerator);
            Assert.fail();
        }
        catch (KunderaException e)
        {
            Assert.assertEquals(
                    "java.lang.IllegalArgumentException: " + GenerationType.class.getSimpleName() + "."
                            + GenerationType.SEQUENCE + " Strategy not supported by this client :"
                            + HBaseClient.class.getName(), e.getMessage());
        }
        try
        {
            HBaseGeneratedIdWithTableGenerator withTableGenerator = new HBaseGeneratedIdWithTableGenerator();
            withTableGenerator.setName("Kumar Mishra");
            em.persist(withTableGenerator);
            List<HBaseGeneratedIdWithTableGenerator> list = em.createQuery(
                    "Select c from HBaseGeneratedIdWithTableGenerator c").getResultList();
            Assert.assertNotNull(list);
            Assert.assertEquals(1, list.size());
            Assert.assertEquals("Kumar Mishra", list.get(0).getName());
            Object id = list.get(0).getId();
            em.clear();
            withTableGenerator = em.find(HBaseGeneratedIdWithTableGenerator.class, id);
            Assert.assertNotNull(withTableGenerator);
            Assert.assertEquals("Kumar Mishra", withTableGenerator.getName());
        }
        catch (KunderaException e)
        {
            Assert.fail();
        }
    }

}
TOP

Related Classes of com.impetus.client.hbase.generatedId.HBaseGeneratedIdTest

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.