Package org.hive2hive.core

Examples of org.hive2hive.core.H2HTestData


    KeyPair protectionKey = EncryptionUtil.generateRSAKeyPair();

    NetworkManager node = network.get(random.nextInt(networkSize));

    // initial put
    H2HTestData data1 = new H2HTestData("bla1");
    Parameters parameters1 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setData(data1).setProtectionKeys(protectionKey);
    FuturePut futurePut = node.getDataManager().putUnblocked(parameters1);
    futurePut.awaitUninterruptibly();

    // verify initial put
    FutureGet futureGet = node.getDataManager().getUnblocked(parameters1);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // overwrite with correct protection key
    H2HTestData data2 = new H2HTestData("bla2");
    Parameters parameters2 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setData(data2).setProtectionKeys(protectionKey);
    futurePut = node.getDataManager().putUnblocked(parameters2);
    futurePut.awaitUninterruptibly();

    // verify overwrite
    futureGet = node.getDataManager().getUnblocked(parameters2);
    futureGet.awaitUninterruptibly();
    assertEquals(data2.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // try to overwrite without protection key
    H2HTestData data3 = new H2HTestData("bla3");
    Parameters parameters3 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setData(data3);
    futurePut = node.getDataManager().putUnblocked(parameters3);
    futurePut.awaitUninterruptibly();
View Full Code Here


    KeyPair protectionKey2 = EncryptionUtil.generateRSAKeyPair();

    NetworkManager node = network.get(random.nextInt(networkSize));

    // initial put
    H2HTestData data1 = new H2HTestData("bla1");
    Parameters parameters1 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setData(data1).setProtectionKeys(protectionKey1);
    FuturePut futurePut = node.getDataManager().putUnblocked(parameters1);
    futurePut.awaitUninterruptibly();

    // verify initial put
    FutureGet futureGet = node.getDataManager().getUnblocked(parameters1);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // try to overwrite with wrong protection key
    H2HTestData data2 = new H2HTestData("bla2");
    Parameters parameters2 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setData(data2).setProtectionKeys(protectionKey2);
    futurePut = node.getDataManager().putUnblocked(parameters2);
    futurePut.awaitUninterruptibly();
View Full Code Here

    KeyPair protectionKey2 = EncryptionUtil.generateRSAKeyPair();

    NetworkManager node = network.get(random.nextInt(networkSize));

    // initial put
    H2HTestData data1 = new H2HTestData("bla1");
    Parameters parameters1 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setData(data1).setProtectionKeys(protectionKey1);
    FuturePut futurePut = node.getDataManager().putUnblocked(parameters1);
    futurePut.awaitUninterruptibly();

    // verify initial put
    FutureGet futureGet = node.getDataManager().getUnblocked(parameters1);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // try to remove without protection keys
    Parameters parameters2 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey);
    FutureRemove futureRemove = node.getDataManager().removeUnblocked(parameters2);
    futureRemove.awaitUninterruptibly();

    // should have been not changed
    futureGet = node.getDataManager().getUnblocked(parameters2);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // try to remove with wrong protection keys
    Parameters parameters3 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setProtectionKeys(protectionKey2);
    futureRemove = node.getDataManager().removeUnblocked(parameters3);
    futureRemove.awaitUninterruptibly();

    // should have been not changed
    futureGet = node.getDataManager().getUnblocked(parameters2);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // remove with correct protection keys
    futureRemove = node.getDataManager().removeUnblocked(parameters1);
    futureRemove.awaitUninterruptibly();
View Full Code Here

    KeyPair protectionKey1 = EncryptionUtil.generateRSAKeyPair();
    KeyPair protectionKey2 = EncryptionUtil.generateRSAKeyPair();

    NetworkManager node = network.get(random.nextInt(networkSize));

    H2HTestData data1 = new H2HTestData("bla1");
    data1.generateVersionKey();
    Parameters parameters1 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setVersionKey(data1.getVersionKey()).setData(data1)
        .setProtectionKeys(protectionKey1);

    // initial put
    FuturePut futurePut = node.getDataManager().putUnblocked(parameters1);
    futurePut.awaitUninterruptibly();

    // check if put was ok
    FutureGet futureGet = node.getDataManager().getVersionUnblocked(parameters1);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // try to remove without a protection key
    Parameters parameters2 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setVersionKey(data1.getVersionKey()).setData(data1);
    FutureRemove futureRemove = node.getDataManager().removeVersionUnblocked(parameters2);
    futureRemove.awaitUninterruptibly();

    // should have been not modified
    futureGet = node.getDataManager().getVersionUnblocked(parameters1);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // try to remove with wrong protection key
    Parameters parameters3 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setVersionKey(data1.getVersionKey())
        .setProtectionKeys(protectionKey2);
    futureRemove = node.getDataManager().removeVersionUnblocked(parameters3);
    futureRemove.awaitUninterruptibly();

    // should have been not modified
    futureGet = node.getDataManager().getVersionUnblocked(parameters1);
    futureGet.awaitUninterruptibly();
    assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());

    // remove with correct content protection key
    Parameters parameters4 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
        .setContentKey(contentKey).setVersionKey(data1.getVersionKey()).setData(data1)
        .setProtectionKeys(protectionKey1);
    futureRemove = node.getDataManager().removeVersionUnblocked(parameters4);
    futureRemove.awaitUninterruptibly();

    // should have been removed
View Full Code Here

    int numVersions = H2HConstants.MAX_VERSIONS_HISTORY + random.nextInt(5) + 1;
    List<H2HTestData> versions = new ArrayList<H2HTestData>();
    List<H2HTestData> newerVersions = new ArrayList<H2HTestData>();

    H2HTestData last = null;
    for (int i = 0; i < numVersions; i++) {
      long timeStamp = new Date().getTime();
      timeStamp += 2 * H2HConstants.MIN_VERSION_AGE_BEFORE_REMOVAL_MS;
      H2HTestData testData = generateTestData(timeStamp);
      if (last != null)
        testData.setBasedOnKey(last.getVersionKey());
      last = testData;
      versions.add(testData);
      if (i >= numVersions - H2HConstants.MAX_VERSIONS_HISTORY - 1)
        newerVersions.add(testData);
      synchronized (this) {
        Thread.sleep(10);
      }
    }

    long timeDiff = versions.get(numVersions - 1).getVersionKey().timestamp()
        - versions.get(0).getVersionKey().timestamp();
    if (timeDiff < H2HConstants.MIN_VERSION_AGE_BEFORE_REMOVAL_MS)
      Assert.fail("H2H constant is too low to generate appropriate time stamps.");

    for (H2HTestData testData : versions) {
      parameters.setVersionKey(testData.getVersionKey()).setData(testData);
      node.getDataManager().putUnblocked(parameters).awaitUninterruptibly();
    }

    FutureDigest futureDigest = node.getDataManager().getDigestUnblocked(parameters);
    futureDigest.awaitUninterruptibly();
View Full Code Here

      assertEquals(newerVersions.get(i++).getVersionKey(), storedVersion);
    }
  }

  private H2HTestData generateTestData(long timeStamp) throws IOException {
    H2HTestData testData = new H2HTestData(NetworkTestUtil.randomString());
    // get a MD5 hash of the test data object itself
    byte[] hash = EncryptionUtil.generateMD5Hash(EncryptionUtil.serializeObject(testData));
    // use time stamp value and the first part of the MD5 hash as version key
    Number160 versionKey = new Number160(timeStamp, new Number160(Arrays.copyOf(hash,
        Number160.BYTE_ARRAY_SIZE)));
    // assign the version key to the test data
    testData.setVersionKey(versionKey);
    return testData;
  }
View Full Code Here

  @Test
  public void testRemove() 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()).setData(data);

    nodeA.getDataManager().putUnblocked(parameters).awaitUninterruptibly();
View Full Code Here

  @Test
  public void testRemoveSingleVersion() 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(data.getVersionKey())
        .setData(data);

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

    boolean success = nodeB.getDataManager().removeVersion(parameters);
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());
      }
      Parameters parameters = new Parameters().setLocationKey(locationKey).setContentKey(contentKey)
          .setVersionKey(data.getVersionKey()).setData(data);
      nodeA.getDataManager().putUnblocked(parameters).awaitUninterruptibly();
      content.add(data);
    }

    boolean success = nodeB.getDataManager().remove(
        new Parameters().setLocationKey(locationKey).setContentKey(contentKey));
    assertTrue(success);

    for (H2HTestData data : content) {
      Parameters parameters = new Parameters().setLocationKey(locationKey).setContentKey(contentKey)
          .setVersionKey(data.getVersionKey()).setData(data);
      FutureGet futureGet = nodeA.getDataManager().getVersionUnblocked(parameters);
      futureGet.awaitUninterruptibly();
      assertNull(futureGet.getData());
    }
  }
View Full Code Here

  @Test
  public void testGetNoVersion() 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()).setData(data);

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

    H2HTestData result = (H2HTestData) nodeB.getDataManager().get(parameters);
    assertEquals(data.getTestString(), result.getTestString());
  }
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.