public void testYourFithPartition() { String urlTry; System.out.println("Testing Query Partition:"); UrlValidator urlVal = new UrlValidator(); assertTrue(validScheme, urlVal.isValidScheme(validScheme)); assertTrue(validAuthority, urlVal.isValidAuthority(validAuthority)); assertTrue(validAuthority + validPort, urlVal.isValidAuthority(validAuthority + validPort)); assertTrue(validPath, urlVal.isValidPath(validPath)); String[] invalidQueryArr = { "?!!!!@#$#$%^%^&%*&()..", "?/../", "?/..//file", "?/test1//file", "?///////", "?456/@", "?abc", "?_$", "?/_#", "?/^" }; for (int i = 0; i < invalidQueryArr.length; i++) { urlTry = validScheme + "://" + validAuthority + validPort + validPath + invalidQueryArr[i]; assertFalse(urlTry + Integer.toString(i), urlVal.isValid(urlTry)); } String[] validQueryArr = { "?action=view", "?action=edit&mode=up", "?newwindow=1&q=url+query", "?module_item_id=16435218", "?some_action=Some_thiNG", "?1111=22222", "?royals=world_series_champs", "?ideas=NoNe", "?last_ONE=false", "?LAST_one=true", }; for (int i = 0; i < validQueryArr.length; i++) { urlTry = validScheme + "://" + validAuthority + validPort + validPath + validQueryArr[i]; assertTrue(urlTry, urlVal.isValid(urlTry)); } }
public void testYourFourthPartition() { String urlTry; System.out.println("Testing Path Partition:"); UrlValidator urlVal = new UrlValidator(); String[] invalidPathArr = new String[10]; String[] validPathArr = new String[10]; assertTrue(validScheme, urlVal.isValidScheme(validScheme)); assertTrue(validAuthority, urlVal.isValidAuthority(validAuthority)); assertTrue(validAuthority + validPort, urlVal.isValidAuthority(validAuthority + validPort)); // assertTrue(validQuery, urlVal.isValidQuery(validQuery)); invalidPathArr[0] = "/.."; invalidPathArr[1] = "/../"; invalidPathArr[2] = "/..//file"; invalidPathArr[3] = "/test1//file"; invalidPathArr[4] = "///////"; invalidPathArr[5] = "abc"; invalidPathArr[6] = "_$"; invalidPathArr[7] = "/^"; for (int i = 0; i < 8; i++) { urlTry = validScheme + "://" + validAuthority + validPort + invalidPathArr[i]; assertFalse(urlTry, urlVal.isValid(urlTry)); } validPathArr[0] = "/test1"; validPathArr[1] = "/t123"; validPathArr[2] = "/$23"; validPathArr[3] = "/test1/"; validPathArr[4] = "/test1/file"; validPathArr[5] = "/java/java_object_classes"; validPathArr[6] = "/courses/1555028/assignments/6594488"; validPathArr[7] = "/wiki/Uniform_Resource_Identifier"; validPathArr[8] = "/search"; validPathArr[9] = "/r/cscareerquestions"; for (int i = 0; i < 10; i++) { urlTry = validScheme + "://" + validAuthority + validPort + validPathArr[i]; assertTrue(urlTry, urlVal.isValid(urlTry)); } }
//////////////////////// bad query validator makes all these fail. Comment out + validQuery in // for loops to check for other errors public void testYourFirstPartition() { System.out.println("Testing Scheme Partition:"); UrlValidator urlVal = new UrlValidator(); String[] validSchemeArr = new String[3]; String[] invalidSchemeArr = new String[10]; // Check to make sure the pieces we aren't testing are valid. If false exit tests assertTrue(urlVal.isValidAuthority(validAuthority + validPort)); assertTrue(urlVal.isValidAuthority(validAuthority)); assertTrue(urlVal.isValidPath(validPath)); // assertTrue(urlVal.isValidQuery(validQuery)); validSchemeArr[0] = "http://"; // Known valid schemes validSchemeArr[1] = "ftp://"; validSchemeArr[2] = "https://"; // Check known valid Schemes for (int i = 0; i < 3; i++) { String urlTry = validSchemeArr[i] + validAuthority + validPort + validPath; assertTrue(urlTry, urlVal.isValid(urlTry)); } // Invalid schmes invalidSchemeArr[0] = "https"; invalidSchemeArr[1] = "data://"; invalidSchemeArr[2] = "zzzzz://"; invalidSchemeArr[3] = "ftp:/"; invalidSchemeArr[4] = "ftp"; invalidSchemeArr[5] = "ftp:://"; invalidSchemeArr[6] = "ftp:"; invalidSchemeArr[7] = "https:///"; invalidSchemeArr[8] = "https:$/"; invalidSchemeArr[9] = "https//:"; for (int i = 0; i < 10; i++) { // Same as last for loop but using invalid scheme and checking to see if ends up // being true assertFalse( urlVal.isValid( invalidSchemeArr[i] + validAuthority + validPort + validPath + validQuery)); } }
public void testYourSecondPartition() { System.out.println("Testing Authority Partition:"); UrlValidator urlVal = new UrlValidator(); String[] invalidAuthorityArr = new String[10]; String[] validAuthorityArr = new String[10]; assertTrue(urlVal.isValidScheme("http")); assertTrue(urlVal.isValidAuthority(validAuthority + validPort)); assertTrue(urlVal.isValidPath(validPath)); // assertTrue(urlVal.isValidQuery(validQuery)); invalidAuthorityArr[0] = "256.256.256.256"; invalidAuthorityArr[1] = "1.2.3.4.5"; invalidAuthorityArr[2] = ".1.2.3.4"; invalidAuthorityArr[3] = "go.a1a"; invalidAuthorityArr[4] = "go.1aa"; invalidAuthorityArr[5] = ".aaa"; invalidAuthorityArr[6] = "aaa"; invalidAuthorityArr[7] = "aaa."; invalidAuthorityArr[8] = "1.2.3"; invalidAuthorityArr[9] = ""; for (int i = 0; i < 10; i++) { String urlTry = validScheme + invalidAuthorityArr[i] + validPort + validPath + validQuery; System.out.println(urlTry); assertFalse(urlVal.isValid(urlTry)); } validAuthorityArr[0] = "www.google.com"; validAuthorityArr[1] = "google.com"; validAuthorityArr[2] = "google.org"; validAuthorityArr[3] = "255.com"; validAuthorityArr[4] = "google.gov"; validAuthorityArr[5] = "google.edu"; for (int i = 0; i < 6; i++) { String urlTry = validScheme + validAuthorityArr[i] + validPort + validPath; assertTrue(urlTry, urlVal.isValid(urlTry)); } }
public void testYourThirdPartition() { System.out.println("Testing Port Partition:"); UrlValidator urlVal = new UrlValidator(); String urlTry; assertTrue(urlVal.isValidScheme(validScheme)); assertTrue(urlVal.isValidAuthority(validAuthority)); assertTrue(urlVal.isValidPath(validPath)); // assertTrue(urlVal.isValidQuery(validQuery)); String[] invalidPortArr = { ":123456", ":655365", ":1b3", ":b21", ":.11111", ":ljljl", ":-1", ":-200", ":-b.", ":1234567", ":-0" }; for (int i = 0; i < invalidPortArr.length; i++) { urlTry = validScheme + "://" + validAuthority + invalidPortArr[i] + validPath; assertFalse(urlTry, urlVal.isValid(urlTry)); } String[] validPortArr = { ":22", ":65535", ":0", ":65534", ":1", ":12", ":123", ":1234", ":12345", ":11111", }; for (int i = 0; i < validPortArr.length; i++) { urlTry = validScheme + "://" + validAuthority + validPortArr[i] + validPath; assertTrue(urlTry, urlVal.isValid(urlTry)); } }