Add function that converts a Sone into its insert URI.
[Sone.git] / src / test / java / net / pterodactylus / sone / data / SoneTest.java
index d54c072..dae7379 100644 (file)
 
 package net.pterodactylus.sone.data;
 
+import static freenet.keys.InsertableClientSSK.createRandom;
+import static net.pterodactylus.sone.data.Sone.TO_INSERT_URI;
 import static net.pterodactylus.sone.data.Sone.TO_POSTS;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.contains;
 import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.nullValue;
 import static org.mockito.Mockito.when;
 
+import freenet.crypt.DummyRandomSource;
+import freenet.keys.InsertableClientSSK;
+
 import org.junit.Test;
 
 /**
@@ -46,4 +52,17 @@ public class SoneTest {
                assertThat(TO_POSTS.apply(sone), contains(is(post3), is(post2), is(post1)));
        }
 
+       @Test
+       public void soneCanBeTransformedIntoAnInsertUri() {
+               InsertableClientSSK newKeypair = createRandom(new DummyRandomSource(), "Test");
+               Sone localSone = mocks.mockSone("A").local().insertUri(newKeypair.getInsertURI().toString()).create();
+               assertThat(TO_INSERT_URI.apply(localSone).toString(), is(newKeypair.getInsertURI().setDocName("Sone").toString()));
+       }
+
+       @Test
+       public void nonLocalSoneCanNotBeTransformedIntoAnInsertUri() {
+               Sone remoteSone = mocks.mockSone("A").create();
+               assertThat(TO_INSERT_URI.apply(remoteSone), nullValue());
+       }
+
 }