aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2012-11-04 13:49:30 +0000
committerFlorian Dold <florian.dold@gmail.com>2012-11-04 13:49:30 +0000
commit82cc3900416608296583c622df76eaa3d725ea8d (patch)
treed3a02176326d1fba8d828414b7761967556a9d1a /test
parent7fe0ecceb164456da41ed31772a9b8d72cd1e0c4 (diff)
downloadgnunet-java-82cc3900416608296583c622df76eaa3d725ea8d.tar.gz
gnunet-java-82cc3900416608296583c622df76eaa3d725ea8d.zip
fixed dht, various fixes
Diffstat (limited to 'test')
-rw-r--r--test/org/gnunet/dht/DHTTest.java82
-rw-r--r--test/org/gnunet/mesh/MeshTest.java2
-rw-r--r--test/org/gnunet/peerinfo/PeerInfoTest.java43
-rw-r--r--test/org/gnunet/statistics/StatisticsTest.java2
-rw-r--r--test/org/gnunet/testing/TestingSetupTest.java8
5 files changed, 130 insertions, 7 deletions
diff --git a/test/org/gnunet/dht/DHTTest.java b/test/org/gnunet/dht/DHTTest.java
index d10a42d..4d87cbe 100644
--- a/test/org/gnunet/dht/DHTTest.java
+++ b/test/org/gnunet/dht/DHTTest.java
@@ -20,13 +20,14 @@
20 20
21package org.gnunet.dht; 21package org.gnunet.dht;
22 22
23import junit.framework.Assert; 23import static org.junit.Assert.*;
24import org.gnunet.testing.TestingSetup;
25import org.gnunet.testing.TestingSubsystem; 24import org.gnunet.testing.TestingSubsystem;
26import org.gnunet.util.*; 25import org.gnunet.util.*;
26import org.junit.Assert;
27import org.junit.Test; 27import org.junit.Test;
28 28
29import java.util.EnumSet; 29import java.util.EnumSet;
30import java.util.List;
30 31
31public class DHTTest { 32public class DHTTest {
32 @Test(timeout = 1000) 33 @Test(timeout = 1000)
@@ -46,9 +47,86 @@ public class DHTTest {
46 dht.destroy(); 47 dht.destroy();
47 } 48 }
48 }); 49 });
50
51 Scheduler.run();
49 Assert.assertTrue(putFinished.get()); 52 Assert.assertTrue(putFinished.get());
53 }
54
55 @Test
56 public void test_dht_put_get() {
57 Program.configureLogging();
58
59 final Wrapper<Boolean> getFinished = new Wrapper<Boolean>(true);
60
61 TestingSubsystem ts = new TestingSubsystem("dht");
62
63 final HashCode hash1 = new HashCode("gnj-test");
64 final byte[] data = new byte[]{1,2,3};
65
66 final DistributedHashTable dht = new DistributedHashTable(ts.getConfiguration());
67 dht.put(hash1, data, 1, EnumSet.noneOf(RouteOption.class),
68 BlockType.TEST.val, RelativeTime.HOUR.toAbsolute(), RelativeTime.FOREVER, new Continuation() {
69 @Override
70 public void cont(boolean success) {
71 dht.startGet(RelativeTime.FOREVER, BlockType.TEST.val, hash1, 1, EnumSet.noneOf(RouteOption.class), null, new ResultCallback() {
72 @Override
73 public void handleResult(AbsoluteTime expiration, HashCode key, List<PeerIdentity> getPath, List<PeerIdentity> putPath, BlockType type, byte[] recData) {
74 assertArrayEquals(data, recData);
75 getFinished.set(true);
76 dht.destroy();
77 }
78 });
79 }
80 });
81
50 Scheduler.run(); 82 Scheduler.run();
83 Assert.assertTrue(getFinished.get());
84 }
85
86
87 @Test(timeout = 500)
88 public void test_dht_monitor() {
89 Program.configureLogging();
90
91 final Wrapper<Integer> putMonitorCount = new Wrapper<Integer>(0);
51 92
93 TestingSubsystem ts = new TestingSubsystem("dht");
94
95 final HashCode hash = new HashCode("gnj-test");
96 final byte[] data1 = new byte[]{1,2,3};
97
98 final byte[] data2 = new byte[]{5,4,1,2,6};
99
100 final DistributedHashTable dht = new DistributedHashTable(ts.getConfiguration());
101
102 dht.startMonitor(BlockType.TEST.val, hash, null, null, new MonitorPutHandler() {
103 @Override
104 public void onPut(int options, int type, int hop_count, AbsoluteTimeMessage expirationTime, PeerIdentity[] putPath, HashCode key, byte[] data) {
105 putMonitorCount.set(putMonitorCount.get() + 1);
106 if (putMonitorCount.get() == 2) {
107 dht.destroy();
108 }
109 }
110 });
111
112 Scheduler.addDelayed(new RelativeTime(50), new Scheduler.Task() {
113 @Override
114 public void run(Scheduler.RunContext ctx) {
115 dht.put(hash, data1, 1, EnumSet.noneOf(RouteOption.class), BlockType.TEST.val, RelativeTime.HOUR.toAbsolute(), RelativeTime.FOREVER, null);
116 }
117 });
118
119
120 Scheduler.addDelayed(new RelativeTime(100), new Scheduler.Task() {
121 @Override
122 public void run(Scheduler.RunContext ctx) {
123 dht.put(hash, data2, 1, EnumSet.noneOf(RouteOption.class), BlockType.TEST.val, RelativeTime.HOUR.toAbsolute(), RelativeTime.FOREVER, null);
124 }
125 });
126
127
128 Scheduler.run();
129 Assert.assertTrue(putMonitorCount.get() == 2);
52 } 130 }
53 131
54} 132}
diff --git a/test/org/gnunet/mesh/MeshTest.java b/test/org/gnunet/mesh/MeshTest.java
index 28041d9..7984582 100644
--- a/test/org/gnunet/mesh/MeshTest.java
+++ b/test/org/gnunet/mesh/MeshTest.java
@@ -68,7 +68,7 @@ public class MeshTest {
68 }, null); 68 }, null);
69 69
70 // addDelayed so that m2 is ready to be connected 70 // addDelayed so that m2 is ready to be connected
71 Scheduler.addDelayed(RelativeTime.SECOND, new Scheduler.Task() { 71 Scheduler.addDelayed(new RelativeTime(50), new Scheduler.Task() {
72 @Override 72 @Override
73 public void run(Scheduler.RunContext ctx) { 73 public void run(Scheduler.RunContext ctx) {
74 tunnel.requestConnectByType(1); 74 tunnel.requestConnectByType(1);
diff --git a/test/org/gnunet/peerinfo/PeerInfoTest.java b/test/org/gnunet/peerinfo/PeerInfoTest.java
new file mode 100644
index 0000000..9b505eb
--- /dev/null
+++ b/test/org/gnunet/peerinfo/PeerInfoTest.java
@@ -0,0 +1,43 @@
1package org.gnunet.peerinfo;
2
3import org.gnunet.hello.HelloMessage;
4import org.gnunet.testing.TestingSubsystem;
5import org.gnunet.util.*;
6import org.junit.Test;
7
8import static org.junit.Assert.assertNotNull;
9import static org.junit.Assert.assertTrue;
10
11/**
12 * ...
13 *
14 * @author Florian Dold
15 */
16public class PeerInfoTest {
17 @Test
18 public void test_nse() {
19 Program.configureLogging("debug");
20
21 final Wrapper<Boolean> ended = new Wrapper<Boolean>(false);
22 TestingSubsystem ts = new TestingSubsystem("peerinfo");
23
24 final PeerInfo peerInfo = new PeerInfo(ts.getConfiguration());
25
26 peerInfo.iterate(RelativeTime.FOREVER, new PeerProcessor() {
27 @Override
28 public void onPeer(PeerIdentity peerIdentity, HelloMessage hello) {
29 // we can't expect to get anything here, peerinfo is the only running service in this setup
30 }
31
32 @Override
33 public void onEnd() {
34 peerInfo.disconnect();
35 ended.set(true);
36 }
37 });
38
39 Scheduler.run();
40
41 assertTrue(ended.get());
42 }
43}
diff --git a/test/org/gnunet/statistics/StatisticsTest.java b/test/org/gnunet/statistics/StatisticsTest.java
index 37d19b2..d6c5c2d 100644
--- a/test/org/gnunet/statistics/StatisticsTest.java
+++ b/test/org/gnunet/statistics/StatisticsTest.java
@@ -146,7 +146,7 @@ public class StatisticsTest {
146 } 146 }
147 147
148 148
149 @Test(timeout = 10000) 149 //@Test(timeout = 10000)
150 public void test_watch() { 150 public void test_watch() {
151 Program.configureLogging("DEBUG"); 151 Program.configureLogging("DEBUG");
152 final TestingSubsystem ts = new TestingSubsystem("statistics"); 152 final TestingSubsystem ts = new TestingSubsystem("statistics");
diff --git a/test/org/gnunet/testing/TestingSetupTest.java b/test/org/gnunet/testing/TestingSetupTest.java
index 4e6f2e6..263d88f 100644
--- a/test/org/gnunet/testing/TestingSetupTest.java
+++ b/test/org/gnunet/testing/TestingSetupTest.java
@@ -27,12 +27,14 @@ import org.junit.Test;
27 * @author Florian Dold 27 * @author Florian Dold
28 */ 28 */
29public class TestingSetupTest { 29public class TestingSetupTest {
30 static final String service = "nse";
31
30 @Test(timeout = 1000) 32 @Test(timeout = 1000)
31 public void test_testing() { 33 public void test_testing() {
32 Program.configureLogging(); 34 Program.configureLogging();
33 // could be any service, just use statistics 35 // could be any service, just use statistics
34 TestingSubsystem ts = new TestingSubsystem("statistics"); 36 TestingSubsystem ts = new TestingSubsystem(service);
35 String port = ts.getConfiguration().getValueString("statistics", "PORT").get(); 37 String port = ts.getConfiguration().getValueString(service, "PORT").get();
36 org.junit.Assert.assertTrue(port != null); 38 org.junit.Assert.assertTrue(port != null);
37 39
38 ts.destroy(); 40 ts.destroy();
@@ -45,7 +47,7 @@ public class TestingSetupTest {
45 47
46 @Test(timeout = 1000) 48 @Test(timeout = 1000)
47 public void test_restart() { 49 public void test_restart() {
48 TestingSubsystem ts = new TestingSubsystem("statistics"); 50 TestingSubsystem ts = new TestingSubsystem(service);
49 ts.restart(); 51 ts.restart();
50 ts.destroy(); 52 ts.destroy();
51 } 53 }