Add basic tests for url and parsing of syndication

This commit is contained in:
Peter Stuifzand 2018-04-26 02:07:25 +02:00
parent 763422f7dd
commit aca666cdf1
2 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,50 @@
package eu.stuifzand.micropub;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import org.junit.Assert;
import org.junit.Test;
import java.util.ArrayList;
import eu.stuifzand.micropub.client.MicropubConfigResponseCallback;
import eu.stuifzand.micropub.client.Syndication;
public class MicropubConfigTest {
@Test public void testConfigParse(){
String configJson = "{\"syndicate-to\":[{\"uid\":\"bridgy-publish_twitter\",\"name\":\"Twitter via Bridgy Publish\"},{\"uid\":\"bridgy-publish_facebook\",\"name\":\"Facebook via Bridgy Publish\"},{\"uid\":\"bridgy-publish_github\",\"name\":\"Github via Bridgy Publish\"}]}";
JsonParser parser = new JsonParser();
JsonElement configElement = parser.parse(configJson);
ArrayList<Syndication> syndicates = new ArrayList<>();
// Media endpoint
JsonObject config = configElement.getAsJsonObject();
JsonElement elem = config.get("media-endpoint");
if (elem != null) {
Assert.fail("media endpoint not available");
}
// Syndications.
JsonArray arr = config.getAsJsonArray("syndicate-to");
if (arr != null) {
syndicates.clear();
for (int i = 0; i < arr.size(); i++) {
JsonObject syn = arr.get(i).getAsJsonObject();
syndicates.add(new Syndication(syn.get("uid").getAsString(), syn.get("name").getAsString()));
}
}
Assert.assertEquals(syndicates.get(0).name.get(), "Twitter via Bridgy Publish");
Assert.assertEquals(syndicates.get(0).uid.get(), "bridgy-publish_twitter");
Assert.assertEquals(syndicates.get(1).name.get(), "Facebook via Bridgy Publish");
Assert.assertEquals(syndicates.get(1).uid.get(), "bridgy-publish_facebook");
Assert.assertEquals(syndicates.get(2).name.get(), "Github via Bridgy Publish");
Assert.assertEquals(syndicates.get(2).uid.get(), "bridgy-publish_github");
}
}

View File

@ -0,0 +1,19 @@
package eu.stuifzand.micropub;
import org.junit.Assert;
import org.junit.Test;
import okhttp3.HttpUrl;
public class UrlTest {
@Test
public void testBuildUrl() {
String configKey = "config";
HttpUrl micropubBackend = HttpUrl.parse("https://tiny.n9n.us/?micropub=endpoint");
HttpUrl backend = micropubBackend.newBuilder()
.setQueryParameter("q", configKey)
.build();
Assert.assertEquals(backend.toString(), "https://tiny.n9n.us/?micropub=endpoint&q=config");
}
}