forked from I2P_Developers/i2p.i2p
move BFNS test
This commit is contained in:
@ -1,83 +0,0 @@
|
||||
package net.i2p.client.naming;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.data.Destination;
|
||||
|
||||
|
||||
public class BlockfileNamingServiceTest extends TestCase {
|
||||
BlockfileNamingService _bns;
|
||||
List<String> _names;
|
||||
File hostsTxt, routerDir;
|
||||
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public void setUp() throws Exception {
|
||||
I2PAppContext ctx = new I2PAppContext();
|
||||
routerDir = ctx.getRouterDir();
|
||||
|
||||
// first load the list of hosts that will be queried
|
||||
InputStream is = getClass().getResourceAsStream("/hosts.txt");
|
||||
Properties props = new Properties();
|
||||
assertNotNull("test classpath not set correctly",is);
|
||||
DataHelper.loadProps(props, is, true);
|
||||
_names = new ArrayList<String>((Set<String>) (Set) props.keySet()); // TODO-Java6: s/keySet()/stringPropertyNames()/
|
||||
Collections.shuffle(_names);
|
||||
is.close();
|
||||
|
||||
// then copy the hosts.txt file so that the naming service can load them
|
||||
hostsTxt = new File(routerDir, "hosts.txt");
|
||||
OutputStream os = new BufferedOutputStream(new FileOutputStream(hostsTxt));
|
||||
is = getClass().getResourceAsStream("/hosts.txt");
|
||||
byte [] b = new byte[8196];
|
||||
int read = 0;
|
||||
while ((read = is.read(b)) > 0 )
|
||||
os.write(b,0,read);
|
||||
os.flush(); os.close();
|
||||
_bns = new BlockfileNamingService(ctx);
|
||||
}
|
||||
|
||||
public void tearDown() {
|
||||
_bns.shutdown();
|
||||
if (routerDir != null) {
|
||||
File f = new File(routerDir,"hostsdb.blockfile");
|
||||
f.delete();
|
||||
}
|
||||
if (hostsTxt != null)
|
||||
hostsTxt.delete();
|
||||
}
|
||||
|
||||
public void testRepeatedLookup() throws Exception{
|
||||
int found = 0;
|
||||
int notfound = 0;
|
||||
int rfound = 0;
|
||||
int rnotfound = 0;
|
||||
for (String name : _names) {
|
||||
Destination dest = _bns.lookup(name);
|
||||
if (dest != null) {
|
||||
found++;
|
||||
String reverse = _bns.reverseLookup(dest);
|
||||
if (reverse != null)
|
||||
rfound++;
|
||||
else
|
||||
rnotfound++;
|
||||
} else {
|
||||
notfound++;
|
||||
}
|
||||
}
|
||||
assertEquals(0, notfound);
|
||||
assertEquals(0, rnotfound);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user