Package net.tomp2p.futures

Examples of net.tomp2p.futures.FutureGet


    putStep.start();

    // wait for the process to finish
    UseCaseTestUtil.waitTillFailed(listener, 10);

    FutureGet futureGet = proxy.getDataManager().getUnblocked(
        new Parameters().setLocationKey(locationKey).setContentKey(contentKey));
    futureGet.awaitUninterruptibly();
    assertNull(futureGet.getData());
  }
View Full Code Here


    assertNotNull(getUserProfile);
    assertEquals(credentials.getUserId(), getUserProfile.getUserId());

    // verify put locations
    FutureGet getLocations = otherClient.getDataManager().getUnblocked(
        new Parameters().setLocationKey(credentials.getUserId()).setContentKey(
            H2HConstants.USER_LOCATIONS));
    getLocations.awaitUninterruptibly();
    getLocations.getFutureRequests().awaitUninterruptibly();
    Locations locations = (Locations) getLocations.getData().object();

    assertNotNull(locations);
    assertEquals(credentials.getUserId(), locations.getUserId());
    assertTrue(locations.getPeerAddresses().isEmpty());

    // verify put user public key
    FutureGet getKey = otherClient.getDataManager().getUnblocked(
        new Parameters().setLocationKey(credentials.getUserId()).setContentKey(
            H2HConstants.USER_PUBLIC_KEY));
    getKey.awaitUninterruptibly();
    getKey.getFutureRequests().awaitUninterruptibly();
    UserPublicKey publicKey = (UserPublicKey) getKey.getData().object();

    assertNotNull(publicKey);
  }
View Full Code Here

    PutLocationContext context = new PutLocationContext(newLocations, protectionKeys);
    PutUserLocationsStep step = new PutUserLocationsStep(context, context, putter.getDataManager());
    UseCaseTestUtil.executeProcess(step);

    // get the locations
    FutureGet future = proxy.getDataManager().getUnblocked(
        new Parameters().setLocationKey(userId).setContentKey(H2HConstants.USER_LOCATIONS));
    future.awaitUninterruptibly();
    Assert.assertNotNull(future.getData());
    Locations found = (Locations) future.getData().object();

    // verify if both objects are the same
    Assert.assertEquals(userId, found.getUserId());

    List<PeerAddress> onlinePeers = new ArrayList<PeerAddress>(found.getPeerAddresses());
View Full Code Here

    // wait for the process to finish
    UseCaseTestUtil.waitTillFailed(listener, 10);

    // get the locations which should be stored at the proxy --> they should be null
    FutureGet futureGet = proxy.getDataManager().getUnblocked(
        new Parameters().setLocationKey(userId).setContentKey(H2HConstants.USER_LOCATIONS));
    futureGet.awaitUninterruptibly();
    assertNull(futureGet.getData());
  }
View Full Code Here

  public void testLogout() throws ClassNotFoundException, IOException, NoSessionException,
      NoPeerConnectionException {
    NetworkManager client = network.get(0);

    // verify the locations map before logout
    FutureGet futureGet = client.getDataManager().getUnblocked(
        new Parameters().setLocationKey(userCredentials.getUserId()).setContentKey(
            H2HConstants.USER_LOCATIONS));
    futureGet.awaitUninterruptibly();
    futureGet.getFutureRequests().awaitUninterruptibly();
    Locations locations = (Locations) futureGet.getData().object();

    Assert.assertEquals(1, locations.getPeerAddresses().size());

    // logout
    IProcessComponent process = ProcessFactory.instance().createLogoutProcess(client);
    UseCaseTestUtil.executeProcess(process);

    // verify the locations map after logout
    FutureGet futureGet2 = client.getDataManager().getUnblocked(
        new Parameters().setLocationKey(userCredentials.getUserId()).setContentKey(
            H2HConstants.USER_LOCATIONS));
    futureGet2.awaitUninterruptibly();
    futureGet2.getFutureRequests().awaitUninterruptibly();
    Locations locations2 = (Locations) futureGet2.getData().object();

    Assert.assertEquals(0, locations2.getPeerAddresses().size());
  }
View Full Code Here

    FuturePut futurePut1 = p1.put(lKey).setData(cKey, data).setDomainKey(dKey).keyPair(keyPair).start();
    futurePut1.awaitUninterruptibly();
    assertTrue(futurePut1.isSuccess());

    // verify put from peer 1
    FutureGet futureGet1a = p1.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet1a.awaitUninterruptibly();
    assertTrue(futureGet1a.isSuccess());
    Data retData = futureGet1a.getData();
    assertEquals(testData, (String) retData.object());
    assertEquals(keyPair.getPublic(), retData.publicKey());

    // verify put from peer 2
    FutureGet futureGet1b = p2.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet1b.awaitUninterruptibly();
    assertTrue(futureGet1b.isSuccess());
    retData = futureGet1b.getData();
    assertEquals(testData, (String) retData.object());
    assertEquals(keyPair.getPublic(), retData.publicKey());

    // try a put without a protection key (through peer 2)
    Data data2 = new Data("data2");
    FuturePut futurePut2 = p2.put(lKey).setData(cKey, data2).setDomainKey(dKey).start();
    futurePut2.awaitUninterruptibly();
    assertFalse(futurePut2.isSuccess());

    // verify that nothing changed from peer 1
    FutureGet futureGet2a = p1.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet2a.awaitUninterruptibly();
    assertTrue(futureGet2a.isSuccess());
    retData = futureGet2a.getData();
    // should have been not modified
    assertEquals(testData, (String) retData.object());
    assertEquals(keyPair.getPublic(), retData.publicKey());

    // verify that nothing changed from peer 2
    FutureGet futureGet2b = p2.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet2b.awaitUninterruptibly();
    assertTrue(futureGet2b.isSuccess());
    retData = futureGet2b.getData();
    // should have been not modified
    assertEquals(testData, (String) retData.object());
    assertEquals(keyPair.getPublic(), retData.publicKey());

    // overwrite
    String newTestData = "new data";
    data = new Data(newTestData).setProtectedEntry();
    // sign put message with protection keys
    FuturePut futurePut4 = p1.put(lKey).setData(cKey, data).keyPair(keyPair).setDomainKey(dKey).start();
    futurePut4.awaitUninterruptibly();
    Assert.assertTrue(futurePut4.isSuccess());

    // verify overwrite from peer 1
    FutureGet futureGet4a = p1.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet4a.awaitUninterruptibly();
    assertTrue(futureGet4a.isSuccess());
    retData = futureGet4a.getData();
    assertEquals(keyPair.getPublic(), retData.publicKey());
    // should have been modified
    assertEquals(newTestData, (String) retData.object());

    // verify overwrite from peer 2
    FutureGet futureGet4b = p2.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet4b.awaitUninterruptibly();
    assertTrue(futureGet4b.isSuccess());
    retData = futureGet4b.getData();
    assertEquals(keyPair.getPublic(), retData.publicKey());
    // should have been modified
    assertEquals(newTestData, (String) retData.object());

    p1.shutdown().awaitUninterruptibly();
View Full Code Here

    FuturePut futurePut1 = p1.put(lKey).setData(cKey, data).setDomainKey(dKey).setVersionKey(vKey)
        .keyPair(keyPair).start();
    futurePut1.awaitUninterruptibly();
    assertTrue(futurePut1.isSuccess());

    FutureGet futureGet1a = p1.get(lKey).setContentKey(cKey).setDomainKey(dKey).setVersionKey(vKey)
        .start();
    futureGet1a.awaitUninterruptibly();
    assertTrue(futureGet1a.isSuccess());
    Data retData = futureGet1a.getData();
    assertEquals(testData, (String) retData.object());
    assertTrue(retData.verify(keyPair.getPublic(), factory));
    assertEquals(keyPair.getPublic(), retData.publicKey());

    FutureGet futureGet1b = p2.get(lKey).setContentKey(cKey).setDomainKey(dKey).setVersionKey(vKey)
        .start();
    futureGet1b.awaitUninterruptibly();
    assertTrue(futureGet1b.isSuccess());
    retData = futureGet1b.getData();
    assertEquals(testData, (String) retData.object());
    assertTrue(retData.verify(keyPair.getPublic(), factory));
    assertEquals(keyPair.getPublic(), retData.publicKey());

    p1.shutdown().awaitUninterruptibly();
View Full Code Here

    Data data = new Data(testData1).setProtectedEntry();
    FuturePut futurePut1 = p1.put(lKey).setData(cKey, data).setDomainKey(dKey).keyPair(keyPair1).start();
    futurePut1.awaitUninterruptibly();
    assertTrue(futurePut1.isSuccess());

    FutureGet futureGet1a = p1.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet1a.awaitUninterruptibly();
    assertTrue(futureGet1a.isSuccess());
    Data retData = futureGet1a.getData();
    assertEquals(testData1, (String) retData.object());
    assertEquals(keyPair1.getPublic(), retData.publicKey());

    FutureGet futureGet1b = p2.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet1b.awaitUninterruptibly();
    assertTrue(futureGet1b.isSuccess());
    retData = futureGet1b.getData();
    assertEquals(testData1, (String) retData.object());
    assertEquals(keyPair1.getPublic(), retData.publicKey());

    // try to put with wrong content protection keys 2
    String testData2 = "data2";
    Data data2 = new Data(testData2).setProtectedEntry().sign(keyPair2, factory);
    FuturePut futurePut2 = p2.put(lKey).setData(cKey, data2).setDomainKey(dKey).keyPair(keyPair2).start();
    futurePut2.awaitUninterruptibly();
    assertFalse(futurePut2.isSuccess());

    FutureGet futureGet2a = p1.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet2a.awaitUninterruptibly();
    assertTrue(futureGet2a.isSuccess());
    // should have been not modified
    retData = futureGet2a.getData();
    assertEquals(testData1, (String) retData.object());
    assertEquals(keyPair1.getPublic(), retData.publicKey());

    FutureGet futureGet2b = p2.get(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureGet2b.awaitUninterruptibly();
    assertTrue(futureGet2b.isSuccess());
    // should have been not modified
    retData = futureGet2b.getData();
    assertEquals(testData1, (String) retData.object());
    assertEquals(keyPair1.getPublic(), retData.publicKey());

    p1.shutdown().awaitUninterruptibly();
    p2.shutdown().awaitUninterruptibly();
View Full Code Here

    FutureRemove futureRemove1 = p1.remove(lKey).contentKey(cKey).start();
    futureRemove1.awaitUninterruptibly();
    assertFalse(futureRemove1.isSuccess());

    // verify failed remove
    FutureGet futureGet2 = p1.get(lKey).setContentKey(cKey).start();
    futureGet2.awaitUninterruptibly();
    assertTrue(futureGet2.isSuccess());
    // should have been not modified
    assertEquals(testData1, (String) futureGet2.getData().object());
    assertEquals(keyPair1.getPublic(), futureGet2.getData().publicKey());

    // try to remove with wrong content protection keys 2
    FutureRemove futureRemove2 = p1.remove(lKey).contentKey(cKey).keyPair(keyPair2).start();
    futureRemove2.awaitUninterruptibly();
    assertFalse(futureRemove2.isSuccess());

    // verify failed remove
    FutureGet futureGet3 = p1.get(lKey).setContentKey(cKey).start();
    futureGet3.awaitUninterruptibly();
    assertTrue(futureGet3.isSuccess());
    // should have been not modified
    assertEquals(testData1, (String) futureGet3.getData().object());
    assertEquals(keyPair1.getPublic(), futureGet3.getData().publicKey());

    // remove with correct content protection keys
    FutureRemove futureRemove4 = p1.remove(lKey).contentKey(cKey).keyPair(keyPair1).start();
    futureRemove4.awaitUninterruptibly();
    assertTrue(futureRemove4.isSuccess());

    // verify remove from peer 1
    FutureGet futureGet4a = p1.get(lKey).setContentKey(cKey).start();
    futureGet4a.awaitUninterruptibly();
    assertFalse(futureGet4a.isSuccess());
    // should have been removed
    assertNull(futureGet4a.getData());

    // verify remove from peer 2
    FutureGet futureGet4b = p2.get(lKey).setContentKey(cKey).start();
    futureGet4b.awaitUninterruptibly();
    assertFalse(futureGet4b.isSuccess());
    // should have been removed
    assertNull(futureGet4b.getData());

    p1.shutdown().awaitUninterruptibly();
    p2.shutdown().awaitUninterruptibly();
  }
View Full Code Here

        .to(new Number640(lKey, dKey, cKey, Number160.MAX_VALUE)).start();
    futureRemove1.awaitUninterruptibly();
    assertFalse(futureRemove1.isSuccess());

    // verify failed remove
    FutureGet futureGet2 = p2.get(lKey).setDomainKey(dKey).setContentKey(cKey).setVersionKey(vKey)
        .start();
    futureGet2.awaitUninterruptibly();
    assertTrue(futureGet2.isSuccess());
    // should have been not modified
    assertEquals(testData1, (String) futureGet2.getData().object());
    assertEquals(key1.getPublic(), futureGet2.getData().publicKey());

    // remove with wrong content protection keys 2 using from/to
    FutureRemove futureRemove2a = p1.remove(lKey).from(new Number640(lKey, dKey, cKey, Number160.ZERO))
        .to(new Number640(lKey, dKey, cKey, Number160.MAX_VALUE)).keyPair(key2).start();
    futureRemove2a.awaitUninterruptibly();
    assertFalse(futureRemove2a.isSuccess());

    // verify failed remove
    FutureGet futureGet3 = p2.get(lKey).setDomainKey(dKey).setContentKey(cKey).setVersionKey(vKey)
        .start();
    futureGet3.awaitUninterruptibly();
    assertTrue(futureGet3.isSuccess());
    // should have been not modified
    assertEquals(testData1, (String) futureGet3.getData().object());
    assertEquals(key1.getPublic(), futureGet3.getData().publicKey());

    // remove with correct content protection keys 1 using from/to
    FutureRemove futureRemove4 = p1.remove(lKey).from(new Number640(lKey, dKey, cKey, Number160.ZERO))
        .to(new Number640(lKey, dKey, cKey, Number160.MAX_VALUE)).keyPair(key1).start();
    futureRemove4.awaitUninterruptibly();
    assertTrue(futureRemove4.isSuccess());

    // verify remove
    FutureGet futureGet4 = p2.get(lKey).setDomainKey(dKey).setContentKey(cKey).setVersionKey(vKey)
        .start();
    futureGet4.awaitUninterruptibly();
    // we did not find the data
    Assert.assertTrue(futureGet4.isFailed());
    // should have been removed
    assertNull(futureGet4.getData());

    p1.shutdown().awaitUninterruptibly();
    p2.shutdown().awaitUninterruptibly();
  }
View Full Code Here

TOP

Related Classes of net.tomp2p.futures.FutureGet

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.