--TEST-- MongoDB\Driver\Manager::addSubscriber() subscriber is only notified once (Manager and global) --SKIPIF-- --FILE-- getCommandName()); } public function commandSucceeded(MongoDB\Driver\Monitoring\CommandSucceededEvent $event): void { printf("commandSucceeded: %s\n", $event->getCommandName()); } public function commandFailed(MongoDB\Driver\Monitoring\CommandFailedEvent $event): void { printf("commandFailed: %s\n", $event->getCommandName()); } } $m = create_test_manager(); $pingCommand = new MongoDB\Driver\Command(['ping' => 1]); $subscriber = new MySubscriber; MongoDB\Driver\Monitoring\addSubscriber($subscriber); $m->addSubscriber($subscriber); printf("ping: %d\n", $m->executeCommand(DATABASE_NAME, $pingCommand)->toArray()[0]->ok); // Global subscriber is still notified after Manager subscriber is unregistered $m->removeSubscriber($subscriber); printf("ping: %d\n", $m->executeCommand(DATABASE_NAME, $pingCommand)->toArray()[0]->ok); ?> --EXPECT-- commandStarted: ping commandSucceeded: ping ping: 1 commandStarted: ping commandSucceeded: ping ping: 1