Package com.impetus.client.hbase.config

Source Code of com.impetus.client.hbase.config.HBaseUserTest

/**
*
*/
package com.impetus.client.hbase.config;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

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

import junit.framework.Assert;

import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableNotFoundException;
import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.impetus.client.hbase.junits.HBaseCli;

/**
* @author Kuldeep Mishra
*
*/
public class HBaseUserTest
{

    private static final String TABLE = "KunderaHbaseXmlTest";

    private EntityManagerFactory emf;

    private HBaseCli cli;

    /**
     * logger used for logging statement.
     */
    private static final Logger logger = LoggerFactory.getLogger(HBaseUserTest.class);

    /**
     * @throws java.lang.Exception
     */
    @Before
    public void setUp() throws Exception
    {
        cli = new HBaseCli();
        cli.startCluster();

    }

    /**
     * @throws java.lang.Exception
     */
    @After
    public void tearDown() throws Exception
    {
    }

    @Test
    public void test() throws IOException
    {
        emf = Persistence.createEntityManagerFactory("XmlPropertyTest");
        try
        {
            HTableDescriptor hTableDescriptor = HBaseCli.utility.getHBaseAdmin().getTableDescriptor(
                    TABLE.getBytes());
            int count = 0;
            for (HColumnDescriptor columnDescriptor : hTableDescriptor.getColumnFamilies())
            {
                if (columnDescriptor.getNameAsString().equalsIgnoreCase("HBASEUSERXYZ"))
                {
                    Assert.assertEquals(Algorithm.valueOf("GZ"), columnDescriptor.getCompactionCompressionType());
                    Assert.assertEquals(Integer.parseInt("12345678"), columnDescriptor.getTimeToLive());
                    Assert.assertEquals(Algorithm.valueOf("GZ"), columnDescriptor.getCompressionType());
                    Assert.assertEquals(Integer.parseInt("6"), columnDescriptor.getMaxVersions());
                    Assert.assertEquals(Integer.parseInt("3"), columnDescriptor.getMinVersions());
                    count++;
                }
            }
            Assert.assertEquals(1, count);
        }
        catch (TableNotFoundException tnfe)
        {
            logger.error("Error during UserTest, caused by :" + tnfe);
        }
        catch (IOException ie)
        {
            logger.error("Error during UserTest, caused by :" + ie);
        }
        finally
        {
            emf.close();
            Assert.assertTrue(HBaseCli.utility.getHBaseAdmin().isTableAvailable(TABLE));
            cli.dropTable(TABLE);
        }
    }

    @Test
    public void testUsingExternalProperty() throws IOException
    {
        Map<String, String> puProperties = new HashMap<String, String>();
        puProperties.put("kundera.ddl.auto.prepare", "create-drop");
        puProperties.put("kundera.keyspace", "KunderaHbaseKeyspace");
        emf = Persistence.createEntityManagerFactory("XmlPropertyTest", puProperties);
        try
        {
            Assert.assertTrue(HBaseCli.utility.getHBaseAdmin().isTableAvailable("KunderaHbaseKeyspace"));
        }
        catch (TableNotFoundException tnfe)
        {
            logger.error("Error during UserTest, caused by :" + tnfe);
        }
        catch (IOException ie)
        {
            logger.error("Error during UserTest, caused by :" + ie);
        }
        finally
        {
            emf.close();
            if (HBaseCli.utility.getHBaseAdmin().isTableAvailable("KunderaHbaseKeyspace"))
            {
                cli.dropTable("KunderaHbaseKeyspace");
            }
        }
    }
}
TOP

Related Classes of com.impetus.client.hbase.config.HBaseUserTest

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.