Skip to content

Commit

Permalink
Fix all tests for using postgres uri
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathan-s committed Oct 29, 2020
1 parent 16f9435 commit 89ae0a2
Show file tree
Hide file tree
Showing 4 changed files with 139 additions and 202 deletions.
2 changes: 2 additions & 0 deletions dbbackup/db/exceptions.py
@@ -1,4 +1,6 @@
"""Exceptions for database connectors."""


class ConnectorError(Exception):
"""Base connector error"""

Expand Down
20 changes: 14 additions & 6 deletions dbbackup/db/postgresql.py
@@ -1,18 +1,27 @@
from dbbackup import utils
import logging
from .base import BaseCommandDBConnector
from .exceptions import DumpError

logger = logging.getLogger('dbbackup.command')


def create_postgres_uri(self):
host = self.settings.get('HOST', '')
dbname = self.settings.get('NAME', '')
user = self.settings.get('USER', '')
password = self.settings.get('PASSWORD')
host = self.settings.get('HOST')
if not host:
raise DumpError('A host name is required')

dbname = self.settings.get('NAME') or ''
user = self.settings.get('USER') or ''
password = self.settings.get('PASSWORD') or ''
password = ':{}'.format(password) if password else ''
if not user:
password = ''
else:
host = '@' + host

port = ':{}'.format(self.settings.get('PORT')) if self.settings.get('PORT') else ''
dbname = f'--dbname=postgresql://{user}{password}@{host}{port}/{dbname}'
dbname = f'--dbname=postgresql://{user}{password}{host}{port}/{dbname}'
return dbname


Expand Down Expand Up @@ -44,7 +53,6 @@ def _create_dump(self):
cmd += ' --clean'

cmd = '{} {} {}'.format(self.dump_prefix, cmd, self.dump_suffix)
logger.debug('Postgres cmd: ' + cmd)
stdout, stderr = self.run_command(cmd, env=self.dump_env)
return stdout

Expand Down
22 changes: 14 additions & 8 deletions dbbackup/tests/settings.py
Expand Up @@ -3,8 +3,12 @@
"""
import os
import tempfile
import sys
from dotenv import load_dotenv
load_dotenv()

test = len(sys.argv) < 0 or sys.argv[1] == 'test'
if not test:
load_dotenv()

DEBUG = False

Expand All @@ -26,13 +30,15 @@
'dbbackup.tests.testapp',
)

DATABASES = {'default': {
"ENGINE": os.environ.get('DB_ENGINE', "django.db.backends.sqlite3"),
"NAME": os.environ.get('DB_NAME', ":memory:"),
"USER": os.environ.get('DB_USER'),
"PASSWORD": os.environ.get('DB_PASSWORD'),
"HOST": os.environ.get('DB_HOST'),
}}
DATABASES = {
'default': {
"ENGINE": os.environ.get('DB_ENGINE', "django.db.backends.sqlite3"),
"NAME": os.environ.get('DB_NAME', ":memory:"),
"USER": os.environ.get('DB_USER'),
"PASSWORD": os.environ.get('DB_PASSWORD'),
"HOST": os.environ.get('DB_HOST'),
}
}
if os.environ.get('CONNECTOR'):
CONNECTOR = {'CONNECTOR': os.environ['CONNECTOR']}
DBBACKUP_CONNECTORS = {'default': CONNECTOR}
Expand Down

0 comments on commit 89ae0a2

Please sign in to comment.