From ddd285aab97a2a0a9734b517b3e68d761b34b94f Mon Sep 17 00:00:00 2001 From: bdc34 Date: Fri, 5 Nov 2010 19:47:34 +0000 Subject: [PATCH] Test for VitroURL. --- .../vitro/webapp/filters/VitroURLTest.java | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 webapp/test/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java b/webapp/test/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java new file mode 100644 index 000000000..01c462032 --- /dev/null +++ b/webapp/test/edu/cornell/mannlib/vitro/webapp/filters/VitroURLTest.java @@ -0,0 +1,137 @@ +package edu.cornell.mannlib.vitro.webapp.filters; + +import static org.junit.Assert.assertEquals; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; + + +public class VitroURLTest { + + /** + * Test of beginsWithSlash method, of class VitroURL. + */ + @Test + public void testBeginsWithSlash() + { + String pathStr = "entity?home=1&uri=http://aims.fao.org/aos/geopolitical.owl#Afghanistan"; + VitroURL instance = new VitroURL("", "UTF-8"); + boolean expResult = false; + boolean result = instance.beginsWithSlash(pathStr); + assertEquals(expResult, result); + } + + /** + * Test of endsInSlash method, of class VitroURL. + */ + @Test + public void testEndsInSlash() + { + String pathStr = "/entity?home=1&uri=http://aims.fao.org/aos/geopolitical.owl#Afghanistan"; + VitroURL instance = new VitroURL("", "UTF-8"); + boolean expResult = false; + boolean result = instance.endsInSlash(pathStr); + assertEquals(expResult, result); + } + + /** + * Test of toString method, of class VitroURL. + * This test includes a Individual URI with a '=' and a '?' + * This test is from David Cliff via sourceforge. + * It isn't clear if the double URLencoding is correct. + */ +// @Test +// public void testToString() +// { +// String MelbUniStr = "/entity?home=1&uri=HTTPS://bida.themis.unimelb.edu.au/pls/apex/f?p=mrw2rdf:org:::::org_id:145"; +// VitroURL instance = new VitroURL(MelbUniStr, "UTF-8"); +// String expResult = "/entity?home=1&uri=HTTPS%253A%252F%252Fbida.themis.unimelb.edu.au%252Fpls%252Fapex%252Ff%253Fp%253Dmrw2rdf%253Aorg%253A%253A%253A%253A%253Aorg_id%253A145"; +// String result = instance.toString(); +// assertEquals(expResult, result); +// } + + /** + * This is a test similar to testToString() + * in that it has a = and a ? but it doesn't + * expect a double encoded URI. + */ + @Test + public void testWithEqualsSign(){ + String MelbUniStr = "/entity?home=1&uri=HTTPS://bida.themis.unimelb.edu.au/pls/apex/f?p=mrw2rdf:org:::::org_id:145"; + VitroURL instance = new VitroURL(MelbUniStr, "UTF-8"); + String expResult ="/entity?home=1&uri=HTTPS%3A%2F%2Fbida.themis.unimelb.edu.au%2Fpls%2Fapex%2Ff%3Fp%3Dmrw2rdf%3Aorg%3A%3A%3A%3A%3Aorg_id%3A145"; + assertEquals(expResult, instance.toString()); + } + + @Test + public void testParseQueryParams(){ + //parseQueryParams + VitroURL instance = new VitroURL("stringNotImportant", "UTF-8"); + List result = instance.parseQueryParams("uri=HTTPS://bida.themis.unimelb.edu.au/pls/apex/f?p=mrw2rdf:org:::::org_id:145"); + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + Assert.assertNotNull(result.get(0)); + Assert.assertEquals(2, result.get(0).length); + Assert.assertEquals("uri",result.get(0)[0]); + Assert.assertEquals("HTTPS://bida.themis.unimelb.edu.au/pls/apex/f?p=mrw2rdf:org:::::org_id:145",result.get(0)[1]); + } + + @Test + public void testParseQueryParams2(){ + //parseQueryParams + VitroURL instance = new VitroURL("stringNotImportant", "UTF-8"); + List result = instance.parseQueryParams("home=1&uri=HTTPS://bida.themis.unimelb.edu.au/pls/apex/f?p=mrw2rdf:org:::::org_id:145"); + Assert.assertNotNull(result); + Assert.assertEquals(2, result.size()); + + Assert.assertNotNull(result.get(0)); + Assert.assertEquals(2, result.get(0).length); + Assert.assertEquals("home",result.get(0)[0]); + Assert.assertEquals("1",result.get(0)[1]); + + Assert.assertNotNull(result.get(1)); + Assert.assertEquals(2, result.get(1).length); + Assert.assertEquals("uri",result.get(1)[0]); + Assert.assertEquals("HTTPS://bida.themis.unimelb.edu.au/pls/apex/f?p=mrw2rdf:org:::::org_id:145",result.get(1)[1]); + } + + @Test + public void testParseQueryParams3(){ + //parseQueryParams + VitroURL instance = new VitroURL("stringNotImportant", "UTF-8"); + List result = instance.parseQueryParams("home=1&uri=HTTPS://bida.edu.au/pls/apex/f?p=mrw2&additiona=234"); + Assert.assertNotNull(result); + Assert.assertEquals(2, result.size()); + + Assert.assertNotNull(result.get(0)); + Assert.assertEquals(2, result.get(0).length); + Assert.assertEquals("home",result.get(0)[0]); + Assert.assertEquals("1",result.get(0)[1]); + + Assert.assertNotNull(result.get(1)); + Assert.assertEquals(2, result.get(1).length); + Assert.assertEquals("uri",result.get(1)[0]); + Assert.assertEquals("HTTPS://bida.edu.au/pls/apex/f?p=mrw2&additiona=234",result.get(1)[1]); + } + + @Test (expected=Error.class) + public void testParseQueryParams4(){ + //parseQueryParams + VitroURL instance = new VitroURL("stringNotImportant", "UTF-8"); + List result = instance.parseQueryParams("home=1&shouldBeURI=HTTPS://bida.edu.au/pls/apex/f?p=mrw2&additiona=234"); + Assert.assertNotNull(result); + Assert.assertEquals(2, result.size()); + + Assert.assertNotNull(result.get(0)); + Assert.assertEquals(2, result.get(0).length); + Assert.assertEquals("home",result.get(0)[0]); + Assert.assertEquals("1",result.get(0)[1]); + + Assert.assertNotNull(result.get(1)); + Assert.assertEquals(2, result.get(1).length); + Assert.assertEquals("uri",result.get(1)[0]); + Assert.assertEquals("HTTPS://bida.edu.au/pls/apex/f?p=mrw2&additiona=234",result.get(1)[1]); + } +} \ No newline at end of file