@@ -160,22 +160,52 @@ class ServerMonitorSpecification extends FunctionalSpecification {
160
160
}
161
161
162
162
def ' should report correct server type' () {
163
+ given :
164
+ CommandResult isMasterCommandResult = new CommandResult (new ServerAddress ())
165
+ isMasterCommandResult. putAll(response)
166
+
163
167
expect :
164
- ServerMonitor . getServerType(new BasicDBObject (' setName' , ' test' )
165
- .append(' hidden' , true )
166
- .append(' secondary' , true )) == ServerType.ReplicaSetOther
167
- ServerMonitor . getServerType(new BasicDBObject (' setName' , ' test' )
168
- .append(' ismaster' , true )) == ServerType.ReplicaSetPrimary
169
- ServerMonitor . getServerType(new BasicDBObject (' setName' , ' test' )
170
- .append(' secondary' , true )) == ServerType.ReplicaSetSecondary
171
- ServerMonitor . getServerType(new BasicDBObject (' setName' , ' test' )
172
- .append(' arbiterOnly' , true )) == ServerType.ReplicaSetArbiter
173
- ServerMonitor . getServerType(new BasicDBObject (' setName' , ' test' )
174
- .append(' hosts' , [' server1:27017' ])) == ServerType.ReplicaSetOther
175
- ServerMonitor . getServerType(new BasicDBObject (' isreplicaset' , true )) == ServerType.ReplicaSetGhost
176
- ServerMonitor . getServerType(new BasicDBObject ()) == ServerType.StandAlone
177
- ServerMonitor . getServerType(new BasicDBObject (' msg' , ' isdbgrid' )) == ServerType.ShardRouter
178
- ServerMonitor . getServerType(new BasicDBObject (' msg' , ' whatever' )) == ServerType.StandAlone
168
+ ServerMonitor . getServerType(isMasterCommandResult) == serverType
169
+
170
+ where :
171
+ response << [
172
+ new BasicDBObject (' ok' , 0 ),
173
+ new BasicDBObject (' ok' , 1 )
174
+ .append(' setName' , ' test' )
175
+ .append(' hidden' , true )
176
+ .append(' secondary' , true ),
177
+ new BasicDBObject (' ok' , 1 )
178
+ .append(' setName' , ' test' )
179
+ .append(' ismaster' , true ),
180
+ new BasicDBObject (' ok' , 1 )
181
+ .append(' setName' , ' test' )
182
+ .append(' secondary' , true ),
183
+ new BasicDBObject (' ok' , 1 )
184
+ .append(' setName' , ' test' )
185
+ .append(' arbiterOnly' , true ),
186
+ new BasicDBObject (' ok' , 1 )
187
+ .append(' setName' , ' test' )
188
+ .append(' hosts' , [' server1:27017' ]),
189
+ new BasicDBObject (' ok' , 1 )
190
+ .append(' isreplicaset' , true ),
191
+ new BasicDBObject (' ok' , 1 ),
192
+ new BasicDBObject (' ok' , 1 )
193
+ .append(' msg' , ' isdbgrid' ),
194
+ new BasicDBObject (' ok' , 1 )
195
+ .append(' msg' , ' whatever' )
196
+ ]
197
+ serverType << [
198
+ ServerType.Unknown ,
199
+ ServerType.ReplicaSetOther ,
200
+ ServerType.ReplicaSetPrimary ,
201
+ ServerType.ReplicaSetSecondary ,
202
+ ServerType.ReplicaSetArbiter ,
203
+ ServerType.ReplicaSetOther ,
204
+ ServerType.ReplicaSetGhost ,
205
+ ServerType.StandAlone ,
206
+ ServerType.ShardRouter ,
207
+ ServerType.StandAlone
208
+ ]
179
209
}
180
210
181
211
def initializeServerMonitor (ServerAddress address ) {
0 commit comments