Codeception / Codeception/module-mongodb

Authentication failure on MongoDB

Open
#5 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
2
Forks
11
PR merge metrics
No merged PRs in 30d

Description

#### What are you trying to achieve?
I'm trying to use the MongoDB driver module in my tests (using an authentication database locally), but the following exception is generated:

MongoDb: Failed to list collections of the DB: auth failed

#### What do you get instead?

> Provide console output if related. Use `-vvv` mode for more details.

```bash
[Codeception\Exception\ModuleException]
MongoDb: Failed to list collections of the DB: auth failed

Exception trace:
() at /vagrant/api/vendor/codeception/codeception/src/Codeception/Module/MongoDb.php:206
Codeception\Module\MongoDb->cleanup() at /vagrant/api/vendor/codeception/codeception/src/Codeception/Module/MongoDb.php:106
Codeception\Module\MongoDb->_initialize() at /vagrant/api/vendor/codeception/codeception/src/Codeception/SuiteManager.php:80
Codeception\SuiteManager->initialize() at /vagrant/api/vendor/codeception/codeception/src/Codeception/Codecept.php:182
Codeception\Codecept->runSuite() at /vagrant/api/vendor/codeception/codeception/src/Codeception/Codecept.php:153
Codeception\Codecept->run() at /vagrant/api/vendor/codeception/codeception/src/Codeception/Command/Run.php:366
Codeception\Command\Run->runSuites() at /vagrant/api/vendor/codeception/codeception/src/Codeception/Command/Run.php:293
Codeception\Command\Run->execute() at /vagrant/api/vendor/symfony/console/Command/Command.php:265
Symfony\Component\Console\Command\Command->run() at /vagrant/api/vendor/symfony/console/Application.php:826
Symfony\Component\Console\Application->doRunCommand() at /vagrant/api/vendor/symfony/console/Application.php:189
Symfony\Component\Console\Application->doRun() at /vagrant/api/vendor/symfony/console/Application.php:120
Symfony\Component\Console\Application->run() at /vagrant/api/vendor/codeception/codeception/src/Codeception/Application.php:103
Codeception\Application->run() at /vagrant/api/vendor/codeception/codeception/codecept:36
```

### Details

* Codeception version: 2.2.10
* PHP Version: 7.0.17
* Operating System: Ubuntu 16.04.2 LTS (vagrant box)
* Installation type: Composer
* Suite configuration:

```yml
class_name: UnitTester
modules:
enabled: [Asserts, \Helper\Unit, Laravel5, MongoDb]
config:
Laravel5:
environment_file: .env.testing
```

I could fix this issue, by adding an option `'database' => 'admin'` to https://github.com/Codeception/Codeception/blob/2.2/src/Codeception/Lib/Driver/MongoDb.php#L114 `$options` array.
Problem is, that the module won't take into account any additional options, such as authenticationDatabase.

This also affects the mongorestore functionality, which doesn't have support for the `--authenticationDatabase ` option.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.