@@ -45,7 +45,34 @@ public void Setup()
45
45
_isMasterSlavePair = argv . Contains ( "--master" ) || argv . Contains ( "--slave" ) ;
46
46
}
47
47
48
- // TODO: more tests for MongoServer
48
+ [ Test ]
49
+ public void TestArbiters ( )
50
+ {
51
+ Assert . AreEqual ( 0 , _server . Arbiters . Length ) ;
52
+ }
53
+
54
+ [ Test ]
55
+ public void TestBuildInfo ( )
56
+ {
57
+ var versionZero = new Version ( 0 , 0 , 0 , 0 ) ;
58
+ var buildInfo = _server . BuildInfo ;
59
+ Assert . IsTrue ( buildInfo . Bits == 32 || buildInfo . Bits == 64 ) ;
60
+ Assert . AreNotEqual ( versionZero , buildInfo . Version ) ;
61
+ }
62
+
63
+ [ Test ]
64
+ public void TestCreateMongoServerSettings ( )
65
+ {
66
+ var settings = new MongoServerSettings
67
+ {
68
+ Server = new MongoServerAddress ( "localhost" ) ,
69
+ SafeMode = SafeMode . True
70
+ } ;
71
+ var server1 = MongoServer . Create ( settings ) ;
72
+ var server2 = MongoServer . Create ( settings ) ;
73
+ Assert . AreSame ( server1 , server2 ) ;
74
+ Assert . AreEqual ( settings , server1 . Settings ) ;
75
+ }
49
76
50
77
[ Test ]
51
78
public void TestCreateNoArgs ( )
@@ -85,6 +112,18 @@ public void TestDropDatabase()
85
112
}
86
113
}
87
114
115
+ [ Test ]
116
+ public void TestFetchDBRef ( )
117
+ {
118
+ _collection . Drop ( ) ;
119
+ _collection . Insert ( new BsonDocument { { "_id" , 1 } , { "x" , 2 } } ) ;
120
+ var dbRef = new MongoDBRef ( _database . Name , _collection . Name , 1 ) ;
121
+ var document = _server . FetchDBRef ( dbRef ) ;
122
+ Assert . AreEqual ( 2 , document . ElementCount ) ;
123
+ Assert . AreEqual ( 1 , document [ "_id" ] . AsInt32 ) ;
124
+ Assert . AreEqual ( 2 , document [ "x" ] . AsInt32 ) ;
125
+ }
126
+
88
127
[ Test ]
89
128
public void TestGetAllServers ( )
90
129
{
@@ -101,9 +140,14 @@ public void TestGetAllServers()
101
140
}
102
141
103
142
[ Test ]
104
- public void TestPing ( )
143
+ public void TestGetDatabase ( )
105
144
{
106
- _server . Ping ( ) ;
145
+ var settings = new MongoDatabaseSettings ( _server , "test" ) { SlaveOk = true } ;
146
+ var database1 = _server . GetDatabase ( settings ) ;
147
+ var database2 = _server . GetDatabase ( settings ) ;
148
+ Assert . AreSame ( database1 , database2 ) ;
149
+ Assert . AreEqual ( "test" , database1 . Name ) ;
150
+ Assert . AreEqual ( true , database1 . Settings . SlaveOk ) ;
107
151
}
108
152
109
153
[ Test ]
@@ -112,6 +156,23 @@ public void TestGetDatabaseNames()
112
156
var databaseNames = _server . GetDatabaseNames ( ) ;
113
157
}
114
158
159
+ [ Test ]
160
+ public void TestInstance ( )
161
+ {
162
+ var instance = _server . Instance ;
163
+ Assert . IsNotNull ( instance ) ;
164
+ Assert . IsTrue ( instance . IsPrimary ) ;
165
+ }
166
+
167
+ [ Test ]
168
+ public void TestInstances ( )
169
+ {
170
+ var instances = _server . Instances ;
171
+ Assert . IsNotNull ( instances ) ;
172
+ Assert . AreEqual ( 1 , instances . Length ) ;
173
+ Assert . IsTrue ( instances [ 0 ] . IsPrimary ) ;
174
+ }
175
+
115
176
[ Test ]
116
177
public void TestIsDatabaseNameValid ( )
117
178
{
@@ -122,57 +183,108 @@ public void TestIsDatabaseNameValid()
122
183
Assert . IsFalse ( _server . IsDatabaseNameValid ( new string ( 'x' , 128 ) , out message ) ) ;
123
184
}
124
185
186
+ [ Test ]
187
+ public void TestPassives ( )
188
+ {
189
+ Assert . AreEqual ( 0 , _server . Passives . Length ) ;
190
+ }
191
+
192
+ [ Test ]
193
+ public void TestPing ( )
194
+ {
195
+ _server . Ping ( ) ;
196
+ }
197
+
198
+ [ Test ]
199
+ public void TestPrimary ( )
200
+ {
201
+ var instance = _server . Primary ;
202
+ Assert . IsNotNull ( instance ) ;
203
+ Assert . IsTrue ( instance . IsPrimary ) ;
204
+ }
205
+
125
206
[ Test ]
126
207
public void TestReconnect ( )
127
208
{
128
209
_server . Reconnect ( ) ;
129
210
Assert . AreEqual ( MongoServerState . Connected , _server . State ) ;
130
211
}
131
212
213
+ [ Test ]
214
+ public void TestReplicaSetName ( )
215
+ {
216
+ Assert . IsNull ( _server . ReplicaSetName ) ;
217
+ }
218
+
132
219
[ Test ]
133
220
public void TestRequestStart ( )
134
221
{
222
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
135
223
using ( _server . RequestStart ( _database ) )
136
224
{
225
+ Assert . AreEqual ( 1 , _server . RequestNestingLevel ) ;
137
226
}
227
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
138
228
}
139
229
140
230
[ Test ]
141
231
public void TestRequestStartPrimary ( )
142
232
{
233
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
143
234
using ( _server . RequestStart ( _database , _server . Primary ) )
144
235
{
236
+ Assert . AreEqual ( 1 , _server . RequestNestingLevel ) ;
145
237
}
238
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
146
239
}
147
240
148
241
[ Test ]
149
242
public void TestRequestStartPrimaryNested ( )
150
243
{
244
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
151
245
using ( _server . RequestStart ( _database , _server . Primary ) )
152
246
{
247
+ Assert . AreEqual ( 1 , _server . RequestNestingLevel ) ;
153
248
using ( _server . RequestStart ( _database , _server . Primary ) )
154
249
{
250
+ Assert . AreEqual ( 2 , _server . RequestNestingLevel ) ;
155
251
}
252
+ Assert . AreEqual ( 1 , _server . RequestNestingLevel ) ;
156
253
}
254
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
157
255
}
158
256
159
257
[ Test ]
160
258
public void TestRequestStartSlaveOk ( )
161
259
{
260
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
162
261
using ( _server . RequestStart ( _database , true ) )
163
262
{
263
+ Assert . AreEqual ( 1 , _server . RequestNestingLevel ) ;
164
264
}
265
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
165
266
}
166
267
167
268
[ Test ]
168
269
public void TestRequestStartSlaveOkNested ( )
169
270
{
271
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
170
272
using ( _server . RequestStart ( _database , false ) )
171
273
{
274
+ Assert . AreEqual ( 1 , _server . RequestNestingLevel ) ;
172
275
using ( _server . RequestStart ( _database , true ) )
173
276
{
277
+ Assert . AreEqual ( 2 , _server . RequestNestingLevel ) ;
174
278
}
279
+ Assert . AreEqual ( 1 , _server . RequestNestingLevel ) ;
175
280
}
281
+ Assert . AreEqual ( 0 , _server . RequestNestingLevel ) ;
282
+ }
283
+
284
+ [ Test ]
285
+ public void TestSecondaries ( )
286
+ {
287
+ Assert . AreEqual ( 0 , _server . Secondaries . Length ) ;
176
288
}
177
289
178
290
[ Test ]
0 commit comments