Package me.prettyprint.cassandra.examples

Source Code of me.prettyprint.cassandra.examples.ExampleDaoV2Test

package me.prettyprint.cassandra.examples;

import static me.prettyprint.hector.api.factory.HFactory.createKeyspace;
import static me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;

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

import me.prettyprint.cassandra.serializers.StringSerializer;
import me.prettyprint.cassandra.testutils.EmbeddedServerHelper;
import me.prettyprint.hector.api.Cluster;
import me.prettyprint.hector.api.exceptions.HectorException;

import org.apache.cassandra.config.ConfigurationException;
import org.apache.thrift.transport.TTransportException;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

public class ExampleDaoV2Test {

  private static EmbeddedServerHelper embedded;

  /**
   * Set embedded cassandra up and spawn it in a new thread.
   *
   * @throws TTransportException
   * @throws IOException
   * @throws InterruptedException
   */
  @BeforeClass
  public static void setup() throws TTransportException, IOException, InterruptedException, ConfigurationException {
    embedded = new EmbeddedServerHelper();
    embedded.setup();
  }

  @AfterClass
  public static void teardown() throws IOException {
    embedded.teardown();
  }

  @Test
  public void testInsertGetDelete() throws HectorException {
    Cluster c = getOrCreateCluster("MyCluster", "localhost:9170");
    ExampleDaoV2 dao = new ExampleDaoV2(createKeyspace("Keyspace1", c));
    assertNull(dao.get("key", StringSerializer.get()));
    dao.insert("key", "value", StringSerializer.get());
    assertEquals("value", dao.get("key", StringSerializer.get()));
    dao.delete(StringSerializer.get(), "key");
    assertNull(dao.get("key", StringSerializer.get()));
  }

  @Test
  public void testMultiInsertGetDelete() throws HectorException {
    Cluster c = getOrCreateCluster("MyCluster", "localhost:9170");
    ExampleDaoV2 dao = new ExampleDaoV2(createKeyspace("Keyspace1", c));

    // Get non-existing values
    Map<String, String> ret = dao.getMulti(StringSerializer.get(), "key1", "key2");
    assertNotNull(ret);
    assertNull("value1", ret.get("key1"));

    // Insert values
    Map<String, String> keyValues = new HashMap<String, String>();
    keyValues.put("key1", "value1");
    keyValues.put("key2", "value2");
    dao.insertMulti(keyValues, StringSerializer.get());

    // Simple get test
    ret = dao.getMulti(StringSerializer.get(), "key1", "key2");
    assertNotNull(ret);
    assertEquals("value1", ret.get("key1"));
    assertEquals("value2", ret.get("key2"));

    // Get some values that don't exist
    ret = dao.getMulti(StringSerializer.get(), "key2", "key3");
    assertNotNull(ret);
    assertEquals("value2", ret.get("key2"));
    assertNull(ret.get("key3"));
    assertNull(ret.get("key1"));

    // delete
    dao.delete(StringSerializer.get(), "key1", "key2");

    // validate deletion
    ret = dao.getMulti(StringSerializer.get(), "key1", "key2");
    assertNotNull(ret);
    assertNull(ret.get("key1"));
    assertNull(ret.get("key2"));

  }
}
TOP

Related Classes of me.prettyprint.cassandra.examples.ExampleDaoV2Test

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.