Upgrade to Django 3.2

- update dependencies
- fix deprecation warnings
- fix tests
- skip some tests that need more work
- reformat changed code with isort and black
This commit is contained in:
Jan Dittberner 2023-02-18 22:46:48 +01:00
parent 0f18e59d67
commit 4af1a39ca4
93 changed files with 3598 additions and 2725 deletions

View file

@ -6,20 +6,26 @@ The module starts Celery_ tasks.
.. _Celery: http://www.celeryproject.org/
"""
from __future__ import unicode_literals
import logging
from django.db.models.signals import post_delete, post_save
from django.dispatch import receiver
from passlib.utils import generate_password
from passlib.pwd import genword
from mysqltasks.tasks import (create_mysql_database, create_mysql_user,
delete_mysql_database, delete_mysql_user,
set_mysql_userpassword)
from pgsqltasks.tasks import (create_pgsql_database, create_pgsql_user,
delete_pgsql_database, delete_pgsql_user,
set_pgsql_userpassword)
from mysqltasks.tasks import (
create_mysql_database,
create_mysql_user,
delete_mysql_database,
delete_mysql_user,
set_mysql_userpassword,
)
from pgsqltasks.tasks import (
create_pgsql_database,
create_pgsql_user,
delete_pgsql_database,
delete_pgsql_user,
set_pgsql_userpassword,
)
from taskresults.models import TaskResult
from .models import DB_TYPES, DatabaseUser, UserDatabase, password_set
@ -64,25 +70,29 @@ def handle_dbuser_password_set(sender, instance, password, **kwargs):
"""
if instance.db_type == DB_TYPES.mysql:
taskresult = TaskResult.objects.create_task_result(
'handle_dbuser_password_set',
"handle_dbuser_password_set",
set_mysql_userpassword.s(instance.name, password),
'mysql password change')
"mysql password change",
)
_LOGGER.info(
'MySQL password change has been requested in task %s',
taskresult.task_id)
"MySQL password change has been requested in task %s", taskresult.task_id
)
elif instance.db_type == DB_TYPES.pgsql:
taskresult = TaskResult.objects.create_task_result(
'handle_dbuser_password_set',
"handle_dbuser_password_set",
set_pgsql_userpassword.s(instance.name, password),
'pgsql password change')
"pgsql password change",
)
_LOGGER.info(
'PostgreSQL password change has been requested in task %s',
taskresult.task_id)
"PostgreSQL password change has been requested in task %s",
taskresult.task_id,
)
else:
_LOGGER.warning(
'Password change has been requested for unknown database %s'
' the request has been ignored.',
instance.db_type)
"Password change has been requested for unknown database %s"
" the request has been ignored.",
instance.db_type,
)
@receiver(post_save, sender=DatabaseUser)
@ -122,32 +132,37 @@ def handle_dbuser_created(sender, instance, created, **kwargs):
"""
if created:
password = kwargs.get('password', generate_password())
password = kwargs.get("password", genword())
# TODO: send GPG encrypted mail with this information
if instance.db_type == DB_TYPES.mysql:
taskresult = TaskResult.objects.create_task_result(
'handle_dbuser_created',
"handle_dbuser_created",
create_mysql_user.s(instance.name, password),
'mysql user creation')
"mysql user creation",
)
_LOGGER.info(
'A new MySQL user %s creation has been requested in task %s',
instance.name, taskresult.task_id)
"A new MySQL user %s creation has been requested in task %s",
instance.name,
taskresult.task_id,
)
elif instance.db_type == DB_TYPES.pgsql:
taskresult = TaskResult.objects.create_task_result(
'handle_dbuser_created',
"handle_dbuser_created",
create_pgsql_user.s(instance.name, password),
'pgsql user creation')
"pgsql user creation",
)
_LOGGER.info(
'A new PostgreSQL user %s creation has been requested in task'
' %s',
instance.name, taskresult.task_id)
"A new PostgreSQL user %s creation has been requested in task" " %s",
instance.name,
taskresult.task_id,
)
else:
_LOGGER.warning(
'created DatabaseUser for unknown database type %s',
instance.db_type)
"created DatabaseUser for unknown database type %s", instance.db_type
)
_LOGGER.debug(
'database user %s has been %s',
instance, created and "created" or "updated")
"database user %s has been %s", instance, created and "created" or "updated"
)
@receiver(post_delete, sender=DatabaseUser)
@ -185,26 +200,33 @@ def handle_dbuser_deleted(sender, instance, **kwargs):
"""
if instance.db_type == DB_TYPES.mysql:
taskresult = TaskResult.objects.create_task_result(
'handle_dbuser_deleted',
"handle_dbuser_deleted",
delete_mysql_user.s(instance.name),
'mysql user deletion')
"mysql user deletion",
)
_LOGGER.info(
'MySQL user %s deletion has been requested in task %s',
instance.name, taskresult.task_id)
"MySQL user %s deletion has been requested in task %s",
instance.name,
taskresult.task_id,
)
elif instance.db_type == DB_TYPES.pgsql:
taskresult = TaskResult.objects.create_task_result(
'handle_dbuser_deleted',
"handle_dbuser_deleted",
delete_pgsql_user.s(instance.name),
'pgsql user deletion')
"pgsql user deletion",
)
_LOGGER.info(
'PostgreSQL user %s deletion has been requested in task %s',
instance.name, taskresult.task_id)
"PostgreSQL user %s deletion has been requested in task %s",
instance.name,
taskresult.task_id,
)
else:
_LOGGER.warning(
'deleted DatabaseUser %s for unknown database type %s',
instance.name, instance.db_type)
_LOGGER.debug(
'database user %s has been deleted', instance)
"deleted DatabaseUser %s for unknown database type %s",
instance.name,
instance.db_type,
)
_LOGGER.debug("database user %s has been deleted", instance)
@receiver(post_save, sender=UserDatabase)
@ -245,31 +267,36 @@ def handle_userdb_created(sender, instance, created, **kwargs):
if created:
if instance.db_user.db_type == DB_TYPES.mysql:
taskresult = TaskResult.objects.create_task_result(
'handle_userdb_created',
create_mysql_database.s(
instance.db_name, instance.db_user.name),
'mysql database creation')
"handle_userdb_created",
create_mysql_database.s(instance.db_name, instance.db_user.name),
"mysql database creation",
)
_LOGGER.info(
'The creation of a new MySQL database %s has been requested in'
' task %s',
instance.db_name, taskresult.task_id)
"The creation of a new MySQL database %s has been requested in"
" task %s",
instance.db_name,
taskresult.task_id,
)
elif instance.db_user.db_type == DB_TYPES.pgsql:
taskresult = TaskResult.objects.create_task_result(
'handle_userdb_created',
create_pgsql_database.s(
instance.db_name, instance.db_user.name),
'pgsql database creation')
"handle_userdb_created",
create_pgsql_database.s(instance.db_name, instance.db_user.name),
"pgsql database creation",
)
_LOGGER.info(
'The creation of a new PostgreSQL database %s has been'
' requested in task %s',
instance.db_name, taskresult.task_id)
"The creation of a new PostgreSQL database %s has been"
" requested in task %s",
instance.db_name,
taskresult.task_id,
)
else:
_LOGGER.warning(
'created UserDatabase for unknown database type %s',
instance.db_user.db_type)
"created UserDatabase for unknown database type %s",
instance.db_user.db_type,
)
_LOGGER.debug(
'database %s has been %s',
instance, created and "created" or "updated")
"database %s has been %s", instance, created and "created" or "updated"
)
@receiver(post_delete, sender=UserDatabase)
@ -307,25 +334,31 @@ def handle_userdb_deleted(sender, instance, **kwargs):
"""
if instance.db_user.db_type == DB_TYPES.mysql:
taskresult = TaskResult.objects.create_task_result(
'handle_userdb_deleted',
"handle_userdb_deleted",
delete_mysql_database.s(instance.db_name, instance.db_user.name),
'mysql database deletion')
"mysql database deletion",
)
_LOGGER.info(
'The deletion of MySQL database %s has been requested in task %s',
instance.db_name, taskresult.task_id)
"The deletion of MySQL database %s has been requested in task %s",
instance.db_name,
taskresult.task_id,
)
elif instance.db_user.db_type == DB_TYPES.pgsql:
taskresult = TaskResult.objects.create_task_result(
'handle_userdb_deleted',
"handle_userdb_deleted",
delete_pgsql_database.s(instance.db_name),
'pgsql database deletion')
"pgsql database deletion",
)
_LOGGER.info(
'The deletion of PostgreSQL database %s has been requested in '
' task %s',
instance.db_name, taskresult.task_id)
"The deletion of PostgreSQL database %s has been requested in " " task %s",
instance.db_name,
taskresult.task_id,
)
else:
_LOGGER.warning(
'deleted UserDatabase %s of unknown type %s',
instance.db_name, instance.db_type)
"deleted UserDatabase %s of unknown type %s",
instance.db_name,
instance.db_type,
)
pass
_LOGGER.debug(
'database %s has been deleted', instance)
_LOGGER.debug("database %s has been deleted", instance)