1515
1616import org .junit .jupiter .api .Test ;
1717
18- import static io .nats .NatsRunnerUtils .DEFAULT_NATS_SERVER ;
19- import static io .nats .NatsRunnerUtils .getResolvedServerPath ;
18+ import java .io .File ;
19+ import java .io .IOException ;
20+ import java .nio .file .Path ;
21+ import java .nio .file .Paths ;
22+ import java .util .List ;
23+
24+ import static io .nats .NatsRunnerUtils .*;
2025import static org .junit .jupiter .api .Assertions .*;
2126
2227public class NatsRunnerUtilsTest extends TestBase {
2328
2429 @ Test
25- public void testGetUriForPort () throws Exception {
30+ public void testGetUriForPort () {
2631 //noinspection deprecation
2732 assertEquals ("nats://localhost:1234" , NatsRunnerUtils .getURIForPort (1234 ));
2833 }
2934
3035 @ Test
31- public void testGetNatsServerVersionString () throws Exception {
36+ public void testGetNatsLocalhostUri () {
37+ assertEquals ("nats://localhost:1234" , NatsRunnerUtils .getNatsLocalhostUri (1234 ));
38+ }
39+
40+ @ Test
41+ public void testGetNatsUri () {
42+ assertEquals ("nats://host:1234" , NatsRunnerUtils .getNatsUri ("host" , 1234 ));
43+ }
44+
45+ @ Test
46+ public void testGetLocalhostUri () {
47+ assertEquals ("schema://localhost:1234" , NatsRunnerUtils .getLocalhostUri ("schema" , 1234 ));
48+ }
49+
50+ @ Test
51+ public void testGetNatsServerVersionString () {
3252 String v = NatsRunnerUtils .getNatsServerVersionString ();
3353 assertNotNull (v );
3454 assertTrue (v .startsWith ("nats-server: v" ));
3555 }
3656
3757 @ Test
38- public void testGetResolvedServerPath () throws Exception {
58+ public void testGetResolvedServerPath () {
3959 assertEquals (DEFAULT_NATS_SERVER , getResolvedServerPath ());
4060
4161 //noinspection deprecation
@@ -46,4 +66,92 @@ public void testGetResolvedServerPath() throws Exception {
4666 NatsRunnerUtils .clearServerPath ();
4767 assertEquals (DEFAULT_NATS_SERVER , getResolvedServerPath ());
4868 }
69+
70+ @ Test
71+ public void testCreateClusterInserts () throws IOException {
72+ Path t = Paths .get ("path" );
73+ int p = 4220 ;
74+ int l = 4230 ;
75+ int m = 4280 ;
76+ String c = "cluster" ;
77+ String s = "server" ;
78+ String h = "127.0.0.1" ;
79+
80+ validateClusterInserts (3 , p , l , c , s , h , null , null , createClusterInserts ());
81+ validateClusterInserts (2 , p , l , c , s , h , null , null , createClusterInserts (2 ));
82+ validateClusterInserts (3 , p , l , c , s , h , null , t , createClusterInserts (t ));
83+ validateClusterInserts (2 , p , l , c , s , h , null , t , createClusterInserts (2 , t ));
84+
85+ c = "clstr" ;
86+ s = "srvr" ;
87+ validateClusterInserts (2 , p , l , c , s , h , null , null , createClusterInserts (2 , c , s ));
88+ validateClusterInserts (2 , p , l , c , s , h , null , t , createClusterInserts (2 , c , s , t ));
89+ validateClusterInserts (2 , p , l , c , s , h , null , null , createClusterInserts (2 , c , s , false ));
90+ validateClusterInserts (2 , p , l , c , s , h , m , null , createClusterInserts (2 , c , s , true ));
91+ validateClusterInserts (2 , p , l , c , s , h , null , t , createClusterInserts (2 , c , s , false , t ));
92+ validateClusterInserts (2 , p , l , c , s , h , m , t , createClusterInserts (2 , c , s , true , t ));
93+
94+ p = 5220 ;
95+ l = 5230 ;
96+ m = 5280 ;
97+ h = "host" ;
98+ c = "cluster" ;
99+ s = "server" ;
100+
101+ defaultHost (h );
102+ defaultPortStart (p );
103+ defaultListenStart (l );
104+ defaultMonitorStart (m );
105+
106+ validateClusterInserts (3 , p , l , c , s , h , null , null , createClusterInserts ());
107+ validateClusterInserts (2 , p , l , c , s , h , null , null , createClusterInserts (2 ));
108+ validateClusterInserts (3 , p , l , c , s , h , null , t , createClusterInserts (t ));
109+ validateClusterInserts (2 , p , l , c , s , h , null , t , createClusterInserts (2 , t ));
110+
111+ c = "clstr" ;
112+ s = "srvr" ;
113+ validateClusterInserts (2 , p , l , c , s , h , null , null , createClusterInserts (2 , c , s ));
114+ validateClusterInserts (2 , p , l , c , s , h , null , t , createClusterInserts (2 , c , s , t ));
115+ validateClusterInserts (2 , p , l , c , s , h , null , null , createClusterInserts (2 , c , s , false ));
116+ validateClusterInserts (2 , p , l , c , s , h , m , null , createClusterInserts (2 , c , s , true ));
117+ validateClusterInserts (2 , p , l , c , s , h , null , t , createClusterInserts (2 , c , s , false , t ));
118+ validateClusterInserts (2 , p , l , c , s , h , m , t , createClusterInserts (2 , c , s , true , t ));
119+ }
120+
121+ private static void validateClusterInserts (int count ,
122+ int basePort ,
123+ int baseListen ,
124+ String cluster ,
125+ String server ,
126+ String host ,
127+ Integer baseMonitor ,
128+ Path jsStoreDir ,
129+ List <ClusterInsert > list ) {
130+ assertEquals (count , list .size ());
131+ for (int x = 0 ; x < list .size (); x ++) {
132+ int port = basePort + x ;
133+ int listen = baseListen + x ;
134+ ClusterInsert ci = list .get (x );
135+ assertEquals (cluster , ci .node .clusterName );
136+ assertEquals (server + x , ci .node .serverName );
137+ assertEquals (port , ci .node .port );
138+ assertEquals (listen , ci .node .listen );
139+ assertEquals (host , ci .node .host );
140+ if (baseMonitor == null ) {
141+ assertNull (ci .node .monitor );
142+ }
143+ else {
144+ assertEquals (baseMonitor + x , ci .node .monitor );
145+ }
146+ if (jsStoreDir == null ) {
147+ assertNull (ci .node .jsStoreDir );
148+ }
149+ else if (File .separatorChar == '\\' ) {
150+ assertEquals (jsStoreDir + "\\ " + port , ci .node .jsStoreDir .toString ());
151+ }
152+ else {
153+ assertEquals (jsStoreDir + "/" + port , ci .node .jsStoreDir .toString ());
154+ }
155+ }
156+ }
49157}
0 commit comments