package freenet.keys;
import java.net.MalformedURLException;
import junit.framework.TestCase;
public class FreenetURITest extends TestCase {
// Some URI for wAnnA? index
private static final String WANNA_USK_1 = "USK@5hH~39FtjA7A9~VXWtBKI~prUDTuJZURudDG0xFn3KA,GDgRGt5f6xqbmo-WraQtU54x4H~871Sho9Hz6hC-0RA,AQACAAE/Search/17/index_d51.xml";
private static final String WANNA_SSK_1 = "SSK@5hH~39FtjA7A9~VXWtBKI~prUDTuJZURudDG0xFn3KA,GDgRGt5f6xqbmo-WraQtU54x4H~871Sho9Hz6hC-0RA,AQACAAE/Search-17/index_d51.xml";
private static final String WANNA_CHK_1 = "CHK@DTCDUmnkKFlrJi9UlDDVqXlktsIXvAJ~ZTseyx5cAZs,PmA2rLgWZKVyMXxSn-ZihSskPYDTY19uhrMwqDV-~Sk,AAICAAI/index_d51.xml";
public void testSskForUSK() throws MalformedURLException {
FreenetURI uri1 = new FreenetURI(WANNA_USK_1);
FreenetURI uri2 = new FreenetURI(WANNA_SSK_1);
assertEquals(uri2, uri1.sskForUSK());
assertEquals(uri1, uri2.uskForSSK());
try {
uri1.uskForSSK();
fail("no exception throw!");
} catch (IllegalStateException e) {
// pass
}
try {
uri2.sskForUSK();
fail("no exception throw!");
} catch (IllegalStateException e) {
// pass
}
try {
new FreenetURI(WANNA_CHK_1).sskForUSK();
fail("no exception throw!");
} catch (IllegalStateException e) {
// pass
}
try {
new FreenetURI(WANNA_CHK_1).uskForSSK();
fail("no exception throw!");
} catch (IllegalStateException e) {
// pass
}
try {
new FreenetURI(
"SSK@5hH~39FtjA7A9~VXWtBKI~prUDTuJZURudDG0xFn3KA,GDgRGt5f6xqbmo-WraQtU54x4H~871Sho9Hz6hC-0RA,AQACAAE/Search-17XXXX/index_d51.xml")
.sskForUSK();
fail("no exception throw!");
} catch (IllegalStateException e) {
// pass
}
try {
new FreenetURI(
"SSK@5hH~39FtjA7A9~VXWtBKI~prUDTuJZURudDG0xFn3KA,GDgRGt5f6xqbmo-WraQtU54x4H~871Sho9Hz6hC-0RA,AQACAAE/Search17/index_d51.xml")
.sskForUSK();
fail("no exception throw!");
} catch (IllegalStateException e) {
// pass
}
}
public void testDeriveRequestURIFromInsertURI() throws MalformedURLException {
final FreenetURI chk = new FreenetURI("CHK@DTCDUmnkKFlrJi9UlDDVqXlktsIXvAJ~ZTseyx5cAZs,PmA2rLgWZKVyMXxSn-ZihSskPYDTY19uhrMwqDV-~Sk,AAICAAI/index_d51.xml");
assertEquals(chk, chk.deriveRequestURIFromInsertURI());
final FreenetURI ksk = new FreenetURI("KSK@test");
assertEquals(ksk, ksk.deriveRequestURIFromInsertURI());
final FreenetURI requestUriUSK = new FreenetURI("USK@sdFxM0Z4zx4-gXhGwzXAVYvOUi6NRfdGbyJa797bNAg,ZP4aASnyZax8nYOvCOlUebegsmbGQIXfVzw7iyOsXEc,AQACAAE/WebOfTrust/5");
final FreenetURI insertUriUSK = new FreenetURI("USK@ZTeIa1g4T3OYCdUFfHrFSlRnt5coeFFDCIZxWSb7abs,ZP4aASnyZax8nYOvCOlUebegsmbGQIXfVzw7iyOsXEc,AQECAAE/WebOfTrust/5");
assertEquals(requestUriUSK, insertUriUSK.deriveRequestURIFromInsertURI());
try {
requestUriUSK.deriveRequestURIFromInsertURI();
fail("requestUriUSK.deriveRequestURIFromInsertURI() should fail because it IS a request URI already!");
} catch(MalformedURLException e) {
// Success
}
final FreenetURI requestUriSSK = new FreenetURI("SSK@sdFxM0Z4zx4-gXhGwzXAVYvOUi6NRfdGbyJa797bNAg,ZP4aASnyZax8nYOvCOlUebegsmbGQIXfVzw7iyOsXEc,AQACAAE/WebOfTrust-5");
final FreenetURI insertUriSSK = new FreenetURI("SSK@ZTeIa1g4T3OYCdUFfHrFSlRnt5coeFFDCIZxWSb7abs,ZP4aASnyZax8nYOvCOlUebegsmbGQIXfVzw7iyOsXEc,AQECAAE/WebOfTrust-5");
assertEquals(requestUriSSK, insertUriSSK.deriveRequestURIFromInsertURI());
try {
requestUriSSK.deriveRequestURIFromInsertURI();
fail("requestUriSSK.deriveRequestURIFromInsertURI() should fail because it IS a request URI already!");
} catch(MalformedURLException e) {
// Success
}
final FreenetURI requestUriSSKPlain = new FreenetURI("SSK@sdFxM0Z4zx4-gXhGwzXAVYvOUi6NRfdGbyJa797bNAg,ZP4aASnyZax8nYOvCOlUebegsmbGQIXfVzw7iyOsXEc,AQACAAE/");
final FreenetURI insertUriSSKPlain = new FreenetURI("SSK@ZTeIa1g4T3OYCdUFfHrFSlRnt5coeFFDCIZxWSb7abs,ZP4aASnyZax8nYOvCOlUebegsmbGQIXfVzw7iyOsXEc,AQECAAE/");
assertEquals(requestUriSSKPlain, insertUriSSKPlain.deriveRequestURIFromInsertURI());
try {
requestUriSSKPlain.deriveRequestURIFromInsertURI();
fail("requestUriSSKPlain.deriveRequestURIFromInsertURI() should fail because it IS a request URI already!");
} catch(MalformedURLException e) {
// Success
}
}
}