X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FBioJsHTMLOutputTest.java;h=3e94aa98d069dd9ea39b6b2b32acad65e57eb9ad;hb=45f546c71f94606ab43389d596139606bd001656;hp=cbda794d98fdd829a9102e5ee50aa1007f9a7d2b;hpb=227ee1c1c69c228b67d408a0a83ae51bf5811272;p=jalview.git diff --git a/test/jalview/io/BioJsHTMLOutputTest.java b/test/jalview/io/BioJsHTMLOutputTest.java index cbda794..3e94aa9 100644 --- a/test/jalview/io/BioJsHTMLOutputTest.java +++ b/test/jalview/io/BioJsHTMLOutputTest.java @@ -1,47 +1,122 @@ package jalview.io; -import jalview.datamodel.Alignment; -import jalview.datamodel.Sequence; +import jalview.json.binding.v1.BioJSReleasePojo; +import jalview.json.binding.v1.BioJSRepositoryPojo; +import java.io.File; import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLConnection; +import java.util.TreeMap; +import org.junit.Assert; import org.junit.Test; -import com.json.JSONException; public class BioJsHTMLOutputTest { - @Test public void getJalviewAlignmentAsJsonString() { - BioJsHTMLOutput bioJsHtmlOuput = new BioJsHTMLOutput(null, null); - bioJsHtmlOuput.setGlobalColorScheme("Zappo"); - - Sequence[] seqs = new Sequence[1]; - Sequence seq = new Sequence("name", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1, 26); - // SequenceFeature seqFeature = new SequenceFeature("type", "desc", - // "status", 1, 5, "jalview"); - // seq.addSequenceFeature(seqFeature); - seq.setDatasetSequence(seq); - seqs[0] = seq; - - Alignment al = new Alignment(seqs); + BioJsHTMLOutput bioJsHtmlOutput = new BioJsHTMLOutput(null, null); + String bjsTemplate = null; try { - String generatedJson = bioJsHtmlOuput - .getJalviewAlignmentAsJsonString(al); - assert (generatedJson - .equalsIgnoreCase("{\"globalColorScheme\":\"zappo\",\"seqs\":[{\"id\":\"1\",\"start\":1,\"name\":\"name/1-26\",\"features\":[],\"seq\":\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\"end\":26}]}")); - System.out.println("Output : " + generatedJson); + bioJsHtmlOutput.updateBioJS(); + bjsTemplate = BioJsHTMLOutput.getBioJsTemplateAsString(); + // System.out.println(bjsTemplate); } catch (IOException e) { e.printStackTrace(); - } catch (JSONException e) + } + Assert.assertNotNull(bjsTemplate); + } + + @Test(expected = NullPointerException.class) + public void expectedNullPointerException() + { + BioJsHTMLOutput bjs = new BioJsHTMLOutput(null, null); + try + { + bjs.refreshBioJSVersionsInfo(null); + } catch (URISyntaxException e) { + Assert.fail("Expception occured while testing!"); e.printStackTrace(); } } + @Test + public void getBioJsMSAVersions() + { + BioJsHTMLOutput bjs = new BioJsHTMLOutput(null, null); + TreeMap versions = null; + try + { + bjs.refreshBioJSVersionsInfo(BioJsHTMLOutput.BJS_TEMPLATES_LOCAL_DIRECTORY); + versions = BioJsHTMLOutput.getBioJsMSAVersions(); + } catch (URISyntaxException e) + { + Assert.fail("Expception occured while testing!"); + e.printStackTrace(); + } + Assert.assertNotNull("No versions found", versions); + Assert.assertTrue("One or more Templates required", versions.size() > 0); + System.out + .println("Number of discovered versions : " + + versions.size()); + for (String v : versions.keySet()) + { + System.out.println("version : " + v); + System.out.println("File : " + versions.get(v)); + } + + System.out.println("\nCurrent latest version : " + + BioJsHTMLOutput.getCurrentBJSTemplateFile()); + Assert.assertNotNull("Latest BioJsMSA version NOT found!", + BioJsHTMLOutput.getCurrentBJSTemplateFile()); + + } + + @Test + public void testBioJsUpdate() + { + String url = BioJsHTMLOutput.BJS_TEMPLATE_GIT_REPO; + Assert.assertTrue("URL not reacable : " + url, urlIsReachable(url)); + String response = BioJsHTMLOutput.getURLContentAsString(url); + Assert.assertNotNull("Null response read from url!", response); + BioJSRepositoryPojo repository = new BioJSRepositoryPojo(response); + System.out.println(">>> description : " + repository.getDescription()); + System.out +.println(">>> latest version : " + + repository.getLatestReleaseVersion()); + System.out.println(">>> repo count : " + + repository.getReleases().size()); + for (BioJSReleasePojo release : repository.getReleases()) + { + System.out.println("repo type : " + release.getType()); + System.out.println("url : " + release.getUrl()); + System.out.println("release version : " + release.getVersion()); + } + } + + private static boolean urlIsReachable(String urlString) + { + try + { + final URL url = new URL(urlString); + final URLConnection conn = url.openConnection(); + conn.connect(); + return true; + } catch (MalformedURLException e) + { + throw new RuntimeException(e); + } catch (IOException e) + { + return false; + } + } }