File tree Expand file tree Collapse file tree 3 files changed +49
-3
lines changed Expand file tree Collapse file tree 3 files changed +49
-3
lines changed Original file line number Diff line number Diff line change @@ -223,6 +223,34 @@ def write_concern
223
223
@write_concern ||= WriteConcern . get ( options [ :write ] )
224
224
end
225
225
226
+ # Get the names of all databases.
227
+ #
228
+ # @example Get the database names.
229
+ # client.database_names
230
+ #
231
+ # @return [ Array<String> ] The names of the databases.
232
+ #
233
+ # @since 2.0.5
234
+ def database_names
235
+ use ( Database ::ADMIN ) . command (
236
+ listDatabases : 1
237
+ ) . first [ 'databases' ] . collect { |info | info [ 'name' ] }
238
+ end
239
+
240
+ # Get info for each database.
241
+ #
242
+ # @example Get the database info.
243
+ # client.database_info
244
+ #
245
+ # @return [ Array<Hash ] The info for each database.
246
+ #
247
+ # @since 2.0.5
248
+ def database_info
249
+ use ( Database ::ADMIN ) . command (
250
+ listDatabases : 1
251
+ ) . first [ 'databases' ]
252
+ end
253
+
226
254
private
227
255
228
256
def create_from_addresses ( addresses , opts = { } )
Original file line number Diff line number Diff line change 569
569
end
570
570
end
571
571
end
572
+
573
+ describe '#database_names' do
574
+
575
+ it 'returns a list of database names' do
576
+ expect ( root_authorized_client . database_names ) . to include ( 'admin' , 'local' , TEST_DB )
577
+ end
578
+ end
579
+
580
+ describe '#database_info' do
581
+
582
+ it 'returns a list of database info documents' do
583
+ expect (
584
+ root_authorized_client . database_info . collect do |i |
585
+ i [ 'name' ]
586
+ end ) . to include ( 'admin' , 'local' , TEST_DB )
587
+ end
588
+ end
572
589
end
Original file line number Diff line number Diff line change 77
77
Mongo ::Auth ::Roles ::USER_ADMIN_ANY_DATABASE ,
78
78
Mongo ::Auth ::Roles ::DATABASE_ADMIN_ANY_DATABASE ,
79
79
Mongo ::Auth ::Roles ::READ_WRITE_ANY_DATABASE ,
80
- Mongo ::Auth ::Roles ::HOST_MANAGER
80
+ Mongo ::Auth ::Roles ::HOST_MANAGER ,
81
+ Mongo ::Auth ::Roles ::CLUSTER_ADMIN
81
82
]
82
83
)
83
84
105
106
# @since 2.0.
106
107
TEST_READ_WRITE_USER = Mongo ::Auth ::User . new (
107
108
database : TEST_DB ,
108
- user : 'test-user' ,
109
- password : ' password' ,
109
+ user : TEST_USER . name ,
110
+ password : TEST_USER . password ,
110
111
roles : [ Mongo ::Auth ::Roles ::READ_WRITE , Mongo ::Auth ::Roles ::DATABASE_ADMIN ]
111
112
)
112
113
You can’t perform that action at this time.
0 commit comments