Package org.hive2hive.core

Examples of org.hive2hive.core.H2HTestData


    FutureGet futureGet = nodeA.getDataManager().getUnblocked(parameters);
    futureGet.awaitUninterruptibly();
    assertNull(futureGet.getData());

    H2HTestData result = (H2HTestData) nodeB.getDataManager().get(parameters);
    assertNull(result);
  }
View Full Code Here


    String contentKey = NetworkTestUtil.randomString();

    List<H2HTestData> content = new ArrayList<H2HTestData>();
    int numberOfContent = 3;
    for (int i = 0; i < numberOfContent; i++) {
      H2HTestData data = new H2HTestData(NetworkTestUtil.randomString());
      data.generateVersionKey();
      if (i > 0) {
        data.setBasedOnKey(content.get(i - 1).getVersionKey());
      }
      content.add(data);

      Parameters parameters = new Parameters().setLocationKey(locationKey).setContentKey(contentKey)
          .setVersionKey(data.getVersionKey()).setData(data);
      nodeA.getDataManager().putUnblocked(parameters).awaitUninterruptibly();
    }

    H2HTestData result = (H2HTestData) nodeB.getDataManager().get(
        new Parameters().setLocationKey(locationKey).setContentKey(contentKey));
    assertNotNull(result);
    assertEquals(content.get(numberOfContent - 1).getTestString(), result.getTestString());
  }
View Full Code Here

  @Test
  public void testGetAVersion() throws IOException, NoPeerConnectionException {
    NetworkManager nodeA = network.get(random.nextInt(networkSize));
    NetworkManager nodeB = network.get(random.nextInt(networkSize));

    H2HTestData data = new H2HTestData(NetworkTestUtil.randomString());
    data.generateVersionKey();
    Parameters parameters = new Parameters().setLocationKey(nodeA.getNodeId())
        .setContentKey(NetworkTestUtil.randomString())
        .setVersionKey(Number160.createHash(NetworkTestUtil.randomString())).setData(data);

    nodeA.getDataManager().putUnblocked(parameters).awaitUninterruptibly();

    H2HTestData result = (H2HTestData) nodeB.getDataManager().getVersion(parameters);
    assertEquals(data.getTestString(), result.getTestString());
  }
View Full Code Here

  @Test
  public void testGetAVersionNoData() throws NoPeerConnectionException {
    NetworkManager nodeA = network.get(random.nextInt(networkSize));
    NetworkManager nodeB = network.get(random.nextInt(networkSize));

    H2HTestData data = new H2HTestData(NetworkTestUtil.randomString());
    Parameters parameters = new Parameters().setLocationKey(nodeA.getNodeId())
        .setContentKey(NetworkTestUtil.randomString())
        .setVersionKey(Number160.createHash(NetworkTestUtil.randomString())).setData(data);

    FutureGet futureGet = nodeA.getDataManager().getVersionUnblocked(parameters);
    futureGet.awaitUninterruptibly();
    assertNull(futureGet.getData());

    H2HTestData result = (H2HTestData) nodeB.getDataManager().getVersion(parameters);
    assertNull(result);
  }
View Full Code Here

  @Test
  public void testPut() throws ClassNotFoundException, IOException, NoPeerConnectionException {
    NetworkManager nodeA = network.get(random.nextInt(networkSize));
    NetworkManager nodeB = network.get(random.nextInt(networkSize));

    H2HTestData data = new H2HTestData(NetworkTestUtil.randomString());
    IParameters parameters = new Parameters().setLocationKey(nodeA.getNodeId())
        .setContentKey(NetworkTestUtil.randomString()).setData(data);

    boolean success = nodeB.getDataManager().put(parameters);
    Assert.assertTrue(success);
    FutureGet futureGet = nodeB.getDataManager().getUnblocked(parameters);
    futureGet.awaitUninterruptibly();

    assertEquals(data.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());
  }
View Full Code Here

    String contentKey = NetworkTestUtil.randomString();

    List<H2HTestData> content = new ArrayList<H2HTestData>();
    int numberOfContent = 3;
    for (int i = 0; i < numberOfContent; i++) {
      H2HTestData data = new H2HTestData(NetworkTestUtil.randomString());
      data.generateVersionKey();
      if (i > 0) {
        data.setBasedOnKey(content.get(i - 1).getVersionKey());
      }
      content.add(data);

      IParameters parameters = new Parameters().setLocationKey(locationKey).setContentKey(contentKey)
          .setData(data);
      boolean success = nodeB.getDataManager().put(parameters);
      Assert.assertTrue(success);
      FutureGet futureGet = nodeB.getDataManager().getUnblocked(parameters);
      futureGet.awaitUninterruptibly();

      assertEquals(data.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());
    }
  }
View Full Code Here

    NetworkManager nodeC = network.get(2);

    nodeB.getConnection().getPeer().getPeerBean().storage(new TestPutFailureStorage());
    nodeC.getConnection().getPeer().getPeerBean().storage(new TestPutFailureStorage());

    H2HTestData data = new H2HTestData(NetworkTestUtil.randomString());
    Parameters parameters = new Parameters().setLocationKey(nodeA.getNodeId())
        .setContentKey(NetworkTestUtil.randomString()).setData(data);

    boolean success = nodeB.getDataManager().put(parameters);
    Assert.assertFalse(success);
View Full Code Here

    NetworkManager nodeA = network.get(0);
    NetworkManager nodeB = network.get(1);

    nodeB.getConnection().getPeer().getPeerBean().storage(new TestPutFailureStorage());

    H2HTestData data = new H2HTestData(NetworkTestUtil.randomString());
    Parameters parameters = new Parameters().setLocationKey(nodeA.getNodeId())
        .setContentKey(NetworkTestUtil.randomString()).setData(data);

    boolean success = nodeB.getDataManager().put(parameters);
    Assert.assertTrue(success);
    FutureGet futureGet = nodeB.getDataManager().getUnblocked(parameters);
    futureGet.awaitUninterruptibly();

    assertEquals(data.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());
  }
View Full Code Here

    NetworkManager nodeA = network.get(0);
    NetworkManager nodeB = network.get(1);

    String locationKey = nodeA.getNodeId();
    String contentKey = "content key";
    H2HTestData data1 = new H2HTestData("data1");
    data1.generateVersionKey();
    waitATick();
    H2HTestData data2A = new H2HTestData("data2A");
    data2A.generateVersionKey();
    data2A.setBasedOnKey(data1.getVersionKey());
    waitATick();
    H2HTestData data2B = new H2HTestData("data2B");
    data2B.generateVersionKey();
    data2B.setBasedOnKey(data1.getVersionKey());

    Parameters parameters1 = new Parameters().setLocationKey(locationKey).setContentKey(contentKey)
        .setVersionKey(data1.getVersionKey()).setData(data1);
    Parameters parameters2A = new Parameters().setLocationKey(locationKey).setContentKey(contentKey)
        .setVersionKey(data2A.getVersionKey()).setData(data2A);
    Parameters parameters2B = new Parameters().setLocationKey(locationKey).setContentKey(contentKey)
        .setVersionKey(data2B.getVersionKey()).setData(data2B);

    nodeB.getDataManager().putUnblocked(parameters1).awaitUninterruptibly();
    nodeB.getDataManager().putUnblocked(parameters2A).awaitUninterruptibly();

    boolean success = nodeB.getDataManager().put(parameters2B);
View Full Code Here

  @Test
  public void testConcurrentModificationAnlysis() throws IOException {
    String locationKey = "a location key";
    String contentKey = "content key";

    H2HTestData dataOther = new H2HTestData("dataOther");
    dataOther.generateVersionKey();
    Number640 dataOtherKey = new Number640(Number160.createHash(locationKey), Number160.ZERO,
        Number160.createHash(contentKey), dataOther.getVersionKey());

    H2HTestData data1 = new H2HTestData("data1");
    data1.generateVersionKey();
    Number640 data1Key = new Number640(Number160.createHash(locationKey), Number160.ZERO,
        Number160.createHash(contentKey), data1.getVersionKey());

    waitATick();
    H2HTestData data2AOlder = new H2HTestData("data2AOlder");
    data2AOlder.generateVersionKey();
    data2AOlder.setBasedOnKey(data1.getVersionKey());
    Number640 data2AOlderKey = new Number640(Number160.createHash(locationKey), Number160.ZERO,
        Number160.createHash(contentKey), data2AOlder.getVersionKey());

    waitATick();
    H2HTestData data2B = new H2HTestData("data2B");
    data2B.generateVersionKey();
    data2B.setBasedOnKey(data1.getVersionKey());
    Number640 data2BKey = new Number640(Number160.createHash(locationKey), Number160.ZERO,
        Number160.createHash(contentKey), data2B.getVersionKey());

    waitATick();
    H2HTestData data2ANewer = new H2HTestData("data2ANewer");
    data2ANewer.generateVersionKey();
    data2ANewer.setBasedOnKey(data1.getVersionKey());
    Number640 data2ANewerKey = new Number640(Number160.createHash(locationKey), Number160.ZERO,
        Number160.createHash(contentKey), data2ANewer.getVersionKey());

    TestFuturePutListener futurePutListener = new TestFuturePutListener(new Parameters()
        .setLocationKey(locationKey).setContentKey(contentKey).setVersionKey(data2B.getVersionKey())
        .setData(data2B), null);
    NavigableMap<Number640, Number160> dataMap = new ConcurrentSkipListMap<Number640, Number160>();

    // empty map
    assertTrue(futurePutListener.checkIfMyVerisonWins(dataMap));

    // no based on entry
    dataMap.put(dataOtherKey, dataOther.getBasedOnKey());
    assertTrue(futurePutListener.checkIfMyVerisonWins(dataMap));

    // contains only parent entry
    dataMap.clear();
    dataMap.put(data1Key, data1.getBasedOnKey());
    assertTrue(futurePutListener.checkIfMyVerisonWins(dataMap));

    // first entry is parent, second is corrupt
    dataMap.clear();
    dataMap.put(data1Key, data1.getBasedOnKey());
    dataMap.put(dataOtherKey, dataOther.getBasedOnKey());
    assertTrue(futurePutListener.checkIfMyVerisonWins(dataMap));

    // first entry is parent, second entry is older
    dataMap.clear();
    dataMap.put(data1Key, data1.getBasedOnKey());
    dataMap.put(data2AOlderKey, data2AOlder.getBasedOnKey());
    assertFalse(futurePutListener.checkIfMyVerisonWins(dataMap));

    // first entry is parent, second entry is newer
    dataMap.clear();
    dataMap.put(data1Key, data1.getBasedOnKey());
    dataMap.put(data2ANewerKey, data2ANewer.getBasedOnKey());
    assertTrue(futurePutListener.checkIfMyVerisonWins(dataMap));

    // first entry is parent, second entry is same
    dataMap.clear();
    dataMap.put(data1Key, data1.getBasedOnKey());
View Full Code Here

TOP

Related Classes of org.hive2hive.core.H2HTestData

Copyright © 2018 www.massapicom. 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.