Skip to content

Commit 0c81a3f

Browse files
committed
Fix tests and CS
1 parent bfa466e commit 0c81a3f

File tree

6 files changed

+32
-27
lines changed

6 files changed

+32
-27
lines changed

src/Client.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@
2525

2626
final class Client extends MongoDBClient
2727
{
28-
/**
29-
* @internal
30-
*/
28+
/** @internal */
3129
public function addSubscriber(Subscriber $subscriber): void
3230
{
3331
$this->getManager()->addSubscriber($subscriber);

src/DataCollector/DriverEventSubscriber.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
use Symfony\Component\Stopwatch\Stopwatch;
2828
use Symfony\Component\Stopwatch\StopwatchEvent;
2929

30+
use function array_shift;
3031
use function debug_backtrace;
3132

3233
use const DEBUG_BACKTRACE_IGNORE_ARGS;

src/DataCollector/MongoDBDataCollector.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
use function count;
3636
use function iterator_to_array;
3737

38-
use const DEBUG_BACKTRACE_IGNORE_ARGS;
39-
4038
/** @internal */
4139
final class MongoDBDataCollector extends DataCollector implements LateDataCollectorInterface
4240
{

src/DependencyInjection/Compiler/DataCollectorPass.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,9 @@
2020

2121
namespace MongoDB\Bundle\DependencyInjection\Compiler;
2222

23-
use MongoDB\Bundle\DataCollector\DriverEventSubscriber;
2423
use Symfony\Component\DependencyInjection\ChildDefinition;
2524
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
2625
use Symfony\Component\DependencyInjection\ContainerBuilder;
27-
use Symfony\Component\DependencyInjection\ContainerInterface;
28-
use Symfony\Component\DependencyInjection\Definition;
2926
use Symfony\Component\DependencyInjection\Reference;
3027

3128
use function sprintf;

src/DependencyInjection/MongoDBExtension.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
use Symfony\Component\Config\FileLocator;
2626
use Symfony\Component\DependencyInjection\ChildDefinition;
2727
use Symfony\Component\DependencyInjection\ContainerBuilder;
28-
use Symfony\Component\DependencyInjection\Definition;
2928
use Symfony\Component\DependencyInjection\Extension\Extension;
3029
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
3130

@@ -84,11 +83,13 @@ private function createClients(string $defaultClient, array $clients, ContainerB
8483
// Register an autowiring alias for the default client
8584
$container->setAlias(Client::class, self::createClientServiceId($defaultClient));
8685

87-
if (isset($clients[$defaultClient]['default_database'])) {
88-
$container->setParameter(
89-
sprintf('%s.default_database', Client::class),
90-
$clients[$defaultClient]['default_database'],
91-
);
86+
if (! isset($clients[$defaultClient]['default_database'])) {
87+
return;
9288
}
89+
90+
$container->setParameter(
91+
sprintf('%s.default_database', Client::class),
92+
$clients[$defaultClient]['default_database'],
93+
);
9394
}
9495
}

tests/Unit/DependencyInjection/MongoDBExtensionTest.php

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,16 @@
2626
use MongoDB\Client;
2727
use MongoDB\Driver\ServerApi;
2828
use PHPUnit\Framework\TestCase;
29+
use stdClass;
30+
use Symfony\Component\DependencyInjection\ChildDefinition;
2931
use Symfony\Component\DependencyInjection\ContainerBuilder;
3032
use Symfony\Component\DependencyInjection\Definition;
3133
use Symfony\Component\DependencyInjection\ParameterBag\EnvPlaceholderParameterBag;
3234

35+
use function array_column;
36+
use function is_a;
37+
use function sprintf;
38+
3339
/** @covers \MongoDB\Bundle\DependencyInjection\MongoDBExtension */
3440
final class MongoDBExtensionTest extends TestCase
3541
{
@@ -52,8 +58,9 @@ public function testLoadWithSingleClient(): void
5258
'clients' => [
5359
['id' => 'default', 'uri' => 'mongodb://localhost:27017'],
5460
],
55-
]], [
56-
'profiler' => new Definition(\stdClass::class),
61+
],
62+
], [
63+
'profiler' => new Definition(stdClass::class),
5764
]);
5865

5966
$this->assertTrue($container->hasDefinition('mongodb.client.default'));
@@ -62,18 +69,17 @@ public function testLoadWithSingleClient(): void
6269

6370
// Check service definition
6471
$definition = $container->getDefinition('mongodb.client.default');
65-
$this->assertTrue(is_a($definition->getClass(), Client::class, true), sprintf('Expected "%s" to be a "%s"', $definition->getClass(), Client::class));
6672
$this->assertSame('mongodb://localhost:27017', $definition->getArgument('$uri'));
6773
$this->assertTrue($definition->hasMethodCall('addSubscriber'));
74+
$this->assertInstanceOf(ChildDefinition::class, $definition);
75+
$this->assertSame('mongodb.abstract.client', $definition->getParent());
76+
$parentDefinition = $container->getDefinition($definition->getParent());
77+
$this->assertTrue(is_a($parentDefinition->getClass(), Client::class, true), sprintf('Expected "%s" to be a "%s"', $definition->getClass(), Client::class));
78+
$this->assertTrue($parentDefinition->isAbstract());
6879

6980
// Check alias definition
7081
$alias = $container->getAlias(Client::class);
7182
$this->assertSame('mongodb.client.default', (string) $alias);
72-
73-
// Check data collector
74-
$definition = $container->getDefinition('mongodb.data_collector');
75-
$this->assertTrue($definition->hasMethodCall('addClient'));
76-
$this->assertSame('default', $definition->getMethodCalls()[0][1][0]);
7783
}
7884

7985
public function testLoadWithoutProfiler(): void
@@ -82,7 +88,8 @@ public function testLoadWithoutProfiler(): void
8288
'clients' => [
8389
['id' => 'default', 'uri' => 'mongodb://localhost:27017'],
8490
],
85-
]]);
91+
],
92+
]);
8693

8794
// Check service definition
8895
$definition = $container->getDefinition('mongodb.client.default');
@@ -109,8 +116,9 @@ public function testLoadWithMultipleClients(): void
109116
'driverOptions' => ['serverApi' => new ServerApi((string) ServerApi::V1)],
110117
],
111118
],
112-
]], [
113-
'profiler' => new Definition(\stdClass::class),
119+
],
120+
], [
121+
'profiler' => new Definition(stdClass::class),
114122
]);
115123

116124
$this->assertTrue($container->hasDefinition('mongodb.client.default'));
@@ -120,13 +128,15 @@ public function testLoadWithMultipleClients(): void
120128

121129
// Check service definitions
122130
$definition = $container->getDefinition('mongodb.client.default');
123-
$this->assertTrue(is_a($definition->getClass(), Client::class, true), sprintf('Expected "%s" to be a "%s"', $definition->getClass(), Client::class));
131+
$this->assertInstanceOf(ChildDefinition::class, $definition);
132+
$this->assertSame('mongodb.abstract.client', $definition->getParent());
124133
$this->assertSame('mongodb://localhost:27017', $definition->getArgument('$uri'));
125134
$this->assertSame(['readPreference' => 'primary'], $definition->getArgument('$uriOptions'));
126135
$this->assertTrue($definition->hasMethodCall('addSubscriber'));
127136

128137
$definition = $container->getDefinition('mongodb.client.secondary');
129-
$this->assertTrue(is_a($definition->getClass(), Client::class, true), sprintf('Expected "%s" to be a "%s"', $definition->getClass(), Client::class));
138+
$this->assertInstanceOf(ChildDefinition::class, $definition);
139+
$this->assertSame('mongodb.abstract.client', $definition->getParent());
130140
$this->assertSame('mongodb://localhost:27018', $definition->getArgument('$uri'));
131141
$this->assertEquals(['serverApi' => new ServerApi((string) ServerApi::V1)], $definition->getArgument('$driverOptions'));
132142
$this->assertTrue($definition->hasMethodCall('addSubscriber'));

0 commit comments

Comments
 (0)