Codeception / Codeception/module-mongodb

Authentication failure on MongoDB

未关闭
#5 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
PHP
星标
2
派生
11
PR 合并指标
30 天内没有已合并 PR

描述

#### 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.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。