Change EveModels to Integer ID fields

This commit is contained in:
Aaron Kable 2020-06-09 13:10:10 +00:00 committed by Ariel Rin
parent a4befc5e59
commit 7f7500ff0c
12 changed files with 289 additions and 186 deletions

View File

@ -69,33 +69,33 @@ class TestCaseWithTestData(TestCase):
# user 1 - corp and alliance, normal user # user 1 - corp and alliance, normal user
character_1 = EveCharacter.objects.create( character_1 = EveCharacter.objects.create(
character_id='1001', character_id=1001,
character_name='Bruce Wayne', character_name='Bruce Wayne',
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
) )
character_1a = EveCharacter.objects.create( character_1a = EveCharacter.objects.create(
character_id='1002', character_id=1002,
character_name='Batman', character_name='Batman',
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
) )
alliance = EveAllianceInfo.objects.create( alliance = EveAllianceInfo.objects.create(
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
executor_corp_id='2001' executor_corp_id=2001
) )
EveCorporationInfo.objects.create( EveCorporationInfo.objects.create(
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
member_count=42, member_count=42,
@ -169,10 +169,10 @@ class TestCaseWithTestData(TestCase):
alliance=None alliance=None
) )
EveAllianceInfo.objects.create( EveAllianceInfo.objects.create(
alliance_id='3101', alliance_id=3101,
alliance_name='Lex World Domination', alliance_name='Lex World Domination',
alliance_ticker='LWD', alliance_ticker='LWD',
executor_corp_id='' executor_corp_id=2101
) )
cls.user_3 = User.objects.create_user( cls.user_3 = User.objects.create_user(
character_3.character_name.replace(' ', '_'), character_3.character_name.replace(' ', '_'),
@ -510,8 +510,8 @@ class TestUserAdmin(TestCaseWithTestData):
filters = changelist.get_filters(request) filters = changelist.get_filters(request)
filterspec = filters[0][0] filterspec = filters[0][0]
expected = [ expected = [
('2002', 'Daily Planet'), (2002, 'Daily Planet'),
('2001', 'Wayne Technologies'), (2001, 'Wayne Technologies'),
] ]
self.assertEqual(filterspec.lookup_choices, expected) self.assertEqual(filterspec.lookup_choices, expected)
@ -540,7 +540,7 @@ class TestUserAdmin(TestCaseWithTestData):
filters = changelist.get_filters(request) filters = changelist.get_filters(request)
filterspec = filters[0][0] filterspec = filters[0][0]
expected = [ expected = [
('3001', 'Wayne Enterprises'), (3001, 'Wayne Enterprises'),
] ]
self.assertEqual(filterspec.lookup_choices, expected) self.assertEqual(filterspec.lookup_choices, expected)

View File

@ -343,10 +343,10 @@ class CharacterOwnershipCheckTestCase(TestCase):
cls.user = AuthUtils.create_user('test_user', disconnect_signals=True) cls.user = AuthUtils.create_user('test_user', disconnect_signals=True)
AuthUtils.add_main_character(cls.user, 'Test Character', '1', corp_id='1', alliance_id='1', AuthUtils.add_main_character(cls.user, 'Test Character', '1', corp_id='1', alliance_id='1',
corp_name='Test Corp', alliance_name='Test Alliance') corp_name='Test Corp', alliance_name='Test Alliance')
cls.character = EveCharacter.objects.get(character_id='1') cls.character = EveCharacter.objects.get(character_id=1)
cls.token = Token.objects.create( cls.token = Token.objects.create(
user=cls.user, user=cls.user,
character_id='1', character_id=1,
character_name='Test', character_name='Test',
character_owner_hash='1', character_owner_hash='1',
) )

View File

@ -17,9 +17,9 @@ class CorpStatsManagerTestCase(TestCase):
cls.user = AuthUtils.create_user('test') cls.user = AuthUtils.create_user('test')
AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id='2', corp_name='test_corp', corp_ticker='TEST', alliance_id='3', alliance_name='TEST') AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id='2', corp_name='test_corp', corp_ticker='TEST', alliance_id='3', alliance_name='TEST')
cls.user.profile.refresh_from_db() cls.user.profile.refresh_from_db()
cls.alliance = EveAllianceInfo.objects.create(alliance_id='3', alliance_name='test alliance', alliance_ticker='TEST', executor_corp_id='2') cls.alliance = EveAllianceInfo.objects.create(alliance_id=3, alliance_name='test alliance', alliance_ticker='TEST', executor_corp_id=2)
cls.corp = EveCorporationInfo.objects.create(corporation_id='2', corporation_name='test corp', corporation_ticker='TEST', alliance=cls.alliance, member_count=1) cls.corp = EveCorporationInfo.objects.create(corporation_id=2, corporation_name='test corp', corporation_ticker='TEST', alliance=cls.alliance, member_count=1)
cls.token = Token.objects.create(user=cls.user, access_token='a', character_id='1', character_name='test character', character_owner_hash='z') cls.token = Token.objects.create(user=cls.user, access_token='a', character_id=1, character_name='test character', character_owner_hash='z')
cls.corpstats = CorpStats.objects.create(corp=cls.corp, token=cls.token) cls.corpstats = CorpStats.objects.create(corp=cls.corp, token=cls.token)
cls.view_corp_permission = Permission.objects.get_by_natural_key('view_corp_corpstats', 'corputils', 'corpstats') cls.view_corp_permission = Permission.objects.get_by_natural_key('view_corp_corpstats', 'corputils', 'corpstats')
cls.view_alliance_permission = Permission.objects.get_by_natural_key('view_alliance_corpstats', 'corputils', 'corpstats') cls.view_alliance_permission = Permission.objects.get_by_natural_key('view_alliance_corpstats', 'corputils', 'corpstats')
@ -66,9 +66,9 @@ class CorpStatsUpdateTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
cls.user = AuthUtils.create_user('test') cls.user = AuthUtils.create_user('test')
AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id='2', corp_name='test_corp', corp_ticker='TEST', alliance_id='3', alliance_name='TEST') AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id=2, corp_name='test_corp', corp_ticker='TEST', alliance_id=3, alliance_name='TEST')
cls.token = Token.objects.create(user=cls.user, access_token='a', character_id='1', character_name='test character', character_owner_hash='z') cls.token = Token.objects.create(user=cls.user, access_token='a', character_id=1, character_name='test character', character_owner_hash='z')
cls.corp = EveCorporationInfo.objects.create(corporation_id='2', corporation_name='test corp', corporation_ticker='TEST', member_count=1) cls.corp = EveCorporationInfo.objects.create(corporation_id=2, corporation_name='test corp', corporation_ticker='TEST', member_count=1)
def setUp(self): def setUp(self):
self.corpstats = CorpStats.objects.get_or_create(token=self.token, corp=self.corp)[0] self.corpstats = CorpStats.objects.get_or_create(token=self.token, corp=self.corp)[0]
@ -88,11 +88,11 @@ class CorpStatsUpdateTestCase(TestCase):
SwaggerClient.from_spec.return_value.Corporation.get_corporations_corporation_id_members.return_value.result.return_value = [1] SwaggerClient.from_spec.return_value.Corporation.get_corporations_corporation_id_members.return_value.result.return_value = [1]
SwaggerClient.from_spec.return_value.Universe.post_universe_names.return_value.result.return_value = [{'id': 1, 'name': 'test character'}] SwaggerClient.from_spec.return_value.Universe.post_universe_names.return_value.result.return_value = [{'id': 1, 'name': 'test character'}]
self.corpstats.update() self.corpstats.update()
self.assertTrue(CorpMember.objects.filter(character_id='1', character_name='test character', corpstats=self.corpstats).exists()) self.assertTrue(CorpMember.objects.filter(character_id=1, character_name='test character', corpstats=self.corpstats).exists())
@mock.patch('esi.clients.SwaggerClient') @mock.patch('esi.clients.SwaggerClient')
def test_update_remove_member(self, SwaggerClient): def test_update_remove_member(self, SwaggerClient):
CorpMember.objects.create(character_id='2', character_name='old test character', corpstats=self.corpstats) CorpMember.objects.create(character_id=2, character_name='old test character', corpstats=self.corpstats)
SwaggerClient.from_spec.return_value.Character.get_characters_character_id.return_value.result.return_value = {'corporation_id': 2} SwaggerClient.from_spec.return_value.Character.get_characters_character_id.return_value.result.return_value = {'corporation_id': 2}
SwaggerClient.from_spec.return_value.Corporation.get_corporations_corporation_id_members.return_value.result.return_value = [1] SwaggerClient.from_spec.return_value.Corporation.get_corporations_corporation_id_members.return_value.result.return_value = [1]
SwaggerClient.from_spec.return_value.Universe.post_universe_names.return_value.result.return_value = [{'id': 1, 'name': 'test character'}] SwaggerClient.from_spec.return_value.Universe.post_universe_names.return_value.result.return_value = [{'id': 1, 'name': 'test character'}]
@ -130,15 +130,15 @@ class CorpStatsPropertiesTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
cls.user = AuthUtils.create_user('test') cls.user = AuthUtils.create_user('test')
AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id='2', corp_name='test_corp', corp_ticker='TEST', alliance_id='3', alliance_name='TEST') AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id=2, corp_name='test_corp', corp_ticker='TEST', alliance_id=3, alliance_name='TEST')
cls.user.profile.refresh_from_db() cls.user.profile.refresh_from_db()
cls.token = Token.objects.create(user=cls.user, access_token='a', character_id='1', character_name='test character', character_owner_hash='z') cls.token = Token.objects.create(user=cls.user, access_token='a', character_id=1, character_name='test character', character_owner_hash='z')
cls.corp = EveCorporationInfo.objects.create(corporation_id='2', corporation_name='test corp', corporation_ticker='TEST', member_count=1) cls.corp = EveCorporationInfo.objects.create(corporation_id=2, corporation_name='test corp', corporation_ticker='TEST', member_count=1)
cls.corpstats = CorpStats.objects.create(token=cls.token, corp=cls.corp) cls.corpstats = CorpStats.objects.create(token=cls.token, corp=cls.corp)
cls.character = EveCharacter.objects.create(character_name='another test character', character_id='4', corporation_id='2', corporation_name='test corp', corporation_ticker='TEST') cls.character = EveCharacter.objects.create(character_name='another test character', character_id=4, corporation_id=2, corporation_name='test corp', corporation_ticker='TEST')
def test_member_count(self): def test_member_count(self):
member = CorpMember.objects.create(corpstats=self.corpstats, character_id='1', character_name='test character') member = CorpMember.objects.create(corpstats=self.corpstats, character_id=2, character_name='test character')
self.assertEqual(self.corpstats.member_count, 1) self.assertEqual(self.corpstats.member_count, 1)
member.delete() member.delete()
self.assertEqual(self.corpstats.member_count, 0) self.assertEqual(self.corpstats.member_count, 0)
@ -147,7 +147,7 @@ class CorpStatsPropertiesTestCase(TestCase):
AuthUtils.disconnect_signals() AuthUtils.disconnect_signals()
co = CharacterOwnership.objects.create(character=self.character, user=self.user, owner_hash='a') co = CharacterOwnership.objects.create(character=self.character, user=self.user, owner_hash='a')
AuthUtils.connect_signals() AuthUtils.connect_signals()
CorpMember.objects.create(corpstats=self.corpstats, character_id='4', character_name='test character') CorpMember.objects.create(corpstats=self.corpstats, character_id=4, character_name='test character')
self.assertEqual(self.corpstats.user_count, 1) self.assertEqual(self.corpstats.user_count, 1)
co.delete() co.delete()
self.assertEqual(self.corpstats.user_count, 0) self.assertEqual(self.corpstats.user_count, 0)
@ -156,7 +156,8 @@ class CorpStatsPropertiesTestCase(TestCase):
AuthUtils.disconnect_signals() AuthUtils.disconnect_signals()
co = CharacterOwnership.objects.create(character=self.character, user=self.user, owner_hash='a') co = CharacterOwnership.objects.create(character=self.character, user=self.user, owner_hash='a')
AuthUtils.connect_signals() AuthUtils.connect_signals()
member = CorpMember.objects.create(corpstats=self.corpstats, character_id='4', character_name='test character') member = CorpMember.objects.create(corpstats=self.corpstats, character_id=4, character_name='test character')
self.corpstats.refresh_from_db()
self.assertIn(member, self.corpstats.registered_members) self.assertIn(member, self.corpstats.registered_members)
self.assertEqual(self.corpstats.registered_member_count, 1) self.assertEqual(self.corpstats.registered_member_count, 1)
@ -165,7 +166,7 @@ class CorpStatsPropertiesTestCase(TestCase):
self.assertEqual(self.corpstats.registered_member_count, 0) self.assertEqual(self.corpstats.registered_member_count, 0)
def test_unregistered_members(self): def test_unregistered_members(self):
member = CorpMember.objects.create(corpstats=self.corpstats, character_id='4', character_name='test character') member = CorpMember.objects.create(corpstats=self.corpstats, character_id=4, character_name='test character')
self.corpstats.refresh_from_db() self.corpstats.refresh_from_db()
self.assertIn(member, self.corpstats.unregistered_members) self.assertIn(member, self.corpstats.unregistered_members)
self.assertEqual(self.corpstats.unregistered_member_count, 1) self.assertEqual(self.corpstats.unregistered_member_count, 1)
@ -178,13 +179,13 @@ class CorpStatsPropertiesTestCase(TestCase):
def test_mains(self): def test_mains(self):
# test when is a main # test when is a main
member = CorpMember.objects.create(corpstats=self.corpstats, character_id='1', character_name='test character') member = CorpMember.objects.create(corpstats=self.corpstats, character_id=1, character_name='test character')
self.assertIn(member, self.corpstats.mains) self.assertIn(member, self.corpstats.mains)
self.assertEqual(self.corpstats.main_count, 1) self.assertEqual(self.corpstats.main_count, 1)
# test when is an alt # test when is an alt
old_main = self.user.profile.main_character old_main = self.user.profile.main_character
character = EveCharacter.objects.create(character_name='other character', character_id=10, corporation_name='test corp', corporation_id='2', corporation_ticker='TEST') character = EveCharacter.objects.create(character_name='other character', character_id=10, corporation_name='test corp', corporation_id=2, corporation_ticker='TEST')
AuthUtils.disconnect_signals() AuthUtils.disconnect_signals()
co = CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b') co = CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b')
self.user.profile.main_character = character self.user.profile.main_character = character
@ -208,7 +209,7 @@ class CorpStatsPropertiesTestCase(TestCase):
self.assertEqual(self.corpstats.corp_logo(size=128), 'https://images.evetech.net/corporations/2/logo?size=128') self.assertEqual(self.corpstats.corp_logo(size=128), 'https://images.evetech.net/corporations/2/logo?size=128')
self.assertEqual(self.corpstats.alliance_logo(size=128), 'https://images.evetech.net/alliances/1/logo?size=128') self.assertEqual(self.corpstats.alliance_logo(size=128), 'https://images.evetech.net/alliances/1/logo?size=128')
alliance = EveAllianceInfo.objects.create(alliance_name='test alliance', alliance_id='3', alliance_ticker='TEST', executor_corp_id='2') alliance = EveAllianceInfo.objects.create(alliance_name='test alliance', alliance_id=3, alliance_ticker='TEST', executor_corp_id=2)
self.corp.alliance = alliance self.corp.alliance = alliance
self.corp.save() self.corp.save()
self.assertEqual(self.corpstats.alliance_logo(size=128), 'https://images.evetech.net/alliances/3/logo?size=128') self.assertEqual(self.corpstats.alliance_logo(size=128), 'https://images.evetech.net/alliances/3/logo?size=128')
@ -221,14 +222,14 @@ class CorpMemberTestCase(TestCase):
cls.user = AuthUtils.create_user('test') cls.user = AuthUtils.create_user('test')
AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id='2', corp_name='test_corp', corp_ticker='TEST', alliance_id='3', alliance_name='TEST') AuthUtils.add_main_character(cls.user, 'test character', '1', corp_id='2', corp_name='test_corp', corp_ticker='TEST', alliance_id='3', alliance_name='TEST')
cls.user.profile.refresh_from_db() cls.user.profile.refresh_from_db()
cls.token = Token.objects.create(user=cls.user, access_token='a', character_id='1', character_name='test character', character_owner_hash='a') cls.token = Token.objects.create(user=cls.user, access_token='a', character_id=1, character_name='test character', character_owner_hash='a')
cls.corp = EveCorporationInfo.objects.create(corporation_id='2', corporation_name='test corp', corporation_ticker='TEST', member_count=1) cls.corp = EveCorporationInfo.objects.create(corporation_id=2, corporation_name='test corp', corporation_ticker='TEST', member_count=1)
cls.corpstats = CorpStats.objects.create(token=cls.token, corp=cls.corp) cls.corpstats = CorpStats.objects.create(token=cls.token, corp=cls.corp)
cls.member = CorpMember.objects.create(corpstats=cls.corpstats, character_id='2', character_name='other test character') cls.member = CorpMember.objects.create(corpstats=cls.corpstats, character_id=2, character_name='other test character')
def test_character(self): def test_character(self):
self.assertIsNone(self.member.character) self.assertIsNone(self.member.character)
character = EveCharacter.objects.create(character_id='2', character_name='other test character', corporation_id='2', corporation_name='test corp', corporation_ticker='TEST') character = EveCharacter.objects.create(character_id=2, character_name='other test character', corporation_id=2, corporation_name='test corp', corporation_ticker='TEST')
self.assertEqual(self.member.character, character) self.assertEqual(self.member.character, character)
def test_main_character(self): def test_main_character(self):
@ -238,7 +239,7 @@ class CorpMemberTestCase(TestCase):
self.assertIsNone(self.member.main_character) self.assertIsNone(self.member.main_character)
# test when member.character is not None but also not a main # test when member.character is not None but also not a main
character = EveCharacter.objects.create(character_id='2', character_name='other test character', corporation_id='2', corporation_name='test corp', corporation_ticker='TEST') character = EveCharacter.objects.create(character_id=2, character_name='other test character', corporation_id=2, corporation_name='test corp', corporation_ticker='TEST')
CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b') CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b')
self.member.refresh_from_db() self.member.refresh_from_db()
self.assertNotEqual(self.member.main_character, self.member.character) self.assertNotEqual(self.member.main_character, self.member.character)
@ -260,14 +261,14 @@ class CorpMemberTestCase(TestCase):
def test_alts(self): def test_alts(self):
self.assertListEqual(self.member.alts, []) self.assertListEqual(self.member.alts, [])
character = EveCharacter.objects.create(character_id='2', character_name='other test character', corporation_id='2', corporation_name='test corp', corporation_ticker='TEST') character = EveCharacter.objects.create(character_id=2, character_name='other test character', corporation_id=2, corporation_name='test corp', corporation_ticker='TEST')
CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b') CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b')
self.assertIn(character, self.member.alts) self.assertIn(character, self.member.alts)
def test_registered(self): def test_registered(self):
self.assertFalse(self.member.registered) self.assertFalse(self.member.registered)
AuthUtils.disconnect_signals() AuthUtils.disconnect_signals()
character = EveCharacter.objects.create(character_id='2', character_name='other test character', corporation_id='2', corporation_name='test corp', corporation_ticker='TEST') character = EveCharacter.objects.create(character_id=2, character_name='other test character', corporation_id=2, corporation_name='test corp', corporation_ticker='TEST')
CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b') CharacterOwnership.objects.create(character=character, user=self.user, owner_hash='b')
self.assertTrue(self.member.registered) self.assertTrue(self.member.registered)
AuthUtils.connect_signals() AuthUtils.connect_signals()

View File

@ -0,0 +1,43 @@
# Generated by Django 2.2.12 on 2020-05-25 02:28
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('eveonline', '0010_alliance_ticker'),
]
operations = [
migrations.AlterField(
model_name='eveallianceinfo',
name='alliance_id',
field=models.PositiveIntegerField(unique=True),
),
migrations.AlterField(
model_name='eveallianceinfo',
name='executor_corp_id',
field=models.PositiveIntegerField(),
),
migrations.AlterField(
model_name='evecharacter',
name='alliance_id',
field=models.PositiveIntegerField(blank=True, default=None, null=True),
),
migrations.AlterField(
model_name='evecharacter',
name='character_id',
field=models.PositiveIntegerField(unique=True),
),
migrations.AlterField(
model_name='evecharacter',
name='corporation_id',
field=models.PositiveIntegerField(),
),
migrations.AlterField(
model_name='evecorporationinfo',
name='corporation_id',
field=models.PositiveIntegerField(unique=True),
),
]

View File

@ -0,0 +1,33 @@
# Generated by Django 2.2.12 on 2020-05-26 02:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('eveonline', '0011_ids_to_integers'),
]
operations = [
migrations.AddIndex(
model_name='eveallianceinfo',
index=models.Index(fields=['executor_corp_id'], name='eveonline_e_executo_7f3280_idx'),
),
migrations.AddIndex(
model_name='evecharacter',
index=models.Index(fields=['corporation_id'], name='eveonline_e_corpora_cb4cd9_idx'),
),
migrations.AddIndex(
model_name='evecharacter',
index=models.Index(fields=['alliance_id'], name='eveonline_e_allianc_39ee2a_idx'),
),
migrations.AddIndex(
model_name='evecharacter',
index=models.Index(fields=['corporation_name'], name='eveonline_e_corpora_893c60_idx'),
),
migrations.AddIndex(
model_name='evecharacter',
index=models.Index(fields=['alliance_name'], name='eveonline_e_allianc_63fd98_idx'),
),
]

View File

@ -11,14 +11,17 @@ _DEFAULT_IMAGE_SIZE = 32
class EveAllianceInfo(models.Model): class EveAllianceInfo(models.Model):
alliance_id = models.CharField(max_length=254, unique=True) alliance_id = models.PositiveIntegerField(unique=True)
alliance_name = models.CharField(max_length=254, unique=True) alliance_name = models.CharField(max_length=254, unique=True)
alliance_ticker = models.CharField(max_length=254) alliance_ticker = models.CharField(max_length=254)
executor_corp_id = models.CharField(max_length=254) executor_corp_id = models.PositiveIntegerField()
objects = EveAllianceManager() objects = EveAllianceManager()
provider = EveAllianceProviderManager() provider = EveAllianceProviderManager()
class Meta:
indexes = [models.Index(fields=['executor_corp_id',])]
def populate_alliance(self): def populate_alliance(self):
alliance = self.provider.get_alliance(self.alliance_id) alliance = self.provider.get_alliance(self.alliance_id)
for corp_id in alliance.corp_ids: for corp_id in alliance.corp_ids:
@ -75,7 +78,7 @@ class EveAllianceInfo(models.Model):
class EveCorporationInfo(models.Model): class EveCorporationInfo(models.Model):
corporation_id = models.CharField(max_length=254, unique=True) corporation_id = models.PositiveIntegerField(unique=True)
corporation_name = models.CharField(max_length=254, unique=True) corporation_name = models.CharField(max_length=254, unique=True)
corporation_ticker = models.CharField(max_length=254) corporation_ticker = models.CharField(max_length=254)
member_count = models.IntegerField() member_count = models.IntegerField()
@ -133,18 +136,26 @@ class EveCorporationInfo(models.Model):
class EveCharacter(models.Model): class EveCharacter(models.Model):
character_id = models.CharField(max_length=254, unique=True) character_id = models.PositiveIntegerField(unique=True)
character_name = models.CharField(max_length=254, unique=True) character_name = models.CharField(max_length=254, unique=True)
corporation_id = models.CharField(max_length=254) corporation_id = models.PositiveIntegerField()
corporation_name = models.CharField(max_length=254) corporation_name = models.CharField(max_length=254)
corporation_ticker = models.CharField(max_length=5) corporation_ticker = models.CharField(max_length=5)
alliance_id = models.CharField(max_length=254, blank=True, null=True, default='') alliance_id = models.PositiveIntegerField(blank=True, null=True, default=None)
alliance_name = models.CharField(max_length=254, blank=True, null=True, default='') alliance_name = models.CharField(max_length=254, blank=True, null=True, default='')
alliance_ticker = models.CharField(max_length=5, blank=True, null=True, default='') alliance_ticker = models.CharField(max_length=5, blank=True, null=True, default='')
objects = EveCharacterManager() objects = EveCharacterManager()
provider = EveCharacterProviderManager() provider = EveCharacterProviderManager()
class Meta:
indexes = [
models.Index(fields=['corporation_id',]),
models.Index(fields=['alliance_id',]),
models.Index(fields=['corporation_name',]),
models.Index(fields=['alliance_name',]),
]
@property @property
def alliance(self) -> Union[EveAllianceInfo, None]: def alliance(self) -> Union[EveAllianceInfo, None]:
""" """

View File

@ -12,7 +12,7 @@ class EveCharacterProviderManagerTestCase(TestCase):
expected = Character() expected = Character()
provider.get_character.return_value = expected provider.get_character.return_value = expected
result = EveCharacter.provider.get_character('1234') result = EveCharacter.provider.get_character(1234)
self.assertEqual(expected, result) self.assertEqual(expected, result)
@ -22,30 +22,30 @@ class EveCharacterManagerTestCase(TestCase):
class TestCharacter(Character): class TestCharacter(Character):
@property @property
def alliance(self): def alliance(self):
return Alliance(id='3456', name='Test Alliance') return Alliance(id=3456, name='Test Alliance')
@property @property
def corp(self): def corp(self):
return Corporation( return Corporation(
id='2345', id=2345,
name='Test Corp', name='Test Corp',
alliance_id='3456', alliance_id=3456,
ticker='0BUGS' ticker='0BUGS' #lies, blatant lies!
) )
@mock.patch('allianceauth.eveonline.managers.providers.provider') @mock.patch('allianceauth.eveonline.managers.providers.provider')
def test_create_character(self, provider): def test_create_character(self, provider):
# Also covers create_character_obj # Also covers create_character_obj
expected = self.TestCharacter( expected = self.TestCharacter(
id='1234', id=1234,
name='Test Character', name='Test Character',
corp_id='2345', corp_id=2345,
alliance_id='3456' alliance_id=3456
) )
provider.get_character.return_value = expected provider.get_character.return_value = expected
result = EveCharacter.objects.create_character('1234') result = EveCharacter.objects.create_character(1234)
self.assertEqual(result.character_id, expected.id) self.assertEqual(result.character_id, expected.id)
self.assertEqual(result.character_name, expected.name) self.assertEqual(result.character_name, expected.name)
@ -58,22 +58,25 @@ class EveCharacterManagerTestCase(TestCase):
@mock.patch('allianceauth.eveonline.managers.providers.provider') @mock.patch('allianceauth.eveonline.managers.providers.provider')
def test_update_character(self, provider): def test_update_character(self, provider):
# Also covers Model.update_character # Also covers Model.update_character
EveCharacter.objects.create( existing = EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='character.corp.id', corporation_id=23457,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
alliance_id='character.alliance.id', alliance_id=34567,
alliance_name='character.alliance.name', alliance_name='character.alliance.name',
) )
expected = self.TestCharacter( expected = self.TestCharacter(
id='1234', name='Test Character', corp_id='2345', alliance_id='3456' id=1234,
name='Test Character',
corp_id=2345,
alliance_id=3456
) )
provider.get_character.return_value = expected provider.get_character.return_value = expected
result = EveCharacter.objects.update_character('1234') result = EveCharacter.objects.update_character(1234)
self.assertEqual(result.character_id, expected.id) self.assertEqual(result.character_id, expected.id)
self.assertEqual(result.character_name, expected.name) self.assertEqual(result.character_name, expected.name)
@ -86,23 +89,23 @@ class EveCharacterManagerTestCase(TestCase):
def test_get_character_by_id(self): def test_get_character_by_id(self):
EveCharacter.objects.all().delete() EveCharacter.objects.all().delete()
EveCharacter.objects.create( EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='character.corp.id', corporation_id=2345,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
alliance_id='character.alliance.id', alliance_id=3456,
alliance_name='character.alliance.name', alliance_name='character.alliance.name',
) )
# try to get existing character # try to get existing character
result = EveCharacter.objects.get_character_by_id('1234') result = EveCharacter.objects.get_character_by_id(1234)
self.assertEqual(result.character_id, '1234') self.assertEqual(result.character_id, 1234)
self.assertEqual(result.character_name, 'character.name') self.assertEqual(result.character_name, 'character.name')
# try to get non existing character # try to get non existing character
self.assertIsNone(EveCharacter.objects.get_character_by_id('9999')) self.assertIsNone(EveCharacter.objects.get_character_by_id(9999))
class EveAllianceProviderManagerTestCase(TestCase): class EveAllianceProviderManagerTestCase(TestCase):
@ -111,7 +114,7 @@ class EveAllianceProviderManagerTestCase(TestCase):
expected = Alliance() expected = Alliance()
provider.get_alliance.return_value = expected provider.get_alliance.return_value = expected
result = EveAllianceInfo.provider.get_alliance('1234') result = EveAllianceInfo.provider.get_alliance(1234)
self.assertEqual(expected, result) self.assertEqual(expected, result)
@ -127,16 +130,16 @@ class EveAllianceManagerTestCase(TestCase):
def test_create_alliance(self, provider, populate_alliance): def test_create_alliance(self, provider, populate_alliance):
# Also covers create_alliance_obj # Also covers create_alliance_obj
expected = self.TestAlliance( expected = self.TestAlliance(
id='3456', id=3456,
name='Test Alliance', name='Test Alliance',
ticker='TEST', ticker='TEST',
corp_ids=['2345'], corp_ids=[2345],
executor_corp_id='2345' executor_corp_id=2345
) )
provider.get_alliance.return_value = expected provider.get_alliance.return_value = expected
result = EveAllianceInfo.objects.create_alliance('3456') result = EveAllianceInfo.objects.create_alliance(3456)
self.assertEqual(result.alliance_id, expected.id) self.assertEqual(result.alliance_id, expected.id)
self.assertEqual(result.alliance_name, expected.name) self.assertEqual(result.alliance_name, expected.name)
@ -148,22 +151,22 @@ class EveAllianceManagerTestCase(TestCase):
def test_update_alliance(self, provider): def test_update_alliance(self, provider):
# Also covers Model.update_alliance # Also covers Model.update_alliance
EveAllianceInfo.objects.create( EveAllianceInfo.objects.create(
alliance_id='3456', alliance_id=3456,
alliance_name='alliance.name', alliance_name='alliance.name',
alliance_ticker='alliance.ticker', alliance_ticker='at1',
executor_corp_id='alliance.executor_corp_id', executor_corp_id=2345,
) )
expected = self.TestAlliance( expected = self.TestAlliance(
id='3456', id=3456,
name='Test Alliance', name='Test Alliance',
ticker='TEST', ticker='TEST',
corp_ids=['2345'], corp_ids=[2345],
executor_corp_id='2345' executor_corp_id=2345
) )
provider.get_alliance.return_value = expected provider.get_alliance.return_value = expected
result = EveAllianceInfo.objects.update_alliance('3456') result = EveAllianceInfo.objects.update_alliance(3456)
# This is the only thing ever updated in code # This is the only thing ever updated in code
self.assertEqual(result.executor_corp_id, expected.executor_corp_id) self.assertEqual(result.executor_corp_id, expected.executor_corp_id)
@ -175,7 +178,7 @@ class EveCorporationProviderManagerTestCase(TestCase):
expected = Corporation() expected = Corporation()
provider.get_corp.return_value = expected provider.get_corp.return_value = expected
result = EveCorporationInfo.provider.get_corporation('2345') result = EveCorporationInfo.provider.get_corporation(2345)
self.assertEqual(expected, result) self.assertEqual(expected, result)
@ -186,39 +189,39 @@ class EveCorporationManagerTestCase(TestCase):
@property @property
def alliance(self): def alliance(self):
return EveAllianceManagerTestCase.TestAlliance( return EveAllianceManagerTestCase.TestAlliance(
id='3456', id=3456,
name='Test Alliance', name='Test Alliance',
ticker='TEST', ticker='TEST',
corp_ids=['2345'], corp_ids=[2345],
executor_corp_id='2345' executor_corp_id=2345
) )
@property @property
def ceo(self): def ceo(self):
return EveCharacterManagerTestCase.TestCharacter( return EveCharacterManagerTestCase.TestCharacter(
id='1234', id=1234,
name='Test Character', name='Test Character',
corp_id='2345', corp_id=2345,
alliance_id='3456' alliance_id=3456
) )
@mock.patch('allianceauth.eveonline.managers.providers.provider') @mock.patch('allianceauth.eveonline.managers.providers.provider')
def test_create_corporation(self, provider): def test_create_corporation(self, provider):
# Also covers create_corp_obj # Also covers create_corp_obj
exp_alliance = EveAllianceInfo.objects.create( exp_alliance = EveAllianceInfo.objects.create(
alliance_id='3456', alliance_id=3456,
alliance_name='alliance.name', alliance_name='alliance.name',
alliance_ticker='alliance.ticker', alliance_ticker='99bug',
executor_corp_id='alliance.executor_corp_id', executor_corp_id=2345,
) )
expected = self.TestCorporation( expected = self.TestCorporation(
id='2345', id=2345,
name='Test Corp', name='Test Corp',
ticker='0BUGS', ticker='0BUGS',
ceo_id='1234', ceo_id=1234,
members=1, members=1,
alliance_id='3456' alliance_id=3456
) )
provider.get_corp.return_value = expected provider.get_corp.return_value = expected
@ -236,17 +239,17 @@ class EveCorporationManagerTestCase(TestCase):
# variant to test no alliance case # variant to test no alliance case
# Also covers create_corp_obj # Also covers create_corp_obj
expected = self.TestCorporation( expected = self.TestCorporation(
id='2345', id=2345,
name='Test Corp', name='Test Corp',
ticker='0BUGS', ticker='0BUGS',
ceo_id='1234', ceo_id=1234,
members=1, members=1,
alliance_id='3456' alliance_id=3456
) )
provider.get_corp.return_value = expected provider.get_corp.return_value = expected
result = EveCorporationInfo.objects.create_corporation('2345') result = EveCorporationInfo.objects.create_corporation(2345)
self.assertEqual(result.corporation_id, expected.id) self.assertEqual(result.corporation_id, expected.id)
self.assertEqual(result.corporation_name, expected.name) self.assertEqual(result.corporation_name, expected.name)
@ -258,27 +261,27 @@ class EveCorporationManagerTestCase(TestCase):
def test_update_corporation(self, provider): def test_update_corporation(self, provider):
# Also covers Model.update_corporation # Also covers Model.update_corporation
exp_alliance = EveAllianceInfo.objects.create( exp_alliance = EveAllianceInfo.objects.create(
alliance_id='3456', alliance_id=3456,
alliance_name='alliance.name', alliance_name='alliance.name',
alliance_ticker='alliance.ticker', alliance_ticker='at1',
executor_corp_id='alliance.executor_corp_id', executor_corp_id=2345,
) )
EveCorporationInfo.objects.create( EveCorporationInfo.objects.create(
corporation_id='2345', corporation_id=2345,
corporation_name='corp.name', corporation_name='corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
member_count=10, member_count=10,
alliance=None, alliance=None,
) )
expected = self.TestCorporation( expected = self.TestCorporation(
id='2345', id=2345,
name='Test Corp', name='Test Corp',
ticker='0BUGS', ticker='0BUGS',
ceo_id='1234', ceo_id=1234,
members=1, members=1,
alliance_id='3456' alliance_id=3456
) )
provider.get_corp.return_value = expected provider.get_corp.return_value = expected

View File

@ -15,27 +15,27 @@ class EveCharacterTestCase(TestCase):
Test that the correct corporation is returned by the corporation property Test that the correct corporation is returned by the corporation property
""" """
character = EveCharacter.objects.create( character = EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='2345', corporation_id=2345,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
alliance_id='character.alliance.id', alliance_id=12345,
alliance_name='character.alliance.name', alliance_name='character.alliance.name',
) )
expected = EveCorporationInfo.objects.create( expected = EveCorporationInfo.objects.create(
corporation_id='2345', corporation_id=2345,
corporation_name='corp.name', corporation_name='corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
member_count=10, member_count=10,
alliance=None, alliance=None,
) )
incorrect = EveCorporationInfo.objects.create( incorrect = EveCorporationInfo.objects.create(
corporation_id='9999', corporation_id=9999,
corporation_name='corp.name1', corporation_name='corp.name1',
corporation_ticker='abc1', corporation_ticker='cc11',
member_count=10, member_count=10,
alliance=None, alliance=None,
) )
@ -49,12 +49,12 @@ class EveCharacterTestCase(TestCase):
object is not in the database object is not in the database
""" """
character = EveCharacter.objects.create( character = EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='2345', corporation_id=2345,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
alliance_id='character.alliance.id', alliance_id=123456,
alliance_name='character.alliance.name', alliance_name='character.alliance.name',
) )
@ -66,27 +66,27 @@ class EveCharacterTestCase(TestCase):
Test that the correct alliance is returned by the alliance property Test that the correct alliance is returned by the alliance property
""" """
character = EveCharacter.objects.create( character = EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='2345', corporation_id=2345,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
alliance_id='3456', alliance_id=3456,
alliance_name='character.alliance.name', alliance_name='character.alliance.name',
) )
expected = EveAllianceInfo.objects.create( expected = EveAllianceInfo.objects.create(
alliance_id='3456', alliance_id=3456,
alliance_name='alliance.name', alliance_name='alliance.name',
alliance_ticker='alliance.ticker', alliance_ticker='ac2',
executor_corp_id='alliance.executor_corp_id', executor_corp_id=2345,
) )
incorrect = EveAllianceInfo.objects.create( incorrect = EveAllianceInfo.objects.create(
alliance_id='9001', alliance_id=9001,
alliance_name='alliance.name1', alliance_name='alliance.name1',
alliance_ticker='alliance.ticker1', alliance_ticker='ac1',
executor_corp_id='alliance.executor_corp_id1', executor_corp_id=2654,
) )
self.assertEqual(character.alliance, expected) self.assertEqual(character.alliance, expected)
@ -98,12 +98,12 @@ class EveCharacterTestCase(TestCase):
object is not in the database object is not in the database
""" """
character = EveCharacter.objects.create( character = EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='2345', corporation_id=2345,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
alliance_id='3456', alliance_id=3456,
alliance_name='character.alliance.name', alliance_name='character.alliance.name',
) )
@ -115,11 +115,11 @@ class EveCharacterTestCase(TestCase):
Check that None is returned when the character has no alliance Check that None is returned when the character has no alliance
""" """
character = EveCharacter.objects.create( character = EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='2345', corporation_id=2345,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='abc', corporation_ticker='cc1',
alliance_id=None, alliance_id=None,
alliance_name=None, alliance_name=None,
) )
@ -137,12 +137,12 @@ class EveCharacterTestCase(TestCase):
) )
my_character = EveCharacter.objects.create( my_character = EveCharacter.objects.create(
character_id='1001', character_id=1001,
character_name='Bruce Wayne', character_name='Bruce Wayne',
corporation_id='2001', corporation_id=2001,
corporation_name='Dummy Corp 1', corporation_name='Dummy Corp 1',
corporation_ticker='DC1', corporation_ticker='DC1',
alliance_id='3001', alliance_id=3001,
alliance_name='Dummy Alliance 1', alliance_name='Dummy Alliance 1',
) )
my_updated_character = Character( my_updated_character = Character(
@ -166,9 +166,9 @@ class EveCharacterTestCase(TestCase):
def test_portrait_urls(self): def test_portrait_urls(self):
x = EveCharacter( x = EveCharacter(
character_id='42', character_id=42,
character_name='character.name', character_name='character.name',
corporation_id='123', corporation_id=123,
corporation_name='corporation.name', corporation_name='corporation.name',
corporation_ticker='ABC', corporation_ticker='ABC',
) )
@ -199,9 +199,9 @@ class EveCharacterTestCase(TestCase):
def test_corporation_logo_urls(self): def test_corporation_logo_urls(self):
x = EveCharacter( x = EveCharacter(
character_id='42', character_id=42,
character_name='character.name', character_name='character.name',
corporation_id='123', corporation_id=123,
corporation_name='corporation.name', corporation_name='corporation.name',
corporation_ticker='ABC', corporation_ticker='ABC',
) )
@ -232,9 +232,9 @@ class EveCharacterTestCase(TestCase):
def test_alliance_logo_urls(self): def test_alliance_logo_urls(self):
x = EveCharacter( x = EveCharacter(
character_id='42', character_id=42,
character_name='character.name', character_name='character.name',
corporation_id='123', corporation_id=123,
corporation_name='corporation.name', corporation_name='corporation.name',
corporation_ticker='ABC', corporation_ticker='ABC',
) )
@ -405,10 +405,10 @@ class EveAllianceTestCase(TestCase):
def test_logo_url(self): def test_logo_url(self):
x = EveAllianceInfo( x = EveAllianceInfo(
alliance_id='42', alliance_id=42,
alliance_name='alliance.name', alliance_name='alliance.name',
alliance_ticker='ABC', alliance_ticker='ABC',
executor_corp_id='123' executor_corp_id=123
) )
self.assertEqual( self.assertEqual(
x.logo_url(), x.logo_url(),

View File

@ -58,25 +58,25 @@ class TestTasks(TestCase):
EveCharacter.objects.all().delete() EveCharacter.objects.all().delete()
EveCorporationInfo.objects.create( EveCorporationInfo.objects.create(
corporation_id='2345', corporation_id=2345,
corporation_name='corp.name', corporation_name='corp.name',
corporation_ticker='corp.ticker', corporation_ticker='corp.ticker',
member_count=10, member_count=10,
alliance=None, alliance=None,
) )
EveAllianceInfo.objects.create( EveAllianceInfo.objects.create(
alliance_id='3456', alliance_id=3456,
alliance_name='alliance.name', alliance_name='alliance.name',
alliance_ticker='alliance.ticker', alliance_ticker='alliance.ticker',
executor_corp_id='alliance.executor_corp_id', executor_corp_id='78910',
) )
EveCharacter.objects.create( EveCharacter.objects.create(
character_id='1234', character_id=1234,
character_name='character.name', character_name='character.name',
corporation_id='character.corp.id', corporation_id=2345,
corporation_name='character.corp.name', corporation_name='character.corp.name',
corporation_ticker='c.c.t', # max 5 chars corporation_ticker='c.c.t', # max 5 chars
alliance_id='character.alliance.id', alliance_id=3456,
alliance_name='character.alliance.name', alliance_name='character.alliance.name',
) )

View File

@ -88,33 +88,33 @@ class TestGroupAdmin(TestCase):
# user 1 - corp and alliance, normal user # user 1 - corp and alliance, normal user
cls.character_1 = EveCharacter.objects.create( cls.character_1 = EveCharacter.objects.create(
character_id='1001', character_id=1001,
character_name='Bruce Wayne', character_name='Bruce Wayne',
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
) )
cls.character_1a = EveCharacter.objects.create( cls.character_1a = EveCharacter.objects.create(
character_id='1002', character_id=1002,
character_name='Batman', character_name='Batman',
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
) )
alliance = EveAllianceInfo.objects.create( alliance = EveAllianceInfo.objects.create(
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
executor_corp_id='2001' executor_corp_id=2001
) )
EveCorporationInfo.objects.create( EveCorporationInfo.objects.create(
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
member_count=42, member_count=42,
@ -189,10 +189,10 @@ class TestGroupAdmin(TestCase):
alliance=None alliance=None
) )
EveAllianceInfo.objects.create( EveAllianceInfo.objects.create(
alliance_id='3101', alliance_id=3101,
alliance_name='Lex World Domination', alliance_name='Lex World Domination',
alliance_ticker='LWD', alliance_ticker='LWD',
executor_corp_id='' executor_corp_id=2101
) )
cls.user_3 = User.objects.create_user( cls.user_3 = User.objects.create_user(
cls.character_3.character_name.replace(' ', '_'), cls.character_3.character_name.replace(' ', '_'),

View File

@ -34,33 +34,33 @@ class TestDataMixin(TestCase):
# user 1 - corp and alliance, normal user # user 1 - corp and alliance, normal user
cls.character_1 = EveCharacter.objects.create( cls.character_1 = EveCharacter.objects.create(
character_id='1001', character_id=1001,
character_name='Bruce Wayne', character_name='Bruce Wayne',
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
) )
cls.character_1a = EveCharacter.objects.create( cls.character_1a = EveCharacter.objects.create(
character_id='1002', character_id=1002,
character_name='Batman', character_name='Batman',
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
) )
alliance = EveAllianceInfo.objects.create( alliance = EveAllianceInfo.objects.create(
alliance_id='3001', alliance_id=3001,
alliance_name='Wayne Enterprises', alliance_name='Wayne Enterprises',
alliance_ticker='WE', alliance_ticker='WE',
executor_corp_id='2001' executor_corp_id=2001
) )
EveCorporationInfo.objects.create( EveCorporationInfo.objects.create(
corporation_id='2001', corporation_id=2001,
corporation_name='Wayne Technologies', corporation_name='Wayne Technologies',
corporation_ticker='WT', corporation_ticker='WT',
member_count=42, member_count=42,
@ -141,10 +141,10 @@ class TestDataMixin(TestCase):
alliance=None alliance=None
) )
EveAllianceInfo.objects.create( EveAllianceInfo.objects.create(
alliance_id='3101', alliance_id=3101,
alliance_name='Lex World Domination', alliance_name='Lex World Domination',
alliance_ticker='LWD', alliance_ticker='LWD',
executor_corp_id='' executor_corp_id=2101
) )
cls.user_3 = User.objects.create_user( cls.user_3 = User.objects.create_user(
cls.character_3.character_name.replace(' ', '_'), cls.character_3.character_name.replace(' ', '_'),
@ -245,8 +245,8 @@ class TestFilters(TestDataMixin, TestCase):
filters = changelist.get_filters(request) filters = changelist.get_filters(request)
filterspec = filters[0][0] filterspec = filters[0][0]
expected = [ expected = [
('2002', 'Daily Planet'), (2002, 'Daily Planet'),
('2001', 'Wayne Technologies'), (2001, 'Wayne Technologies'),
] ]
self.assertEqual(filterspec.lookup_choices, expected) self.assertEqual(filterspec.lookup_choices, expected)
@ -274,7 +274,7 @@ class TestFilters(TestDataMixin, TestCase):
filters = changelist.get_filters(request) filters = changelist.get_filters(request)
filterspec = filters[0][0] filterspec = filters[0][0]
expected = [ expected = [
('3001', 'Wayne Enterprises'), (3001, 'Wayne Enterprises'),
] ]
self.assertEqual(filterspec.lookup_choices, expected) self.assertEqual(filterspec.lookup_choices, expected)

View File

@ -141,12 +141,18 @@ class AuthUtils:
post_save.connect(check_state_on_character_update, sender=EveCharacter) post_save.connect(check_state_on_character_update, sender=EveCharacter)
@classmethod @classmethod
def add_main_character(cls, user, name, character_id, corp_id='', corp_name='', corp_ticker='', alliance_id='', def add_main_character(cls, user, name, character_id, corp_id=2345, corp_name='', corp_ticker='', alliance_id=None,
alliance_name=''): alliance_name=''):
if alliance_id:
try:
alliance_id = int(alliance_id)
except:
alliance_id = None
char = EveCharacter.objects.create( char = EveCharacter.objects.create(
character_id=character_id, character_id=int(character_id),
character_name=name, character_name=name,
corporation_id=corp_id, corporation_id=int(corp_id),
corporation_name=corp_name, corporation_name=corp_name,
corporation_ticker=corp_ticker, corporation_ticker=corp_ticker,
alliance_id=alliance_id, alliance_id=alliance_id,
@ -160,10 +166,10 @@ class AuthUtils:
user, user,
name, name,
character_id, character_id,
corp_id='', corp_id=2345,
corp_name='', corp_name='',
corp_ticker='', corp_ticker='',
alliance_id='', alliance_id=None,
alliance_name='', alliance_name='',
disconnect_signals=False disconnect_signals=False
): ):
@ -171,10 +177,16 @@ class AuthUtils:
if disconnect_signals: if disconnect_signals:
cls.disconnect_signals() cls.disconnect_signals()
if alliance_id:
try:
alliance_id = int(alliance_id)
except:
alliance_id = None
char = EveCharacter.objects.create( char = EveCharacter.objects.create(
character_id=character_id, character_id=int(character_id),
character_name=name, character_name=name,
corporation_id=corp_id, corporation_id=int(corp_id),
corporation_name=corp_name, corporation_name=corp_name,
corporation_ticker=corp_ticker, corporation_ticker=corp_ticker,
alliance_id=alliance_id, alliance_id=alliance_id,