22
22
import org .junit .jupiter .api .Test ;
23
23
24
24
import static org .junit .jupiter .api .Assertions .assertEquals ;
25
+ import static org .junit .jupiter .api .Assertions .assertNull ;
25
26
26
27
class SqlServerURLParserTest {
27
28
@ Test
@@ -39,4 +40,100 @@ public void testParse() {
39
40
"jdbc:sqlserver://localhost:1433;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
40
41
urlInfo .getUrlWithoutDatabase ());
41
42
}
43
+
44
+ @ Test
45
+ public void testParse2 () {
46
+ String url2 =
47
+ "jdbc:sqlserver://localhost\\ instanceName;databaseName=myDB;encrypt=true;trustServerCertificate=false;loginTimeout=30;" ;
48
+ JdbcUrlUtil .UrlInfo urlInfo = SqlServerURLParser .parse (url2 );
49
+ assertEquals ("localhost" , urlInfo .getHost ());
50
+ assertNull (urlInfo .getPort ());
51
+ assertEquals (url2 , urlInfo .getOrigin ());
52
+ assertEquals (
53
+ "encrypt=true;trustServerCertificate=false;loginTimeout=30" , urlInfo .getSuffix ());
54
+ assertEquals ("myDB" , urlInfo .getDefaultDatabase ().get ());
55
+ assertEquals (
56
+ "jdbc:sqlserver://localhost\\ instanceName;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
57
+ urlInfo .getUrlWithoutDatabase ());
58
+ }
59
+
60
+ @ Test
61
+ public void testParse3 () {
62
+ String url3 =
63
+ "jdbc:sqlserver://;serverName=localhost\\ instanceName;databaseName=myDB;encrypt=true;trustServerCertificate=false;loginTimeout=30;" ;
64
+
65
+ JdbcUrlUtil .UrlInfo urlInfo = SqlServerURLParser .parse (url3 );
66
+ assertEquals ("localhost" , urlInfo .getHost ());
67
+ assertNull (urlInfo .getPort ());
68
+ assertEquals (url3 , urlInfo .getOrigin ());
69
+ assertEquals (
70
+ "serverName=localhost\\ instanceName;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
71
+ urlInfo .getSuffix ());
72
+ assertEquals ("myDB" , urlInfo .getDefaultDatabase ().get ());
73
+ assertEquals (
74
+ "jdbc:sqlserver://localhost\\ instanceName;serverName=localhost\\ instanceName;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
75
+ urlInfo .getUrlWithoutDatabase ());
76
+ }
77
+
78
+ @ Test
79
+ public void testParse4 () {
80
+ String url4 =
81
+ "jdbc:sqlserver://;serverName=localhost\\ instanceName;port=1436;databaseName=myDB;encrypt=true;trustServerCertificate=false;loginTimeout=30;" ;
82
+
83
+ JdbcUrlUtil .UrlInfo urlInfo = SqlServerURLParser .parse (url4 );
84
+ assertEquals ("localhost" , urlInfo .getHost ());
85
+ assertEquals (1436 , urlInfo .getPort ());
86
+ assertEquals (url4 , urlInfo .getOrigin ());
87
+ assertEquals (
88
+ "serverName=localhost\\ instanceName;port=1436;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
89
+ urlInfo .getSuffix ());
90
+ assertEquals ("myDB" , urlInfo .getDefaultDatabase ().get ());
91
+ assertEquals (
92
+ "jdbc:sqlserver://localhost:1436;serverName=localhost\\ instanceName;port=1436;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
93
+ urlInfo .getUrlWithoutDatabase ());
94
+ }
95
+
96
+ @ Test
97
+ public void testParse5 () {
98
+ String url5 =
99
+ "jdbc:sqlserver://localhost\\ instanceName;port=1436;databaseName=myDB;encrypt=true;trustServerCertificate=false;loginTimeout=30;" ;
100
+
101
+ JdbcUrlUtil .UrlInfo urlInfo = SqlServerURLParser .parse (url5 );
102
+ assertEquals ("localhost" , urlInfo .getHost ());
103
+ assertEquals (1436 , urlInfo .getPort ());
104
+ assertEquals (url5 , urlInfo .getOrigin ());
105
+ assertEquals (
106
+ "port=1436;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
107
+ urlInfo .getSuffix ());
108
+ assertEquals ("myDB" , urlInfo .getDefaultDatabase ().get ());
109
+ assertEquals (
110
+ "jdbc:sqlserver://localhost:1436;port=1436;encrypt=true;trustServerCertificate=false;loginTimeout=30" ,
111
+ urlInfo .getUrlWithoutDatabase ());
112
+ }
113
+
114
+ @ Test
115
+ public void testIgnoreCase () {
116
+ String url =
117
+ "jdbc:sqlserver://localhost;DataBAseNaME=myDB;trustServerCertificate=false;PortNumBer=999;loginTimeout=30;SERVERname=test;" ;
118
+ JdbcUrlUtil .UrlInfo urlInfo = SqlServerURLParser .parse (url );
119
+ assertEquals ("myDB" , urlInfo .getDefaultDatabase ().get ());
120
+ assertEquals (
121
+ "jdbc:sqlserver://localhost:999;trustServerCertificate=false;PortNumBer=999;loginTimeout=30;SERVERname=test" ,
122
+ urlInfo .getUrlWithoutDatabase ());
123
+ assertEquals (
124
+ "trustServerCertificate=false;PortNumBer=999;loginTimeout=30;SERVERname=test" ,
125
+ urlInfo .getSuffix ());
126
+ assertEquals ("localhost" , urlInfo .getHost ());
127
+ assertEquals (999 , urlInfo .getPort ());
128
+ }
129
+
130
+ @ Test
131
+ public void testWithoutInstanceName () {
132
+ String url = "jdbc:sqlserver://sqlserver;encrypt=false;" ;
133
+ JdbcUrlUtil .UrlInfo urlInfo = SqlServerURLParser .parse (url );
134
+ assertEquals ("sqlserver" , urlInfo .getHost ());
135
+ assertEquals (1433 , urlInfo .getPort ());
136
+ assertEquals (
137
+ "jdbc:sqlserver://sqlserver:1433;encrypt=false" , urlInfo .getUrlWithoutDatabase ());
138
+ }
42
139
}
0 commit comments