Преглед изворни кода

Stabilize MongoClient class

Andreas Braun пре 10 година
родитељ
комит
ee4098061d
2 измењених фајлова са 18 додато и 3 уклоњено
  1. 5 1
      lib/Mongo/MongoClient.php
  2. 13 2
      tests/Alcaeus/MongoDbAdapter/MongoClientTest.php

+ 5 - 1
lib/Mongo/MongoClient.php

@@ -256,7 +256,11 @@ class MongoClient
         ];
 
         foreach ($databaseInfoIterator as $databaseInfo) {
-            $databases['databases'][] = $databaseInfo->getName();
+            $databases['databases'][] = [
+                'name' => $databaseInfo->getName(),
+                'empty' => $databaseInfo->isEmpty(),
+                'sizeOnDisk' => $databaseInfo->getSizeOnDisk(),
+            ];
             $databases['totalSize'] += $databaseInfo->getSizeOnDisk();
         }
 

+ 13 - 2
tests/Alcaeus/MongoDbAdapter/MongoClientTest.php

@@ -74,7 +74,6 @@ class MongoClientTest extends TestCase
     public function testWriteConcern()
     {
         $client = $this->getClient();
-        $this->assertSame(['w' => 1, 'wtimeout' => 0], $client->getWriteConcern());
 
         $this->assertTrue($client->setWriteConcern('majority', 100));
         $this->assertSame(['w' => 'majority', 'wtimeout' => 100], $client->getWriteConcern());
@@ -89,7 +88,19 @@ class MongoClientTest extends TestCase
         $this->assertSame(1.0, $databases['ok']);
         $this->assertArrayHasKey('totalSize', $databases);
         $this->assertArrayHasKey('databases', $databases);
-        $this->assertContains('mongo-php-adapter', $databases['databases']);
+
+        foreach ($databases['databases'] as $database) {
+            $this->assertArrayHasKey('name', $database);
+            $this->assertArrayHasKey('empty', $database);
+            $this->assertArrayHasKey('sizeOnDisk', $database);
+
+            if ($database['name'] == 'mongo-php-adapter') {
+                $this->assertFalse($database['empty']);
+                return;
+            }
+        }
+
+        $this->fail('Could not find mongo-php-adapter database in list');
     }
 
     public function testNoPrefixUri()