Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ce49bd8

Browse files
committed
Fix invalid connection strings test
1 parent 66c1231 commit ce49bd8

2 files changed

Lines changed: 51 additions & 9 deletions

File tree

src/main/java/io/github/utplsql/cli/ConnectionInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public ConnectionInfo parseConnectionString(String connectionString)
4747
private void parseCredentials(String str) throws ParameterException, IllegalArgumentException {
4848
int barIdx = str.indexOf("/");
4949

50-
if (barIdx == -1 || str.length() == 1)
50+
if (barIdx == -1 || barIdx == 0 || barIdx == str.length() - 1)
5151
throw invalidConnectionString();
5252

5353
this.setUser(str.substring(0, barIdx));

src/test/java/io/github/utplsql/cli/ConnectionInfoTest.java

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class ConnectionInfoTest {
1717
*/
1818

1919
@Test
20-
public void connectionStr_Full() {
20+
public void valid_Full() {
2121
try {
2222
ConnectionInfo ci = new ConnectionInfo()
2323
.parseConnectionString("my_user/p@[email protected]:3000/db_1.acme.com");
@@ -34,7 +34,7 @@ public void connectionStr_Full() {
3434
}
3535

3636
@Test
37-
public void connectionStr_WithoutPort() {
37+
public void valid_WithoutPort() {
3838
try {
3939
ConnectionInfo ci = new ConnectionInfo()
4040
.parseConnectionString("my_user/p@[email protected]/db_1.acme.com");
@@ -51,7 +51,7 @@ public void connectionStr_WithoutPort() {
5151
}
5252

5353
@Test
54-
public void connectionStr_WithoutHostAndPort() {
54+
public void valid_WithoutHostAndPort() {
5555
try {
5656
ConnectionInfo ci = new ConnectionInfo()
5757
.parseConnectionString("my_user/p@[email protected]/db_1.acme.com");
@@ -68,14 +68,56 @@ public void connectionStr_WithoutHostAndPort() {
6868
}
6969

7070
@Test
71-
public void connectionStr_Invalid() {
71+
public void invalid_WithoutDatabase_1() {
7272
try {
7373
new ConnectionInfo().parseConnectionString("user/pass@");
74+
Assert.fail();
75+
} catch (ParameterException ignored) {}
76+
}
77+
78+
@Test
79+
public void invalid_WithoutDatabase_2() {
80+
try {
7481
new ConnectionInfo().parseConnectionString("user/pass");
75-
new ConnectionInfo().parseConnectionString("user/@");
76-
new ConnectionInfo().parseConnectionString("/pass@");
77-
new ConnectionInfo().parseConnectionString("/@");
78-
new ConnectionInfo().parseConnectionString("@");
82+
Assert.fail();
83+
} catch (ParameterException ignored) {}
84+
}
85+
86+
@Test
87+
public void invalid_WithoutDatabase_3() {
88+
try {
89+
new ConnectionInfo().parseConnectionString("user/pass@localhost:1521");
90+
Assert.fail();
91+
} catch (ParameterException ignored) {}
92+
}
93+
94+
@Test
95+
public void invalid_WithoutPassword() {
96+
try {
97+
new ConnectionInfo().parseConnectionString("user/@db");
98+
Assert.fail();
99+
} catch (ParameterException ignored) {}
100+
}
101+
102+
@Test
103+
public void invalid_WithoutUsername() {
104+
try {
105+
new ConnectionInfo().parseConnectionString("/pass@db");
106+
Assert.fail();
107+
} catch (ParameterException ignored) {}
108+
}
109+
110+
@Test
111+
public void invalid_WithoutUserPassDb_1() {
112+
try {
113+
new ConnectionInfo().parseConnectionString("/@db");
114+
Assert.fail();
115+
} catch (ParameterException ignored) {}
116+
}
117+
118+
@Test
119+
public void invalid_WithoutUserPass() {
120+
try {
79121
new ConnectionInfo().parseConnectionString("@db");
80122
Assert.fail();
81123
} catch (ParameterException ignored) {}

0 commit comments

Comments
 (0)