From 54d8d332acc490c6c1a15227c733e66d962e4f7a Mon Sep 17 00:00:00 2001 From: euri10 Date: Tue, 23 Jul 2019 11:42:43 +0200 Subject: [PATCH] Moved POSTGRES_URLS where it's used Pool creation uses explicit url with removed query params --- databases/backends/postgres.py | 5 ++--- tests/test_connection_options.py | 5 ++++- tests/test_databases.py | 2 -- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/databases/backends/postgres.py b/databases/backends/postgres.py index 99a01067..d5cce39a 100644 --- a/databases/backends/postgres.py +++ b/databases/backends/postgres.py @@ -63,9 +63,8 @@ def _get_connection_kwargs(self) -> dict: async def connect(self) -> None: assert self._pool is None, "DatabaseBackend is already running" kwargs = self._get_connection_kwargs() - self._pool = await asyncpg.create_pool( - str(urlparse(self._database_url._url)._replace(query="").geturl()), **kwargs - ) + url = str(self._database_url.replace(query="")) + self._pool = await asyncpg.create_pool(url, **kwargs) async def disconnect(self) -> None: assert self._pool is not None, "DatabaseBackend is not running" diff --git a/tests/test_connection_options.py b/tests/test_connection_options.py index 7a730a9e..e1adf232 100644 --- a/tests/test_connection_options.py +++ b/tests/test_connection_options.py @@ -2,13 +2,16 @@ Unit tests for the backend connection arguments. """ from contextlib import suppress +from urllib.parse import urlparse import pytest from databases import Database from databases.backends.mysql import MySQLBackend from databases.backends.postgres import PostgresBackend -from tests.test_databases import POSTGRES_URLS, async_adapter +from tests.test_databases import async_adapter, DATABASE_URLS + +POSTGRES_URLS = [url for url in DATABASE_URLS if urlparse(url).scheme == "postgresql"] def test_postgres_pool_size(): diff --git a/tests/test_databases.py b/tests/test_databases.py index f3bf9b2f..d20ec8d5 100644 --- a/tests/test_databases.py +++ b/tests/test_databases.py @@ -3,7 +3,6 @@ import decimal import functools import os -from urllib.parse import urlparse import pytest import sqlalchemy @@ -13,7 +12,6 @@ assert "TEST_DATABASE_URLS" in os.environ, "TEST_DATABASE_URLS is not set." DATABASE_URLS = [url.strip() for url in os.environ["TEST_DATABASE_URLS"].split(",")] -POSTGRES_URLS = [url for url in DATABASE_URLS if urlparse(url).scheme == "postgresql"] class MyEpochType(sqlalchemy.types.TypeDecorator):