Package avrobase.memcached

Source Code of avrobase.memcached.MABTest$MABModule

package avrobase.memcached;

import avrobase.AvroBase;
import avrobase.AvroBaseException;
import avrobase.AvroBaseFactory;
import avrobase.AvroFormat;
import avrobase.Row;
import bagcheck.GenderType;
import bagcheck.User;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
import com.google.inject.Binder;
import com.google.inject.Module;
import com.google.inject.name.Names;
import org.apache.avro.Schema;
import org.apache.avro.util.Utf8;
import org.junit.Test;

import java.nio.ByteBuffer;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

/**
* Memcached client test
* <p/>
* User: sam
* Date: Jun 23, 2010
* Time: 12:49:23 PM
*/
public class MABTest {

  static class MABModule implements Module {
    static {
      String[] serverlist = {"localhost:11211"};

      SockIOPool pool = SockIOPool.getInstance();
      pool.setServers(serverlist);
      pool.initialize();
    }

    @Override
    public void configure(Binder binder) {
      binder.bind(MemCachedClient.class).toInstance(new MemCachedClient(true));
      binder.bind(Schema.class).toInstance(User.SCHEMA$);
      binder.bind(String.class).annotatedWith(Names.named("schema")).toInstance("test_schema");
      binder.bind(String.class).annotatedWith(Names.named("table")).toInstance("test_user");
      binder.bind(String.class).annotatedWith(Names.named("family")).toInstance("profile");
    }
  }

  @Test
  public void testSave() throws AvroBaseException {
    AvroBase<User, String> userHAB = AvroBaseFactory.createAvroBase(new MABModule(), MAB.class, AvroFormat.BINARY);
    User saved = new User();
    saved.firstName = $("Sam");
    saved.lastName = $("Pullara");
    saved.birthday = $("1212");
    saved.gender = GenderType.MALE;
    saved.email = $("spullara@yahoo.com");
    saved.description = $("CTO of RightTime, Inc. and one of the founders of BagCheck");
    saved.title = $("Engineer");
    saved.image = $("http://farm1.static.flickr.com/1/buddyicons/32354567@N00.jpg");
    saved.location = $("Los Altos, CA");
    saved.password = ByteBuffer.wrap($("").getBytes());
    String row = "spullara";
    userHAB.put(row, saved);
    Row<User, String> loaded = userHAB.get(row);
    assertEquals(saved, loaded.value);
    assertTrue(userHAB.put(row, loaded.value, loaded.version));
    assertFalse(userHAB.put(row, loaded.value, loaded.version));
  }

  private Utf8 $(String string) {
    return new Utf8(string);
  }
}
TOP

Related Classes of avrobase.memcached.MABTest$MABModule

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.