Проблема при выполнении интеграционных тестов, я получаю эту ошибку:
error: password authentication failed for user "postgres"
at Connection.parseE (node_modules/pg/lib/connection.js:567:11)
at Connection.parseMessage (node_modules/pg/lib/connection.js:391:17)
Это происходит в 100% случаев независимо от того, что находится в файле docker-compose.yml
.
Я использую knex, чтобы установить соединение с БД следующим образом:
function getConnectionForDatabase(database) {
return {
host: config.get("database.connection.host"),
user: config.get("database.connection.user"),
password: config.get("database.connection.password"),
database: database
};
}
function getDatabaseConnection(database) {
return knex({
client: config.get("database.client"),
connection: getConnectionForDatabase(database),
debug: config.get("database.debugMode"),
pool: {
min: config.get("database.pool.min"),
max: config.get("database.pool.max")
}
});
}
getDatabaseConnection("postgres");
host is 127.0.0.1 и допустим, что имя пользователя - postgres
, а пароль - postgres
docker-compose.yml
содержит:
postgres:
image: postgres:9.5.4
command: postgres -D /var/lib/postgresql/data
volumes:
- db-data:/var/lib/postgresql/data
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: 'postgres'
POSTGRES_USER: 'postgres'
и я могу подключиться к postgres db вручную, используя:
docker exec -it <hash> bash
root@<hash>:/# psql -U postgres
ive также обновил пароль для создания файла docker-compose.yml
, и он не будет подключаться:
psql -d postgres -c "ALTER USER postgres WITH PASSWORD '<new password>';"
Тем не менее, я запускаю модульный тест ... я получаю то же сообщение об ошибке, как упомянуто выше !!
Что мне не хватает, чтобы получить этот пробег? Любая помощь будет очень ценна!
Спасибо!