From 992101174210ba7c37a8e61992b87bffeb97977e Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Wed, 3 May 2023 12:19:52 +1000 Subject: [PATCH 01/11] docker bumps --- docker/Dockerfile | 4 ++-- docker/docker-compose.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index c03e20f6..64f763a6 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ -FROM python:3.9-slim -ARG AUTH_VERSION=v3.1.1 +FROM python:3.11-slim +ARG AUTH_VERSION=v4.0.0a1 ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION} ENV VIRTUAL_ENV=/opt/venv ENV AUTH_USER=allianceauth diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 63a4044f..a59d7939 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -17,7 +17,7 @@ services: restart: unless-stopped nginx: - image: nginx:1.21 + image: nginx:1.23 restart: always volumes: - ./conf/nginx.conf:/etc/nginx/conf.d/default.conf @@ -26,7 +26,7 @@ services: - allianceauth redis: - image: redis:6.2 + image: redis:7.0 command: redis-server restart: always volumes: @@ -52,7 +52,7 @@ services: - auth_mysql grafana: - image: grafana/grafana-oss:8.3.2 + image: grafana/grafana-oss:9.5.1 restart: always depends_on: - auth_mysql From b8f86a618fe89802003bcc01f056b97a92cc9da0 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Wed, 3 May 2023 12:20:17 +1000 Subject: [PATCH 02/11] py312 rc tests --- .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index def3febd..bd751341 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -100,6 +100,19 @@ test-3.11-core: path: coverage.xml allow_failure: true +test-3.12-core: + <<: *only-default + image: python:3.12-rc-bullseye + script: + - tox -e py312-core + artifacts: + when: always + reports: + coverage_report: + coverage_format: cobertura + path: coverage.xml + allow_failure: true + test-3.8-all: <<: *only-default image: python:3.8-bullseye @@ -149,6 +162,19 @@ test-3.11-all: path: coverage.xml allow_failure: true +test-3.12-all: + <<: *only-default + image: python:3.12-rc-bullseye + script: + - tox -e py312-all + artifacts: + when: always + reports: + coverage_report: + coverage_format: cobertura + path: coverage.xml + allow_failure: true + build-test: stage: test image: python:3.10-bullseye From 49780b871dfec905014d3f28e9a3046929880989 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Wed, 3 May 2023 12:46:49 +1000 Subject: [PATCH 03/11] python bumps --- .gitlab-ci.yml | 8 ++++---- .pre-commit-config.yaml | 2 +- tox.ini | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 72bdfe2b..8a268331 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,7 +25,7 @@ before_script: pre-commit-check: <<: *only-default stage: pre-commit - image: python:3.8-bullseye + image: python:3.11-bullseye variables: PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit cache: @@ -202,7 +202,7 @@ test-3.12-all: build-test: stage: test - image: python:3.10-bullseye + image: python:3.11-bullseye before_script: - python -m pip install --upgrade pip @@ -221,13 +221,13 @@ build-test: test-docs: <<: *only-default - image: python:3.10-bullseye + image: python:3.11-bullseye script: - tox -e docs deploy_production: stage: deploy - image: python:3.10-bullseye + image: python:3.11-bullseye before_script: - python -m pip install --upgrade pip diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b37ec7c7..0b3b2354 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -49,7 +49,7 @@ repos: ) - repo: https://github.com/asottile/pyupgrade - rev: v3.3.1 + rev: v3.3.2 hooks: - id: pyupgrade args: [ --py38-plus ] diff --git a/tox.ini b/tox.ini index ccb213e7..ffa34e52 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ isolated_build = True skipsdist = true usedevelop = true -envlist = py{38,39,310,311,py}-{all,core}, docs +envlist = py{38,39,310,311,312,py}-{all,core}, docs [testenv] setenv = @@ -13,6 +13,7 @@ basepython = py39: python3.9 py310: python3.10 py311: python3.11 + py312: python3.12 pypy: pypy3 deps= coverage @@ -25,7 +26,7 @@ commands = [testenv:docs] description = invoke sphinx-build to build the HTML docs -basepython = python3.9 +basepython = python3.11 skip_install = True deps = -r{toxinidir}/docs/requirements.txt install_command = python -I -m pip install {opts} {packages} From 8d46ee65afbb1ecf9a59cc1ee51c52e6567937f5 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Wed, 3 May 2023 12:51:56 +1000 Subject: [PATCH 04/11] target dj4.2 --- .pre-commit-config.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0b3b2354..f8293ab1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,6 +54,12 @@ repos: - id: pyupgrade args: [ --py38-plus ] + - repo: https://github.com/adamchainz/django-upgrade + rev: 1.13.0 + hooks: + - id: django-upgrade + args: [--target-version=4.2] + - repo: https://github.com/asottile/setup-cfg-fmt rev: v2.2.0 hooks: From 98aa44c0708cc6e362449dadcd06c78d0a73e63d Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Wed, 3 May 2023 13:17:55 +1000 Subject: [PATCH 05/11] dj 4.2 --- setup.cfg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index f151c92c..7f653531 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,6 +12,7 @@ classifiers = Environment :: Web Environment Framework :: Django Framework :: Django :: 4 + Framework :: Django :: 4.2 Intended Audience :: Developers License :: OSI Approved :: GNU General Public License v2 (GPLv2) Operating System :: POSIX :: Linux @@ -39,7 +40,7 @@ install_requires = beautifulsoup4 celery>=5.2.0,<6 celery-once>=3.0.1 - django>=4.0.9,<4.1.0 + django>=4.2,<5 django-bootstrap-form django-celery-beat>=2.3.0 django-esi>=4.0.1 From 3b19db25643ef9ed39e810cd3d00bdc0badb0e15 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Wed, 3 May 2023 13:18:05 +1000 Subject: [PATCH 06/11] let pre-commit do some work --- allianceauth/authentication/admin.py | 2 +- allianceauth/authentication/decorators.py | 2 +- allianceauth/authentication/hmac_urls.py | 3 +-- allianceauth/eveonline/autogroups/admin.py | 2 +- allianceauth/eveonline/autogroups/tests/test_models.py | 4 ++-- .../migrations/0002_auto_20160905_2220.py | 3 +-- allianceauth/hrapplications/admin.py | 2 +- allianceauth/notifications/__init__.py | 2 -- allianceauth/notifications/admin.py | 8 ++++++-- allianceauth/project_template/project_name/urls.py | 5 ++--- allianceauth/services/admin.py | 4 +++- allianceauth/services/hooks.py | 2 +- allianceauth/services/modules/discord/urls.py | 2 +- allianceauth/services/modules/example/urls.py | 2 +- allianceauth/services/modules/ips4/admin.py | 3 +-- allianceauth/services/modules/ips4/urls.py | 2 +- allianceauth/services/modules/mumble/urls.py | 2 +- allianceauth/services/modules/openfire/urls.py | 2 +- allianceauth/services/modules/phpbb3/urls.py | 2 +- allianceauth/services/modules/smf/urls.py | 2 +- allianceauth/services/modules/teamspeak3/admin.py | 4 +++- allianceauth/services/modules/teamspeak3/tests.py | 8 ++++---- allianceauth/services/modules/teamspeak3/urls.py | 2 +- allianceauth/services/modules/xenforo/urls.py | 2 +- allianceauth/services/urls.py | 2 +- allianceauth/urls.py | 2 +- 26 files changed, 39 insertions(+), 37 deletions(-) diff --git a/allianceauth/authentication/admin.py b/allianceauth/authentication/admin.py index 80fd53bc..6da117e2 100644 --- a/allianceauth/authentication/admin.py +++ b/allianceauth/authentication/admin.py @@ -288,7 +288,7 @@ class UserAdmin(BaseUserAdmin): Behavior of groups and characters columns can be configured via settings """ - inlines = BaseUserAdmin.inlines + [UserProfileInline] + inlines = [UserProfileInline] ordering = ('username', ) list_select_related = ('profile__state', 'profile__main_character') show_full_result_count = True diff --git a/allianceauth/authentication/decorators.py b/allianceauth/authentication/decorators.py index 88742fd7..33bbf2e3 100644 --- a/allianceauth/authentication/decorators.py +++ b/allianceauth/authentication/decorators.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.contrib.auth.decorators import user_passes_test from django.core.exceptions import PermissionDenied from functools import wraps diff --git a/allianceauth/authentication/hmac_urls.py b/allianceauth/authentication/hmac_urls.py index e7c03d11..23c48ac1 100644 --- a/allianceauth/authentication/hmac_urls.py +++ b/allianceauth/authentication/hmac_urls.py @@ -1,6 +1,5 @@ -from django.conf.urls import include - from allianceauth.authentication import views +from django.urls import include from django.urls import re_path from django.urls import path diff --git a/allianceauth/eveonline/autogroups/admin.py b/allianceauth/eveonline/autogroups/admin.py index 7f2ebabe..240d4578 100644 --- a/allianceauth/eveonline/autogroups/admin.py +++ b/allianceauth/eveonline/autogroups/admin.py @@ -14,6 +14,7 @@ def sync_user_groups(modeladmin, request, queryset): agc.update_all_states_group_membership() +@admin.register(AutogroupsConfig) class AutogroupsConfigAdmin(admin.ModelAdmin): formfield_overrides = { models.CharField: {'strip': False} @@ -36,6 +37,5 @@ class AutogroupsConfigAdmin(admin.ModelAdmin): return actions -admin.site.register(AutogroupsConfig, AutogroupsConfigAdmin) admin.site.register(ManagedCorpGroup) admin.site.register(ManagedAllianceGroup) diff --git a/allianceauth/eveonline/autogroups/tests/test_models.py b/allianceauth/eveonline/autogroups/tests/test_models.py index 45044608..c6b966a3 100644 --- a/allianceauth/eveonline/autogroups/tests/test_models.py +++ b/allianceauth/eveonline/autogroups/tests/test_models.py @@ -93,7 +93,7 @@ class AutogroupsConfigTestCase(TestCase): group_qs = Group.objects.filter(pk=group.pk) self.assertIn(group, self.member.groups.all()) - self.assertQuerysetEqual(self.member.groups.all(), map(repr, pre_groups | group_qs), ordered=False) + self.assertQuerySetEqual(self.member.groups.all(), map(repr, pre_groups | group_qs), ordered=False) def test_update_alliance_group_membership_no_main_character(self): obj = AutogroupsConfig.objects.create() @@ -172,7 +172,7 @@ class AutogroupsConfigTestCase(TestCase): group_qs = Group.objects.filter(pk=group.pk) self.assertIn(group, self.member.groups.all()) - self.assertQuerysetEqual(self.member.groups.all(), map(repr, pre_groups | group_qs), ordered=False) + self.assertQuerySetEqual(self.member.groups.all(), map(repr, pre_groups | group_qs), ordered=False) def test_update_corp_group_membership_no_state(self): obj = AutogroupsConfig.objects.create(corp_groups=True) diff --git a/allianceauth/fleetactivitytracking/migrations/0002_auto_20160905_2220.py b/allianceauth/fleetactivitytracking/migrations/0002_auto_20160905_2220.py index 563b1e90..813a7f84 100644 --- a/allianceauth/fleetactivitytracking/migrations/0002_auto_20160905_2220.py +++ b/allianceauth/fleetactivitytracking/migrations/0002_auto_20160905_2220.py @@ -2,7 +2,6 @@ import datetime from django.db import migrations, models -from django.utils.timezone import utc class Migration(migrations.Migration): @@ -15,6 +14,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='fatlink', name='fatdatetime', - field=models.DateTimeField(default=datetime.datetime(2016, 9, 5, 22, 20, 2, 999041, tzinfo=utc)), + field=models.DateTimeField(default=datetime.datetime(2016, 9, 5, 22, 20, 2, 999041, tzinfo=datetime.timezone.utc)), ), ] diff --git a/allianceauth/hrapplications/admin.py b/allianceauth/hrapplications/admin.py index de3cff38..538d3ffa 100755 --- a/allianceauth/hrapplications/admin.py +++ b/allianceauth/hrapplications/admin.py @@ -10,6 +10,7 @@ class ChoiceInline(admin.TabularInline): verbose_name_plural = 'Choices (optional)' verbose_name= 'Choice' +@admin.register(ApplicationQuestion) class QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['title', 'help_text', 'multi_select']}), @@ -18,6 +19,5 @@ class QuestionAdmin(admin.ModelAdmin): admin.site.register(Application) admin.site.register(ApplicationComment) -admin.site.register(ApplicationQuestion, QuestionAdmin) admin.site.register(ApplicationForm) admin.site.register(ApplicationResponse) diff --git a/allianceauth/notifications/__init__.py b/allianceauth/notifications/__init__.py index e22e6ad7..1a7c9e01 100644 --- a/allianceauth/notifications/__init__.py +++ b/allianceauth/notifications/__init__.py @@ -1,3 +1 @@ from .core import notify # noqa: F401 - -default_app_config = 'allianceauth.notifications.apps.NotificationsConfig' diff --git a/allianceauth/notifications/admin.py b/allianceauth/notifications/admin.py index 03f1dd4e..3fb3242a 100644 --- a/allianceauth/notifications/admin.py +++ b/allianceauth/notifications/admin.py @@ -15,18 +15,22 @@ class NotificationAdmin(admin.ModelAdmin): ordering = ("-timestamp", ) search_fields = ["user__username", "user__profile__main_character__character_name"] + @admin.display( + ordering="user__profile__main_character__character_name" + ) def _main(self, obj): try: return obj.user.profile.main_character except AttributeError: return obj.user - _main.admin_order_field = "user__profile__main_character__character_name" + @admin.display( + ordering="user__profile__state__name" + ) def _state(self, obj): return obj.user.profile.state - _state.admin_order_field = "user__profile__state__name" def has_change_permission(self, request, obj=None): return False diff --git a/allianceauth/project_template/project_name/urls.py b/allianceauth/project_template/project_name/urls.py index 803ef102..58d40642 100644 --- a/allianceauth/project_template/project_name/urls.py +++ b/allianceauth/project_template/project_name/urls.py @@ -1,9 +1,8 @@ -from django.conf.urls import include from allianceauth import urls -from django.urls import re_path +from django.urls import include, path urlpatterns = [ - re_path(r'', include(urls)), + path('', include(urls)), ] handler500 = 'allianceauth.views.Generic500Redirect' diff --git a/allianceauth/services/admin.py b/allianceauth/services/admin.py index b204938b..f2c64573 100644 --- a/allianceauth/services/admin.py +++ b/allianceauth/services/admin.py @@ -66,6 +66,8 @@ class NameFormatConfigAdmin(admin.ModelAdmin): form = NameFormatConfigForm list_display = ('service_name', 'get_state_display_string') + @admin.display( + description='States' + ) def get_state_display_string(self, obj): return ', '.join([state.name for state in obj.states.all()]) - get_state_display_string.short_description = 'States' diff --git a/allianceauth/services/hooks.py b/allianceauth/services/hooks.py index 59595a84..789bc6bc 100644 --- a/allianceauth/services/hooks.py +++ b/allianceauth/services/hooks.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import re_path from django.core.exceptions import ObjectDoesNotExist from django.template.loader import render_to_string diff --git a/allianceauth/services/modules/discord/urls.py b/allianceauth/services/modules/discord/urls.py index 749a8090..de82a91c 100644 --- a/allianceauth/services/modules/discord/urls.py +++ b/allianceauth/services/modules/discord/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/modules/example/urls.py b/allianceauth/services/modules/example/urls.py index cefb0650..c8a427e5 100644 --- a/allianceauth/services/modules/example/urls.py +++ b/allianceauth/services/modules/example/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path app_name = 'example' diff --git a/allianceauth/services/modules/ips4/admin.py b/allianceauth/services/modules/ips4/admin.py index d70aeede..38ad5f50 100644 --- a/allianceauth/services/modules/ips4/admin.py +++ b/allianceauth/services/modules/ips4/admin.py @@ -2,8 +2,7 @@ from django.contrib import admin from .models import Ips4User +@admin.register(Ips4User) class Ips4UserAdmin(admin.ModelAdmin): list_display = ('user', 'username', 'id') search_fields = ('user__username', 'username', 'id') - -admin.site.register(Ips4User, Ips4UserAdmin) diff --git a/allianceauth/services/modules/ips4/urls.py b/allianceauth/services/modules/ips4/urls.py index 87c9ca31..a11bbd1b 100644 --- a/allianceauth/services/modules/ips4/urls.py +++ b/allianceauth/services/modules/ips4/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/modules/mumble/urls.py b/allianceauth/services/modules/mumble/urls.py index 6c403fc2..dfa77c79 100644 --- a/allianceauth/services/modules/mumble/urls.py +++ b/allianceauth/services/modules/mumble/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/modules/openfire/urls.py b/allianceauth/services/modules/openfire/urls.py index 8823ad18..99ce6713 100644 --- a/allianceauth/services/modules/openfire/urls.py +++ b/allianceauth/services/modules/openfire/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/modules/phpbb3/urls.py b/allianceauth/services/modules/phpbb3/urls.py index d7d7bce9..5fcaba55 100644 --- a/allianceauth/services/modules/phpbb3/urls.py +++ b/allianceauth/services/modules/phpbb3/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/modules/smf/urls.py b/allianceauth/services/modules/smf/urls.py index 92aba143..1dedc8d2 100644 --- a/allianceauth/services/modules/smf/urls.py +++ b/allianceauth/services/modules/smf/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/modules/teamspeak3/admin.py b/allianceauth/services/modules/teamspeak3/admin.py index dbba1cb1..92a1fcfe 100644 --- a/allianceauth/services/modules/teamspeak3/admin.py +++ b/allianceauth/services/modules/teamspeak3/admin.py @@ -36,10 +36,12 @@ class AuthTSgroupAdmin(admin.ModelAdmin): kwargs['queryset'] = TSgroup.objects.exclude(ts_group_name__in=ReservedGroupName.objects.values_list('name', flat=True)) return super().formfield_for_manytomany(db_field, request, **kwargs) + @admin.display( + description='ts groups' + ) def _ts_group(self, obj): return [x for x in obj.ts_group.all().order_by('ts_group_id')] - _ts_group.short_description = 'ts groups' # _ts_group.admin_order_field = 'profile__state' diff --git a/allianceauth/services/modules/teamspeak3/tests.py b/allianceauth/services/modules/teamspeak3/tests.py index eb3866af..f0f8d1c3 100644 --- a/allianceauth/services/modules/teamspeak3/tests.py +++ b/allianceauth/services/modules/teamspeak3/tests.py @@ -462,12 +462,12 @@ class Teamspeak3AdminTestCase(TestCase): def test_field_queryset_no_reserved_names(self): """Ensure all groups are listed when no reserved names""" form = self.admin.get_form(request) - self.assertQuerysetEqual(form.base_fields['auth_group']._get_queryset(), Group.objects.all()) - self.assertQuerysetEqual(form.base_fields['ts_group']._get_queryset(), TSgroup.objects.all()) + self.assertQuerySetEqual(form.base_fields['auth_group']._get_queryset(), Group.objects.all()) + self.assertQuerySetEqual(form.base_fields['ts_group']._get_queryset(), TSgroup.objects.all()) def test_field_queryset_reserved_names(self): """Ensure reserved group names are filtered out""" ReservedGroupName.objects.bulk_create([ReservedGroupName(name='test', reason='tests', created_by='Bob')]) form = self.admin.get_form(request) - self.assertQuerysetEqual(form.base_fields['auth_group']._get_queryset(), Group.objects.none()) - self.assertQuerysetEqual(form.base_fields['ts_group']._get_queryset(), TSgroup.objects.none()) + self.assertQuerySetEqual(form.base_fields['auth_group']._get_queryset(), Group.objects.none()) + self.assertQuerySetEqual(form.base_fields['ts_group']._get_queryset(), TSgroup.objects.none()) diff --git a/allianceauth/services/modules/teamspeak3/urls.py b/allianceauth/services/modules/teamspeak3/urls.py index 4c6831e3..92c3093e 100644 --- a/allianceauth/services/modules/teamspeak3/urls.py +++ b/allianceauth/services/modules/teamspeak3/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/modules/xenforo/urls.py b/allianceauth/services/modules/xenforo/urls.py index 9bad105e..fe684e9f 100644 --- a/allianceauth/services/modules/xenforo/urls.py +++ b/allianceauth/services/modules/xenforo/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from django.urls import path from . import views diff --git a/allianceauth/services/urls.py b/allianceauth/services/urls.py index e43b0e30..9c8a8141 100644 --- a/allianceauth/services/urls.py +++ b/allianceauth/services/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from allianceauth.hooks import get_hooks from django.urls import path diff --git a/allianceauth/urls.py b/allianceauth/urls.py index 3a8ea22c..e9361cdf 100755 --- a/allianceauth/urls.py +++ b/allianceauth/urls.py @@ -1,7 +1,7 @@ from django.urls import path import esi.urls -from django.conf.urls import include +from django.urls import include from django.contrib import admin from django.views.generic.base import TemplateView From 05d7fb1f638fd0f47a10ab612b9350388fc40479 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Wed, 3 May 2023 14:23:10 +1000 Subject: [PATCH 07/11] repr workaround no longer needed --- allianceauth/eveonline/autogroups/tests/test_models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/allianceauth/eveonline/autogroups/tests/test_models.py b/allianceauth/eveonline/autogroups/tests/test_models.py index c6b966a3..f9c59389 100644 --- a/allianceauth/eveonline/autogroups/tests/test_models.py +++ b/allianceauth/eveonline/autogroups/tests/test_models.py @@ -93,7 +93,7 @@ class AutogroupsConfigTestCase(TestCase): group_qs = Group.objects.filter(pk=group.pk) self.assertIn(group, self.member.groups.all()) - self.assertQuerySetEqual(self.member.groups.all(), map(repr, pre_groups | group_qs), ordered=False) + self.assertQuerySetEqual(self.member.groups.all(), pre_groups | group_qs, ordered=False) def test_update_alliance_group_membership_no_main_character(self): obj = AutogroupsConfig.objects.create() @@ -172,7 +172,7 @@ class AutogroupsConfigTestCase(TestCase): group_qs = Group.objects.filter(pk=group.pk) self.assertIn(group, self.member.groups.all()) - self.assertQuerySetEqual(self.member.groups.all(), map(repr, pre_groups | group_qs), ordered=False) + self.assertQuerySetEqual(self.member.groups.all(), pre_groups | group_qs, ordered=False) def test_update_corp_group_membership_no_state(self): obj = AutogroupsConfig.objects.create(corp_groups=True) From ed3c2c8529e6d1d32e2aeace749f64107c16294a Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Sat, 3 Jun 2023 17:08:06 +1000 Subject: [PATCH 08/11] dj4.1 #31395 changed testdata upstream, breaks setting up classes or something --- allianceauth/services/modules/teamspeak3/tests.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/allianceauth/services/modules/teamspeak3/tests.py b/allianceauth/services/modules/teamspeak3/tests.py index f0f8d1c3..62f9ad85 100644 --- a/allianceauth/services/modules/teamspeak3/tests.py +++ b/allianceauth/services/modules/teamspeak3/tests.py @@ -454,20 +454,16 @@ request.user = MockSuperUser() class Teamspeak3AdminTestCase(TestCase): @classmethod def setUpTestData(cls): - cls.site = AdminSite() - cls.admin = AuthTSgroupAdmin(AuthTS, cls.site) cls.group = Group.objects.create(name='test') cls.ts_group = TSgroup.objects.create(ts_group_id=1, ts_group_name='test') def test_field_queryset_no_reserved_names(self): """Ensure all groups are listed when no reserved names""" - form = self.admin.get_form(request) - self.assertQuerySetEqual(form.base_fields['auth_group']._get_queryset(), Group.objects.all()) - self.assertQuerySetEqual(form.base_fields['ts_group']._get_queryset(), TSgroup.objects.all()) + self.assertQuerySetEqual(AuthTSgroupAdmin(AuthTS, AdminSite()).get_form(request).base_fields['auth_group']._get_queryset(), Group.objects.all()) + self.assertQuerySetEqual(AuthTSgroupAdmin(AuthTS, AdminSite()).get_form(request).base_fields['ts_group']._get_queryset(), TSgroup.objects.all()) def test_field_queryset_reserved_names(self): """Ensure reserved group names are filtered out""" ReservedGroupName.objects.bulk_create([ReservedGroupName(name='test', reason='tests', created_by='Bob')]) - form = self.admin.get_form(request) - self.assertQuerySetEqual(form.base_fields['auth_group']._get_queryset(), Group.objects.none()) - self.assertQuerySetEqual(form.base_fields['ts_group']._get_queryset(), TSgroup.objects.none()) + self.assertQuerySetEqual(AuthTSgroupAdmin(AuthTS, AdminSite()).get_form(request).base_fields['auth_group']._get_queryset(), Group.objects.none()) + self.assertQuerySetEqual(AuthTSgroupAdmin(AuthTS, AdminSite()).get_form(request).base_fields['ts_group']._get_queryset(), TSgroup.objects.none()) From 6fbf33bcdd3ba17ee2a37af7ac095bcc91d05859 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Sat, 3 Jun 2023 17:13:17 +1000 Subject: [PATCH 09/11] update pre-commit --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f8293ab1..5e9e3fde 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -49,7 +49,7 @@ repos: ) - repo: https://github.com/asottile/pyupgrade - rev: v3.3.2 + rev: v3.4.0 hooks: - id: pyupgrade args: [ --py38-plus ] @@ -61,7 +61,7 @@ repos: args: [--target-version=4.2] - repo: https://github.com/asottile/setup-cfg-fmt - rev: v2.2.0 + rev: v2.3.0 hooks: - id: setup-cfg-fmt args: [ --include-version-classifiers ] From f36f824a4bafb96570a2a1c440ff8f9a4103193d Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Sat, 3 Jun 2023 17:13:51 +1000 Subject: [PATCH 10/11] run pre-commit --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 7f653531..44c9dc14 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,7 +7,7 @@ long_description_content_type = text/markdown author = Alliance Auth author_email = adarnof@gmail.com license = GPL-2.0 -license_file = LICENSE +license_files = LICENSE classifiers = Environment :: Web Environment Framework :: Django From 55c188f2d0be72e41209e44758bceeaeb2258733 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Sat, 3 Jun 2023 17:32:30 +1000 Subject: [PATCH 11/11] more docker image bumps --- docker/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index a59d7939..c5d91ca1 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -17,7 +17,7 @@ services: restart: unless-stopped nginx: - image: nginx:1.23 + image: nginx:1.25 restart: always volumes: - ./conf/nginx.conf:/etc/nginx/conf.d/default.conf @@ -52,7 +52,7 @@ services: - auth_mysql grafana: - image: grafana/grafana-oss:9.5.1 + image: grafana/grafana-oss:9.5.2 restart: always depends_on: - auth_mysql