Add DbDriver, with support for a few popular JDBC drivers.
[squelch.git] / src / test / java / net / jaekl / squelch / ArgsTest.java
index 1b312c1a4338bcf3a4fdd1358d76df89b1c88243..68128d27cf573a3c7086921bc8afa73eb1721d23 100644 (file)
@@ -40,7 +40,7 @@ public class ArgsTest
                result = runWithParams(noParams);
                assertTrue(result.getRetVal());
                assertEquals(false, result.getArgs().isHelp());
-               assertEquals("", result.getArgs().getUrl());
+               assertEquals(Args.DEFAULT_JDBC_URL, result.getArgs().getUrl());
                assertEquals("", result.getArgs().getUser());
                assertEquals("", result.getArgs().getPass());
                assertEquals("", result.getStdout());
@@ -49,7 +49,7 @@ public class ArgsTest
                result = runWithParams(helpOnly);
                assertTrue(result.getRetVal());
                assertEquals(true, result.getArgs().isHelp());
-               assertEquals("", result.getArgs().getUrl());
+               assertEquals(Args.DEFAULT_JDBC_URL, result.getArgs().getUrl());
                assertEquals("", result.getArgs().getUser());
                assertEquals("", result.getArgs().getPass());
                validateUsageMessage(result.getStdout());
@@ -67,14 +67,14 @@ public class ArgsTest
                result = runWithParams(invalid);
                assertFalse(result.getRetVal());
                assertEquals(false, result.getArgs().isHelp());
-               assertEquals("", result.getArgs().getUrl());
+               assertEquals(Args.DEFAULT_JDBC_URL, result.getArgs().getUrl());
                assertEquals("", result.getArgs().getUser());
                assertEquals("", result.getArgs().getPass());
                validateUsageMessage(result.getStdout());
        }
        
        @Test
-       public void test_configFile() throws IOException
+       public void test_configFile_success() throws IOException
        {
                final String CONFIG_FILE_NAME = "configFileName";
                final String SIMPLE_CONTENT = "db.user=fred\n"
@@ -96,7 +96,25 @@ public class ArgsTest
                assertEquals("fred", result.getArgs().getUser());
                assertEquals("p455w0rd", result.getArgs().getPass());
                assertEquals("", result.getStdout());
+       }
+       
+       @Test
+       public void test_configFile_notReadable()
+       {
+               final String CONFIG_FILE_NAME = "configFileName";
                
+               FileUtilMock.mock_setInst();
+               FileMock configFileMock = FileUtilMock.mock_getInst().mock_newFile(CONFIG_FILE_NAME);
+               FileUtilMock.mock_getInst().mock_setReadable(configFileMock, false);
+               
+               String[] params = { "-c", CONFIG_FILE_NAME };
+               try {
+                       runWithParams(params);
+                       fail("Should have thrown an IOException");
+               }
+               catch (IOException exc) {
+                       // This is the success path
+               }
        }
        
        // We expect the stdout string to contain a usage message.