From abfc64de495933075c56b2126f2501a73509cb47 Mon Sep 17 00:00:00 2001 From: David Russell Date: Thu, 22 Jan 2015 12:15:53 +0700 Subject: [PATCH] RW-593: Added repository list filters API unit tests. Added new unit tests for repository list filters API support: - RUserDefaultRepositoryFileCallsTest - RUserDefaultRepositoryDirectoryCallsTest - RUserExternalRepositoryFileCallsTest - RUserExternalRepositoryDirectoryCallsTest --- ...erDefaultRepositoryDirectoryCallsTest.java | 156 +++++++++++++++++ .../RUserDefaultRepositoryFileCallsTest.java | 136 +++++++++++++++ ...rExternalRepositoryDirectoryCallsTest.java | 157 ++++++++++++++++++ .../RUserExternalRepositoryFileCallsTest.java | 136 +++++++++++++++ test/src/test/resources/log4j.properties | 11 ++ 5 files changed, 596 insertions(+) create mode 100644 test/src/test/resources/log4j.properties diff --git a/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryDirectoryCallsTest.java b/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryDirectoryCallsTest.java index dea8d43..0810a45 100644 --- a/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryDirectoryCallsTest.java +++ b/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryDirectoryCallsTest.java @@ -14,6 +14,7 @@ import com.revo.deployr.DeployrUtil; import com.revo.deployr.client.RClient; +import com.revo.deployr.client.RClientException; import com.revo.deployr.client.RRepositoryDirectory; import com.revo.deployr.client.RRepositoryFile; import com.revo.deployr.client.RUser; @@ -287,6 +288,161 @@ public void testUserRepositoryListDirectoriesAndFiles() { } } + /** + * Test RUserRepositoryFileCalls.listFiles(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListDirectoriesGoodFilters() { + + // Test variables. + List listDirectories = null; + List listFilesExampleDirectory = null; + List listFilesExampleScripts = null; + List listFilesExampleBinary = null; + String exampleFraudScoreDirectory = "example-fraud-score"; + int fraudExampleTotalFileCount = 2; + int fraudExampleScriptFileCount = 1; + boolean fraudExampleScriptsAreScripts = false; + int fraudExampleBinaryFileCount = 1; + boolean fraudExampleBinaryAreBinary = false; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + + try { + listDirectories = + rUser.listDirectories((RRepositoryFile.Category) null, + exampleFraudScoreDirectory); + for(RRepositoryDirectory dir : listDirectories) { + if(dir.about().name.equals(exampleFraudScoreDirectory)) { + listFilesExampleDirectory = dir.about().files; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listDirectories(null, directory) failed: "; + } + + if(exception == null) { + + try { + + listDirectories = + rUser.listDirectories(RRepositoryFile.Category.RSCRIPT, + exampleFraudScoreDirectory); + for(RRepositoryDirectory dir : listDirectories) { + if(dir.about().name.equals(exampleFraudScoreDirectory)) { + listFilesExampleScripts = dir.about().files; + break; + } + } + + for(RRepositoryFile scriptFile : listFilesExampleScripts) { + if(scriptFile.about().category != + RRepositoryFile.Category.RSCRIPT) { + fraudExampleScriptsAreScripts = false; + break; + } else { + fraudExampleScriptsAreScripts = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listFiles(RSCRIPT, directory) failed: "; + } + } + + if(exception == null) { + + try { + + listDirectories = + rUser.listDirectories(RRepositoryFile.Category.RBINARY, + exampleFraudScoreDirectory); + for(RRepositoryDirectory dir : listDirectories) { + if(dir.about().name.equals(exampleFraudScoreDirectory)) { + listFilesExampleBinary = dir.about().files; + } + } + + for(RRepositoryFile binFile : listFilesExampleBinary) { + if(binFile.about().category != + RRepositoryFile.Category.RBINARY) { + fraudExampleBinaryAreBinary = false; + break; + } else { + fraudExampleBinaryAreBinary = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listFiles(RBINARY, directory) failed: "; + } + } + + if (exception == null) { + // Test assertions. + assertEquals(fraudExampleTotalFileCount, listFilesExampleDirectory.size()); + assertEquals(fraudExampleScriptFileCount, listFilesExampleScripts.size()); + assertTrue(fraudExampleScriptsAreScripts); + assertEquals(fraudExampleBinaryFileCount, listFilesExampleBinary.size()); + assertTrue(fraudExampleBinaryAreBinary); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + + /** + * Test RUserRepositoryDirectoryCalls.listDirectories(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListDirectoriesBadFilters() { + + // Test variables. + List listDirectories = null; + RClientException clientEx = null; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + try { + listDirectories = + rUser.listDirectories((RRepositoryFile.Category) null, + "dir-not-found"); + } catch (RClientException cex) { + clientEx = cex; + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listDirectories(null, dir-not-found) failed: "; + } + + if (exception == null) { + // Test assertions. + assertNotNull(clientEx); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + /** * Test of copyDirectory method, of class RUserRepositoryDirectoryCalls. */ diff --git a/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryFileCallsTest.java b/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryFileCallsTest.java index aa0671c..1ee7980 100644 --- a/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryFileCallsTest.java +++ b/test/src/test/java/com/revo/deployr/client/api/RUserDefaultRepositoryFileCallsTest.java @@ -14,6 +14,7 @@ import com.revo.deployr.DeployrUtil; import com.revo.deployr.client.RClient; +import com.revo.deployr.client.RClientException; import com.revo.deployr.client.RRepositoryFile; import com.revo.deployr.client.RUser; import com.revo.deployr.client.auth.basic.RBasicAuthentication; @@ -263,6 +264,141 @@ public void testUserRepositoryListFiles() { } } + /** + * Test RUserRepositoryFileCalls.listFiles(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListFilesGoodFilters() { + + // Test variables. + List listFilesExampleDirectory = null; + List listFilesExampleScripts = null; + List listFilesExampleBinary = null; + String exampleFraudScoreDirectory = "example-fraud-score"; + int fraudExampleTotalFileCount = 2; + int fraudExampleScriptFileCount = 1; + boolean fraudExampleScriptsAreScripts = false; + int fraudExampleBinaryFileCount = 1; + boolean fraudExampleBinaryAreBinary = false; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + try { + listFilesExampleDirectory = + rUser.listFiles((RRepositoryFile.Category) null, + exampleFraudScoreDirectory); + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listFiles(null, directory) failed: "; + } + + if(exception == null) { + + try { + listFilesExampleScripts = + rUser.listFiles(RRepositoryFile.Category.RSCRIPT, + exampleFraudScoreDirectory); + + for(RRepositoryFile scriptFile : listFilesExampleScripts) { + if(scriptFile.about().category != + RRepositoryFile.Category.RSCRIPT) { + fraudExampleScriptsAreScripts = false; + break; + } else { + fraudExampleScriptsAreScripts = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listFiles(RSCRIPT, directory) failed: "; + } + } + + if(exception == null) { + + try { + listFilesExampleBinary = + rUser.listFiles(RRepositoryFile.Category.RBINARY, + exampleFraudScoreDirectory); + + for(RRepositoryFile binFile : listFilesExampleBinary) { + if(binFile.about().category != + RRepositoryFile.Category.RBINARY) { + fraudExampleBinaryAreBinary = false; + break; + } else { + fraudExampleBinaryAreBinary = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listFiles(RSCRIPT, directory) failed: "; + } + } + + if (exception == null) { + // Test assertions. + assertEquals(fraudExampleTotalFileCount, listFilesExampleDirectory.size()); + assertEquals(fraudExampleScriptFileCount, listFilesExampleScripts.size()); + assertTrue(fraudExampleScriptsAreScripts); + assertEquals(fraudExampleBinaryFileCount, listFilesExampleBinary.size()); + assertTrue(fraudExampleBinaryAreBinary); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + + /** + * Test RUserRepositoryFileCalls.listFiles(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListFilesBadFilters() { + + // Test variables. + List listFiles = null; + RClientException clientEx = null; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + try { + listFiles = + rUser.listFiles((RRepositoryFile.Category) null, + "dir-not-found"); + } catch (RClientException cex) { + clientEx = cex; + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listFiles(null, dir-not-found) failed: "; + } + + if (exception == null) { + // Test assertions. + assertNotNull(clientEx); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + /** * Test of listFiles method, of class RUserRepositoryFileCalls. */ diff --git a/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryDirectoryCallsTest.java b/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryDirectoryCallsTest.java index 5a860ca..77d81b0 100644 --- a/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryDirectoryCallsTest.java +++ b/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryDirectoryCallsTest.java @@ -14,6 +14,7 @@ import com.revo.deployr.DeployrUtil; import com.revo.deployr.client.RClient; +import com.revo.deployr.client.RClientException; import com.revo.deployr.client.RRepositoryFile; import com.revo.deployr.client.RRepositoryDirectory; import com.revo.deployr.client.RUser; @@ -362,4 +363,160 @@ public void testUserRepositorylistExternalDirectoriesPublicFiles() { } } + /** + * Test RUserRepositoryFileCalls.listFiles(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListExternalDirectoriesGoodFilters() { + + // Test variables. + List listDirectories = null; + List listFilesExampleDirectory = null; + List listFilesExampleScripts = null; + List listFilesExampleBinary = null; + String exampleFraudScoreDirectory = "external:root:example-fraud-score"; + int fraudExampleTotalFileCount = 2; + int fraudExampleScriptFileCount = 1; + boolean fraudExampleScriptsAreScripts = false; + int fraudExampleBinaryFileCount = 1; + boolean fraudExampleBinaryAreBinary = false; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + + try { + listDirectories = + rUser.listExternalDirectories((RRepositoryFile.Category) null, + exampleFraudScoreDirectory); + for(RRepositoryDirectory dir : listDirectories) { + if(dir.about().name.equals(exampleFraudScoreDirectory)) { + listFilesExampleDirectory = dir.about().files; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalDirectories(null, directory) failed: "; + } + + if(exception == null) { + + try { + + listDirectories = + rUser.listExternalDirectories(RRepositoryFile.Category.RSCRIPT, + exampleFraudScoreDirectory); + for(RRepositoryDirectory dir : listDirectories) { + if(dir.about().name.equals(exampleFraudScoreDirectory)) { + listFilesExampleScripts = dir.about().files; + break; + } + } + + for(RRepositoryFile scriptFile : listFilesExampleScripts) { + if(scriptFile.about().category != + RRepositoryFile.Category.RSCRIPT) { + fraudExampleScriptsAreScripts = false; + break; + } else { + fraudExampleScriptsAreScripts = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalDirectories(RSCRIPT, directory) failed: "; + } + } + + if(exception == null) { + + try { + + listDirectories = + rUser.listExternalDirectories(RRepositoryFile.Category.RBINARY, + exampleFraudScoreDirectory); + for(RRepositoryDirectory dir : listDirectories) { + if(dir.about().name.equals(exampleFraudScoreDirectory)) { + listFilesExampleBinary = dir.about().files; + break; + } + } + + for(RRepositoryFile binFile : listFilesExampleBinary) { + if(binFile.about().category != + RRepositoryFile.Category.RBINARY) { + fraudExampleBinaryAreBinary = false; + break; + } else { + fraudExampleBinaryAreBinary = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalDirectories(RBINARY, directory) failed: "; + } + } + + if (exception == null) { + // Test assertions. + assertEquals(fraudExampleTotalFileCount, listFilesExampleDirectory.size()); + assertEquals(fraudExampleScriptFileCount, listFilesExampleScripts.size()); + assertTrue(fraudExampleScriptsAreScripts); + assertEquals(fraudExampleBinaryFileCount, listFilesExampleBinary.size()); + assertTrue(fraudExampleBinaryAreBinary); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + + /** + * Test RUserRepositoryDirectoryCalls.listDirectories(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListExternalDirectoriesBadFilters() { + + // Test variables. + List listDirectories = null; + RClientException clientEx = null; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + try { + listDirectories = + rUser.listExternalDirectories((RRepositoryFile.Category) null, + "external:public:dir-not-found"); + } catch (RClientException cex) { + clientEx = cex; + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalDirectories(null, dir-not-found) failed: "; + } + + if (exception == null) { + // Test assertions. + assertNotNull(clientEx); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + } diff --git a/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryFileCallsTest.java b/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryFileCallsTest.java index e731e33..1a9eb71 100644 --- a/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryFileCallsTest.java +++ b/test/src/test/java/com/revo/deployr/client/api/RUserExternalRepositoryFileCallsTest.java @@ -14,6 +14,7 @@ import com.revo.deployr.DeployrUtil; import com.revo.deployr.client.RClient; +import com.revo.deployr.client.RClientException; import com.revo.deployr.client.RRepositoryFile; import com.revo.deployr.client.RUser; import com.revo.deployr.client.auth.basic.RBasicAuthentication; @@ -129,6 +130,141 @@ public void testUserRepositoryListExternalFiles() { } } + /** + * Test RUserRepositoryFileCalls.listExternalFiles(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListExternalFilesGoodFilters() { + + // Test variables. + List listFilesExampleDirectory = null; + List listFilesExampleScripts = null; + List listFilesExampleBinary = null; + String exampleFraudScoreDirectory = "external:root:example-fraud-score"; + int fraudExampleTotalFileCount = 2; + int fraudExampleScriptFileCount = 1; + boolean fraudExampleScriptsAreScripts = false; + int fraudExampleBinaryFileCount = 1; + boolean fraudExampleBinaryAreBinary = false; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + try { + listFilesExampleDirectory = + rUser.listExternalFiles((RRepositoryFile.Category) null, + exampleFraudScoreDirectory); + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalFiles(null, directory) failed: "; + } + + if(exception == null) { + + try { + listFilesExampleScripts = + rUser.listExternalFiles(RRepositoryFile.Category.RSCRIPT, + exampleFraudScoreDirectory); + + for(RRepositoryFile scriptFile : listFilesExampleScripts) { + if(scriptFile.about().category != + RRepositoryFile.Category.RSCRIPT) { + fraudExampleScriptsAreScripts = false; + break; + } else { + fraudExampleScriptsAreScripts = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalFiles(RSCRIPT, directory) failed: "; + } + } + + if(exception == null) { + + try { + listFilesExampleBinary = + rUser.listExternalFiles(RRepositoryFile.Category.RBINARY, + exampleFraudScoreDirectory); + + for(RRepositoryFile binFile : listFilesExampleBinary) { + if(binFile.about().category != + RRepositoryFile.Category.RBINARY) { + fraudExampleBinaryAreBinary = false; + break; + } else { + fraudExampleBinaryAreBinary = true; + } + } + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalFiles(RSCRIPT, directory) failed: "; + } + } + + if (exception == null) { + // Test assertions. + assertEquals(fraudExampleTotalFileCount, listFilesExampleDirectory.size()); + assertEquals(fraudExampleScriptFileCount, listFilesExampleScripts.size()); + assertTrue(fraudExampleScriptsAreScripts); + assertEquals(fraudExampleBinaryFileCount, listFilesExampleBinary.size()); + assertTrue(fraudExampleBinaryAreBinary); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + + /** + * Test RUserRepositoryFileCalls.listExternalFiles(categoryFilter, directoryFilter). + */ + @Test + public void testUserRepositoryListExternalFilesBadFilters() { + + // Test variables. + List listFiles = null; + RClientException clientEx = null; + + // Test error handling. + Exception exception = null; + String exceptionMsg = ""; + Exception cleanupException = null; + String cleanupExceptionMsg = ""; + + // Test. + try { + listFiles = + rUser.listExternalFiles((RRepositoryFile.Category) null, + "external:public:dir-not-found"); + } catch (RClientException cex) { + clientEx = cex; + } catch (Exception ex) { + exception = ex; + exceptionMsg = "rUser.listExternalFiles(null, dir-not-found) failed: "; + } + + if (exception == null) { + // Test assertions. + assertNotNull(clientEx); + } else { + fail(exceptionMsg + exception.getMessage()); + } + + // Test cleanup errors. + if (cleanupException != null) { + fail(cleanupExceptionMsg + cleanupException.getMessage()); + } + } + /** * Test RUserRepositoryFileCalls.listExternalFiles(true, true). */ diff --git a/test/src/test/resources/log4j.properties b/test/src/test/resources/log4j.properties new file mode 100644 index 0000000..d58eb1e --- /dev/null +++ b/test/src/test/resources/log4j.properties @@ -0,0 +1,11 @@ +# Root logger option +log4j.rootLogger=INFO, stdout + +# DeployR Client Library & Tests +log4j.category.com.revo.deployr.client=INFO + +# Direct log messages to stdout +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%p %c{1}: - %m%n