Add authutil for creating groups with authgroups.

This commit is contained in:
colcrunch 2021-07-13 09:13:17 -04:00
parent eaa1cde01a
commit 15db817382
2 changed files with 30 additions and 1 deletions

View File

@ -25,6 +25,7 @@ from allianceauth.services.signals import (
process_main_character_change,
process_main_character_update
)
from allianceauth.groupmanagement.models import AuthGroup
class AuthUtils:
@ -69,6 +70,28 @@ class AuthUtils:
cls.connect_signals()
return state
@classmethod
def _create_group(cls, group_name):
group = Group.objects.create(name=group_name)
AuthGroup.objects.create(group=group)
return group
@classmethod
def create_group(cls, group_name, disconnect_signals=False):
"""
Create a new group and its authgroup.
Args:
group_name: name of the group
disconnect_signals: whether or not to run without signals.
"""
if disconnect_signals:
cls.disconnect_signals()
group = cls._create_group(group_name)
if disconnect_signals:
cls.connect_signals()
return group
@classmethod
def get_member_state(cls):
try:

View File

@ -6,6 +6,7 @@ from django.test import TestCase
from allianceauth.eveonline.models import (
EveCorporationInfo, EveAllianceInfo, EveCharacter
)
from allianceauth.groupmanagement.models import AuthGroup
from .auth_utils import AuthUtils
@ -16,6 +17,11 @@ class TestAuthUtils(TestCase):
user = AuthUtils.create_user('Bruce Wayne')
self.assertTrue(User.objects.filter(username='Bruce Wayne').exists())
def test_can_create_group(self):
group = AuthUtils.create_group('Test Group')
self.assertTrue(Group.objects.filter(name='Test Group').exists())
self.assertTrue(AuthGroup.objects.filter(group=group).exists())
def test_can_add_main_character_2(self):
user = AuthUtils.create_user('Bruce Wayne')
character = AuthUtils.add_main_character_2(