remove trailing whitespaces

This commit is contained in:
Peter Pfeufer
2021-05-17 09:46:11 +02:00
parent 10bd77d761
commit 8c3df89d52
146 changed files with 2088 additions and 2061 deletions

View File

@@ -97,7 +97,7 @@ class EveAllianceForm(EveEntityForm):
@admin.register(EveCorporationInfo)
class EveCorporationInfoAdmin(admin.ModelAdmin):
search_fields = ['corporation_name']
list_display = ('corporation_name', 'alliance')
list_display = ('corporation_name', 'alliance')
list_select_related = ('alliance',)
list_filter = (('alliance', admin.RelatedOnlyFieldListFilter),)
ordering = ('corporation_name',)
@@ -114,9 +114,9 @@ class EveCorporationInfoAdmin(admin.ModelAdmin):
@admin.register(EveAllianceInfo)
class EveAllianceInfoAdmin(admin.ModelAdmin):
search_fields = ['alliance_name']
list_display = ('alliance_name',)
list_display = ('alliance_name',)
ordering = ('alliance_name',)
def has_change_permission(self, request, obj=None):
return False
@@ -129,9 +129,9 @@ class EveAllianceInfoAdmin(admin.ModelAdmin):
@admin.register(EveCharacter)
class EveCharacterAdmin(admin.ModelAdmin):
search_fields = [
'character_name',
'corporation_name',
'alliance_name',
'character_name',
'corporation_name',
'alliance_name',
'character_ownership__user__username'
]
list_display = (
@@ -141,10 +141,10 @@ class EveCharacterAdmin(admin.ModelAdmin):
'character_ownership', 'character_ownership__user__profile__main_character'
)
list_filter = (
'corporation_name',
'alliance_name',
'corporation_name',
'alliance_name',
(
'character_ownership__user__profile__main_character',
'character_ownership__user__profile__main_character',
admin.RelatedOnlyFieldListFilter
),
)

View File

@@ -44,7 +44,7 @@ class AutogroupsConfigManagerTestCase(TestCase):
with patch('.models.AutogroupsConfig.update_group_membership_for_user') \
as update_group_membership_for_user:
AutogroupsConfig.objects.update_groups_for_user(
user=member,
user=member,
state=member.profile.state
)

View File

@@ -52,8 +52,8 @@ class AutogroupsConfigTestCase(TestCase):
@patch('.models.AutogroupsConfig.update_alliance_group_membership')
@patch('.models.AutogroupsConfig.update_corp_group_membership')
def test_update_group_membership_for_user(
self,
update_corp,
self,
update_corp,
update_alliance
):
agc = AutogroupsConfig.objects.create()
@@ -123,9 +123,9 @@ class AutogroupsConfigTestCase(TestCase):
alliance_ticker='alliance_ticker',
executor_corp_id='2345'
)
mock_create_alliance.side_effect = mock_create_alliance_side_effect
obj = AutogroupsConfig.objects.create(alliance_groups=True)
obj.states.add(AuthUtils.get_member_state())
char = EveCharacter.objects.create(
@@ -140,7 +140,7 @@ class AutogroupsConfigTestCase(TestCase):
self.member.profile.main_character = char
self.member.profile.save()
# Act
# Act
obj.update_alliance_group_membership(self.member)
group = obj.get_alliance_group(self.alliance)

View File

@@ -1,4 +1,4 @@
# this package generates profile URL for eve entities
# this package generates profile URL for eve entities
# on 3rd party websites like evewho and zKillboard
#
# It contains of modules for views and templatetags for templates

View File

@@ -3,9 +3,9 @@
from urllib.parse import urljoin, quote
from . import (
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_REGION,
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_REGION,
_ESI_CATEGORY_SOLARSYSTEM
)
@@ -15,28 +15,28 @@ _BASE_URL = 'http://evemaps.dotlan.net'
def _build_url(category: str, name: str) -> str:
"""return url to profile page for an eve entity"""
if category == _ESI_CATEGORY_ALLIANCE:
if category == _ESI_CATEGORY_ALLIANCE:
partial = 'alliance'
elif category == _ESI_CATEGORY_CORPORATION:
elif category == _ESI_CATEGORY_CORPORATION:
partial = 'corp'
elif category == _ESI_CATEGORY_REGION:
partial = 'map'
elif category == _ESI_CATEGORY_SOLARSYSTEM:
partial = 'system'
else:
raise NotImplementedError(
"Not implemented yet for category:" + category
)
url = urljoin(
_BASE_URL,
'{}/{}'.format(partial, quote(str(name).replace(" ", "_")))
)
return url

View File

@@ -1,7 +1,7 @@
from . import (
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CHARACTER,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CHARACTER,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_INVENTORYTYPE
)
@@ -10,7 +10,7 @@ _EVE_IMAGE_SERVER_URL = 'https://images.evetech.net'
_DEFAULT_IMAGE_SIZE = 32
def _eve_entity_image_url(
def _eve_entity_image_url(
category: str,
entity_id: int,
size: int = 32,
@@ -19,7 +19,7 @@ def _eve_entity_image_url(
) -> str:
"""returns image URL for an Eve Online ID.
Supported categories: alliance, corporation, character, inventory_type
Arguments:
- category: category of the ID, see ESI category constants
- entity_id: Eve ID of the entity
@@ -33,7 +33,7 @@ def _eve_entity_image_url(
Exceptions:
- Throws ValueError on invalid input
"""
# input validations
categories = {
_ESI_CATEGORY_ALLIANCE: {
@@ -54,15 +54,15 @@ def _eve_entity_image_url(
}
}
tenants = ['tranquility', 'singularity']
if not entity_id:
raise ValueError('Invalid entity_id: {}'.format(entity_id))
else:
entity_id = int(entity_id)
if not size or size < 32 or size > 1024 or (size & (size - 1) != 0):
raise ValueError('Invalid size: {}'.format(size))
if category not in categories:
raise ValueError('Invalid category {}'.format(category))
else:
@@ -79,7 +79,7 @@ def _eve_entity_image_url(
if tenant and tenant not in tenants:
raise ValueError('Invalid tenant {}'.format(tenant))
# compose result URL
result = '{}/{}/{}/{}?size={}'.format(
_EVE_IMAGE_SERVER_URL,
@@ -90,7 +90,7 @@ def _eve_entity_image_url(
)
if tenant:
result += '&tenant={}'.format(tenant)
return result

View File

@@ -3,9 +3,9 @@
from urllib.parse import urljoin
from . import (
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_CHARACTER,
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_CHARACTER,
)
@@ -14,21 +14,21 @@ _BASE_URL = 'https://evewho.com'
def _build_url(category: str, eve_id: int) -> str:
"""return url to profile page for an eve entity"""
if category == _ESI_CATEGORY_ALLIANCE:
if category == _ESI_CATEGORY_ALLIANCE:
partial = 'alliance'
elif category == _ESI_CATEGORY_CORPORATION:
elif category == _ESI_CATEGORY_CORPORATION:
partial = 'corporation'
elif category == _ESI_CATEGORY_CHARACTER:
partial = 'character'
else:
raise NotImplementedError(
"Not implemented yet for category:" + category
)
url = urljoin(
_BASE_URL,
'{}/{}'.format(partial, int(eve_id))

View File

@@ -12,12 +12,12 @@ class TestEveWho(TestCase):
evewho.alliance_url(12345678),
'https://evewho.com/alliance/12345678'
)
def test_corporation_url(self):
self.assertEqual(
evewho.corporation_url(12345678),
'https://evewho.com/corporation/12345678'
)
)
def test_character_url(self):
self.assertEqual(
@@ -49,7 +49,7 @@ class TestDotlan(TestCase):
dotlan.region_url('Black Rise'),
'http://evemaps.dotlan.net/map/Black_Rise'
)
def test_solar_system_url(self):
self.assertEqual(
dotlan.solar_system_url('Jita'),
@@ -69,14 +69,14 @@ class TestZkillboard(TestCase):
self.assertEqual(
zkillboard.corporation_url(12345678),
'https://zkillboard.com/corporation/12345678/'
)
)
def test_character_url(self):
self.assertEqual(
zkillboard.character_url(12345678),
'https://zkillboard.com/character/12345678/'
)
def test_region_url(self):
self.assertEqual(
@@ -93,34 +93,34 @@ class TestZkillboard(TestCase):
class TestEveImageServer(TestCase):
"""unit test for eveimageserver"""
def test_sizes(self):
def test_sizes(self):
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42),
eveimageserver._eve_entity_image_url('character', 42),
'https://images.evetech.net/characters/42/portrait?size=32'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, size=32),
eveimageserver._eve_entity_image_url('character', 42, size=32),
'https://images.evetech.net/characters/42/portrait?size=32'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, size=64),
eveimageserver._eve_entity_image_url('character', 42, size=64),
'https://images.evetech.net/characters/42/portrait?size=64'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, size=128),
eveimageserver._eve_entity_image_url('character', 42, size=128),
'https://images.evetech.net/characters/42/portrait?size=128'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, size=256),
eveimageserver._eve_entity_image_url('character', 42, size=256),
'https://images.evetech.net/characters/42/portrait?size=256'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, size=512),
eveimageserver._eve_entity_image_url('character', 42, size=512),
'https://images.evetech.net/characters/42/portrait?size=512'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, size=1024),
eveimageserver._eve_entity_image_url('character', 42, size=1024),
'https://images.evetech.net/characters/42/portrait?size=1024'
)
with self.assertRaises(ValueError):
@@ -128,10 +128,10 @@ class TestEveImageServer(TestCase):
with self.assertRaises(ValueError):
eveimageserver._eve_entity_image_url('corporation', 42, size=0)
with self.assertRaises(ValueError):
eveimageserver._eve_entity_image_url('corporation', 42, size=31)
with self.assertRaises(ValueError):
eveimageserver._eve_entity_image_url('corporation', 42, size=1025)
@@ -141,28 +141,28 @@ class TestEveImageServer(TestCase):
def test_variant(self):
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, variant='portrait'),
eveimageserver._eve_entity_image_url('character', 42, variant='portrait'),
'https://images.evetech.net/characters/42/portrait?size=32'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('alliance', 42, variant='logo'),
eveimageserver._eve_entity_image_url('alliance', 42, variant='logo'),
'https://images.evetech.net/alliances/42/logo?size=32'
)
with self.assertRaises(ValueError):
eveimageserver._eve_entity_image_url('character', 42, variant='logo')
def test_alliance(self):
self.assertEqual(
eveimageserver._eve_entity_image_url('alliance', 42),
eveimageserver._eve_entity_image_url('alliance', 42),
'https://images.evetech.net/alliances/42/logo?size=32'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('corporation', 42),
eveimageserver._eve_entity_image_url('corporation', 42),
'https://images.evetech.net/corporations/42/logo?size=32'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42),
eveimageserver._eve_entity_image_url('character', 42),
'https://images.evetech.net/characters/42/portrait?size=32'
)
with self.assertRaises(ValueError):
@@ -171,16 +171,16 @@ class TestEveImageServer(TestCase):
def test_tenants(self):
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, tenant='tranquility'),
eveimageserver._eve_entity_image_url('character', 42, tenant='tranquility'),
'https://images.evetech.net/characters/42/portrait?size=32&tenant=tranquility'
)
self.assertEqual(
eveimageserver._eve_entity_image_url('character', 42, tenant='singularity'),
eveimageserver._eve_entity_image_url('character', 42, tenant='singularity'),
'https://images.evetech.net/characters/42/portrait?size=32&tenant=singularity'
)
with self.assertRaises(ValueError):
eveimageserver._eve_entity_image_url('character', 42, tenant='xxx')
def test_alliance_logo_url(self):
expected = 'https://images.evetech.net/alliances/42/logo?size=128'
self.assertEqual(eveimageserver.alliance_logo_url(42, 128), expected)

View File

@@ -38,15 +38,15 @@ class TestTemplateTags(TestCase):
member_count=42,
alliance=self.my_alliance
)
self.my_region_id = 8001
self.my_region_name = 'Southpark'
self.my_solar_system_id = 9001
self.my_solar_system_name = 'Gotham'
def test_evewho_character_url(self):
def test_evewho_character_url(self):
self.assertEqual(
evelinks.evewho_character_url(self.my_character),
evewho.character_url(self.my_character.character_id),
@@ -59,9 +59,9 @@ class TestTemplateTags(TestCase):
evelinks.evewho_character_url(self.my_character.character_id),
evewho.character_url(self.my_character.character_id),
)
def test_evewho_corporation_url(self):
def test_evewho_corporation_url(self):
self.assertEqual(
evelinks.evewho_corporation_url(self.my_character),
evewho.corporation_url(self.my_character.corporation_id),
@@ -80,7 +80,7 @@ class TestTemplateTags(TestCase):
)
def test_evewho_alliance_url(self):
def test_evewho_alliance_url(self):
self.assertEqual(
evelinks.evewho_alliance_url(self.my_character),
evewho.alliance_url(self.my_character.alliance_id),
@@ -100,12 +100,12 @@ class TestTemplateTags(TestCase):
self.assertEqual(
evelinks.evewho_alliance_url(self.my_character.alliance_id),
evewho.alliance_url(self.my_character.alliance_id),
)
)
# dotlan
def test_dotlan_corporation_url(self):
def test_dotlan_corporation_url(self):
self.assertEqual(
evelinks.dotlan_corporation_url(self.my_character),
dotlan.corporation_url(self.my_character.corporation_name),
@@ -121,10 +121,10 @@ class TestTemplateTags(TestCase):
self.assertEqual(
evelinks.dotlan_corporation_url(self.my_character.corporation_name),
dotlan.corporation_url(self.my_character.corporation_name),
)
)
def test_dotlan_alliance_url(self):
def test_dotlan_alliance_url(self):
self.assertEqual(
evelinks.dotlan_alliance_url(self.my_character),
dotlan.alliance_url(self.my_character.alliance_name),
@@ -144,32 +144,32 @@ class TestTemplateTags(TestCase):
self.assertEqual(
evelinks.dotlan_alliance_url(self.my_character.alliance_name),
dotlan.alliance_url(self.my_character.alliance_name),
)
)
def test_dotlan_region_url(self):
def test_dotlan_region_url(self):
self.assertEqual(
evelinks.dotlan_region_url(self.my_region_name),
dotlan.region_url(self.my_region_name),
)
)
self.assertEqual(
evelinks.dotlan_region_url(None),
''
)
)
def test_dotlan_solar_system_url(self):
def test_dotlan_solar_system_url(self):
self.assertEqual(
evelinks.dotlan_solar_system_url(self.my_solar_system_name),
dotlan.solar_system_url(self.my_solar_system_name),
)
)
self.assertEqual(
evelinks.dotlan_solar_system_url(None),
''
)
)
# zkillboard
def test_zkillboard_character_url(self):
def test_zkillboard_character_url(self):
self.assertEqual(
evelinks.zkillboard_character_url(self.my_character),
zkillboard.character_url(self.my_character.character_id),
@@ -182,9 +182,9 @@ class TestTemplateTags(TestCase):
evelinks.zkillboard_character_url(self.my_character.character_id),
zkillboard.character_url(self.my_character.character_id),
)
def test_zkillboard_corporation_url(self):
def test_zkillboard_corporation_url(self):
self.assertEqual(
evelinks.zkillboard_corporation_url(self.my_character),
zkillboard.corporation_url(self.my_character.corporation_id),
@@ -200,10 +200,10 @@ class TestTemplateTags(TestCase):
self.assertEqual(
evelinks.zkillboard_corporation_url(self.my_character.corporation_id),
zkillboard.corporation_url(self.my_character.corporation_id),
)
)
def test_zkillboard_alliance_url(self):
def test_zkillboard_alliance_url(self):
self.assertEqual(
evelinks.zkillboard_alliance_url(self.my_character),
zkillboard.alliance_url(self.my_character.alliance_id),
@@ -223,29 +223,29 @@ class TestTemplateTags(TestCase):
self.assertEqual(
evelinks.zkillboard_alliance_url(self.my_character.alliance_id),
zkillboard.alliance_url(self.my_character.alliance_id),
)
)
def test_zkillboard_region_url(self):
def test_zkillboard_region_url(self):
self.assertEqual(
evelinks.zkillboard_region_url(self.my_region_id),
zkillboard.region_url(self.my_region_id),
)
)
self.assertEqual(
evelinks.zkillboard_region_url(None),
''
)
)
def test_zkillboard_solar_system_url(self):
def test_zkillboard_solar_system_url(self):
self.assertEqual(
evelinks.zkillboard_solar_system_url(self.my_solar_system_id),
zkillboard.solar_system_url(self.my_solar_system_id),
)
)
self.assertEqual(
evelinks.zkillboard_solar_system_url(None),
''
)
)
# image URLs
@@ -254,12 +254,12 @@ class TestTemplateTags(TestCase):
self.assertEqual(
evelinks.character_portrait_url(123),
EveCharacter.generic_portrait_url(123)
),
self.assertEqual(
evelinks.character_portrait_url(123, 128),
EveCharacter.generic_portrait_url(123, 128)
)
self.assertEqual(
evelinks.character_portrait_url(123, 99),
@@ -267,7 +267,7 @@ class TestTemplateTags(TestCase):
)
self.assertEqual(
evelinks.character_portrait_url(self.my_character),
self.my_character.portrait_url()
self.my_character.portrait_url()
)
self.assertEqual(
evelinks.character_portrait_url(None),
@@ -286,7 +286,7 @@ class TestTemplateTags(TestCase):
)
self.assertEqual(
evelinks.corporation_logo_url(123, 99),
''
''
)
self.assertEqual(
evelinks.corporation_logo_url(self.my_corporation),
@@ -303,7 +303,7 @@ class TestTemplateTags(TestCase):
def test_alliance_logo_url(self):
self.assertEqual(
self.assertEqual(
evelinks.alliance_logo_url(123),
EveAllianceInfo.generic_logo_url(123)
),
@@ -314,7 +314,7 @@ class TestTemplateTags(TestCase):
self.assertEqual(
evelinks.alliance_logo_url(123, 99),
''
)
)
self.assertEqual(
evelinks.alliance_logo_url(self.my_alliance),
self.my_alliance.logo_url()
@@ -338,10 +338,10 @@ class TestTemplateTags(TestCase):
expected = eveimageserver.type_icon_url(123, 128)
self.assertEqual(evelinks.type_icon_url(123, 128), expected)
expected = ''
self.assertEqual(evelinks.type_icon_url(123, 99), expected)
expected = ''
self.assertEqual(evelinks.type_icon_url(None), expected)
@@ -351,9 +351,9 @@ class TestTemplateTags(TestCase):
expected = eveimageserver.type_render_url(123, 128)
self.assertEqual(evelinks.type_render_url(123, 128), expected)
expected = ''
self.assertEqual(evelinks.type_render_url(123, 99), expected)
expected = ''
self.assertEqual(evelinks.type_render_url(None), expected)

View File

@@ -3,10 +3,10 @@
from urllib.parse import urljoin
from . import (
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_ALLIANCE,
_ESI_CATEGORY_CORPORATION,
_ESI_CATEGORY_CHARACTER,
_ESI_CATEGORY_REGION,
_ESI_CATEGORY_REGION,
_ESI_CATEGORY_SOLARSYSTEM
)
@@ -16,11 +16,11 @@ _BASE_URL = 'https://zkillboard.com'
def _build_url(category: str, eve_id: int) -> str:
"""return url to profile page for an eve entity"""
if category == _ESI_CATEGORY_ALLIANCE:
if category == _ESI_CATEGORY_ALLIANCE:
partial = 'alliance'
elif category == _ESI_CATEGORY_CORPORATION:
elif category == _ESI_CATEGORY_CORPORATION:
partial = 'corporation'
elif category == _ESI_CATEGORY_CHARACTER:
@@ -31,12 +31,12 @@ def _build_url(category: str, eve_id: int) -> str:
elif category == _ESI_CATEGORY_SOLARSYSTEM:
partial = 'system'
else:
raise NotImplementedError(
"Not implemented yet for category:" + category
)
url = urljoin(
_BASE_URL,
'{}/{}/'.format(partial, int(eve_id))

View File

@@ -51,7 +51,7 @@ class EveAllianceInfo(models.Model):
) -> str:
"""image URL for the given alliance ID"""
return eveimageserver.alliance_logo_url(alliance_id, size)
def logo_url(self, size: int = _DEFAULT_IMAGE_SIZE) -> str:
"""image URL of this alliance"""
return self.generic_logo_url(self.alliance_id, size)
@@ -224,7 +224,7 @@ class EveCharacter(models.Model):
def portrait_url_128(self) -> str:
"""image URL for this character"""
return self.portrait_url(128)
@property
def portrait_url_256(self) -> str:
"""image URL for this character"""
@@ -275,7 +275,7 @@ class EveCharacter(models.Model):
def alliance_logo_url_128(self) -> str:
"""image URL for alliance of this character or empty string"""
return self.alliance_logo_url(128)
@property
def alliance_logo_url_256(self) -> str:
"""image URL for alliance of this character or empty string"""

View File

@@ -159,7 +159,7 @@ class EveProvider(object):
class EveSwaggerProvider(EveProvider):
def __init__(self, token=None, adapter=None):
def __init__(self, token=None, adapter=None):
if settings.DEBUG:
self._client = None
logger.info(

View File

@@ -40,7 +40,7 @@ def update_character(character_id):
@shared_task
def run_model_update():
"""Update all alliances, corporations and characters from ESI"""
# update existing corp models
for corp in EveCorporationInfo.objects.all().values('corporation_id'):
update_corp.apply_async(
@@ -54,7 +54,7 @@ def run_model_update():
)
# update existing character models
character_ids = EveCharacter.objects.all().values_list('character_id', flat=True)
character_ids = EveCharacter.objects.all().values_list('character_id', flat=True)
for character_ids_chunk in chunks(character_ids, CHUNK_SIZE):
affiliations_raw = providers.provider.client.Character\
.post_characters_affiliation(characters=character_ids_chunk).result()
@@ -62,39 +62,39 @@ def run_model_update():
.post_universe_names(ids=character_ids_chunk).result()
affiliations = {
affiliation.get('character_id'): affiliation
affiliation.get('character_id'): affiliation
for affiliation in affiliations_raw
}
# add character names to affiliations
for character in character_names:
for character in character_names:
character_id = character.get('id')
if character_id in affiliations:
affiliations[character_id]['name'] = character.get('name')
# fetch current characters
characters = EveCharacter.objects.filter(character_id__in=character_ids_chunk)\
.values('character_id', 'corporation_id', 'alliance_id', 'character_name')
.values('character_id', 'corporation_id', 'alliance_id', 'character_name')
for character in characters:
character_id = character.get('character_id')
if character_id in affiliations:
affiliation = affiliations[character_id]
corp_changed = (
character.get('corporation_id') != affiliation.get('corporation_id')
)
alliance_id = character.get('alliance_id')
if not alliance_id:
alliance_id = None
alliance_changed = alliance_id != affiliation.get('alliance_id')
name_changed = False
fetched_name = affiliation.get('name', False)
if fetched_name:
name_changed = character.get('character_name') != fetched_name
if corp_changed or alliance_changed or name_changed:
if corp_changed or alliance_changed or name_changed:
update_character.apply_async(
args=[character.get('character_id')], priority=TASK_PRIORITY
)

View File

@@ -1,14 +1,14 @@
# This module defines template tags for evelinks URLs and eve image URLs
#
#
# Many tags will work both with their respective eveonline object
# and their respective eve entity ID
#
#
# Example:
# character URL on evewho: {{ my_character|evewho_character_url}}
# character URL on evewho: {{ 1456384556|evewho_character_url}}
#
#
# For more examples see examples.html
#
#
# To add templatetags for additional providers just add the respective
# template functions and let them call the generic functions
@@ -25,59 +25,59 @@ _DEFAULT_IMAGE_SIZE = 32
# generic functions
def _generic_character_url(
provider: object,
obj_prop: str,
provider: object,
obj_prop: str,
eve_obj: EveCharacter
) -> str:
"""returns character URL for given provider and object"""
my_func = getattr(provider, 'character_url')
if isinstance(eve_obj, EveCharacter):
if isinstance(eve_obj, EveCharacter):
return my_func(getattr(eve_obj, obj_prop))
elif eve_obj is None:
return ''
else:
return my_func(eve_obj)
def _generic_corporation_url(
provider: object,
obj_prop: str,
provider: object,
obj_prop: str,
eve_obj: object
) -> str:
"""returns corporation URL for given provider and object"""
my_func = getattr(provider, 'corporation_url')
if isinstance(eve_obj, (EveCharacter, EveCorporationInfo)):
if isinstance(eve_obj, (EveCharacter, EveCorporationInfo)):
return my_func(getattr(eve_obj, obj_prop))
elif eve_obj is None:
return ''
else:
return my_func(eve_obj)
def _generic_alliance_url(
provider: object,
provider: object,
obj_prop: str,
eve_obj: object
) -> str:
"""returns alliance URL for given provider and object"""
my_func = getattr(provider, 'alliance_url')
if isinstance(eve_obj, EveCharacter):
if eve_obj.alliance_id:
if eve_obj.alliance_id:
return my_func(getattr(eve_obj, obj_prop))
else:
return ''
elif isinstance(eve_obj, EveAllianceInfo):
elif isinstance(eve_obj, EveAllianceInfo):
return my_func(getattr(eve_obj, obj_prop))
elif eve_obj is None:
return ''
else:
return my_func(eve_obj)
@@ -91,7 +91,7 @@ def _generic_evelinks_url(
my_func = getattr(provider, provider_func)
if eve_obj is None:
return ''
else:
return my_func(eve_obj)
@@ -99,29 +99,29 @@ def _generic_evelinks_url(
# evewho
@register.filter
def evewho_character_url(eve_obj: EveCharacter) -> str:
def evewho_character_url(eve_obj: EveCharacter) -> str:
"""generates an evewho URL for the given object
Works with allianceauth.eveonline objects and eve entity IDs
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_character_url(evewho, 'character_id', eve_obj)
@register.filter
def evewho_corporation_url(eve_obj: object) -> str:
"""generates an evewho URL for the given object
Works with allianceauth.eveonline objects and eve entity IDs
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_corporation_url(evewho, 'corporation_id', eve_obj)
@register.filter
def evewho_alliance_url(eve_obj: object) -> str:
def evewho_alliance_url(eve_obj: object) -> str:
"""generates an evewho URL for the given object
Works with allianceauth.eveonline objects and eve entity IDs
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_alliance_url(evewho, 'alliance_id', eve_obj)
@@ -131,69 +131,69 @@ def evewho_alliance_url(eve_obj: object) -> str:
def dotlan_corporation_url(eve_obj: object) -> str:
"""generates a dotlan URL for the given object
Works with allianceauth.eveonline objects and eve entity names
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_corporation_url(dotlan, 'corporation_name', eve_obj)
@register.filter
def dotlan_alliance_url(eve_obj: object) -> str:
def dotlan_alliance_url(eve_obj: object) -> str:
"""generates a dotlan URL for the given object
Works with allianceauth.eveonline objects and eve entity names
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_alliance_url(dotlan, 'alliance_name', eve_obj)
@register.filter
def dotlan_region_url(eve_obj: object) -> str:
def dotlan_region_url(eve_obj: object) -> str:
"""generates a dotlan URL for the given object
Works with eve entity names
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_evelinks_url(dotlan, 'region_url', eve_obj)
@register.filter
def dotlan_solar_system_url(eve_obj: object) -> str:
def dotlan_solar_system_url(eve_obj: object) -> str:
"""generates a dotlan URL for the given object
Works with eve entity names
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_evelinks_url(dotlan, 'solar_system_url', eve_obj)
# zkillboard
@register.filter
def zkillboard_character_url(eve_obj: EveCharacter) -> str:
def zkillboard_character_url(eve_obj: EveCharacter) -> str:
"""generates a zkillboard URL for the given object
Works with allianceauth.eveonline objects and eve entity IDs
Returns URL or empty string
"""
Returns URL or empty string
"""
return _generic_character_url(zkillboard, 'character_id', eve_obj)
@register.filter
def zkillboard_corporation_url(eve_obj: object) -> str:
"""generates a zkillboard URL for the given object
Works with allianceauth.eveonline objects and eve entity IDs
Returns URL or empty string
Returns URL or empty string
"""
return _generic_corporation_url(zkillboard, 'corporation_id', eve_obj)
@register.filter
def zkillboard_alliance_url(eve_obj: object) -> str:
def zkillboard_alliance_url(eve_obj: object) -> str:
"""generates a zkillboard URL for the given object
Works with allianceauth.eveonline objects and eve entity IDs
Returns URL or empty string
Returns URL or empty string
"""
return _generic_alliance_url(zkillboard, 'alliance_id', eve_obj)
@register.filter
def zkillboard_region_url(eve_obj: object) -> str:
def zkillboard_region_url(eve_obj: object) -> str:
"""generates a zkillboard URL for the given object
Works with eve entity IDs
Returns URL or empty string
@@ -202,7 +202,7 @@ def zkillboard_region_url(eve_obj: object) -> str:
@register.filter
def zkillboard_solar_system_url(eve_obj: object) -> str:
def zkillboard_solar_system_url(eve_obj: object) -> str:
"""generates zkillboard URL for the given object
Works with eve entity IDs
Returns URL or empty string
@@ -214,20 +214,20 @@ def zkillboard_solar_system_url(eve_obj: object) -> str:
@register.filter
def character_portrait_url(
eve_obj: object,
eve_obj: object,
size: int = _DEFAULT_IMAGE_SIZE
) -> str:
"""generates an image URL for the given object
Works with EveCharacter objects or character IDs
Returns URL or empty string
"""
if isinstance(eve_obj, EveCharacter):
if isinstance(eve_obj, EveCharacter):
return eve_obj.portrait_url(size)
elif eve_obj is None:
return ''
else:
else:
try:
return EveCharacter.generic_portrait_url(eve_obj, size)
except ValueError:
@@ -236,23 +236,23 @@ def character_portrait_url(
@register.filter
def corporation_logo_url(
eve_obj: object,
eve_obj: object,
size: int = _DEFAULT_IMAGE_SIZE
) -> str:
"""generates image URL for the given object
Works with EveCharacter, EveCorporationInfo objects or corporation IDs
Returns URL or empty string
"""
if isinstance(eve_obj, EveCorporationInfo):
if isinstance(eve_obj, EveCorporationInfo):
return eve_obj.logo_url(size)
elif isinstance(eve_obj, EveCharacter):
elif isinstance(eve_obj, EveCharacter):
return eve_obj.corporation_logo_url(size)
elif eve_obj is None:
return ''
else:
else:
try:
return EveCorporationInfo.generic_logo_url(eve_obj, size)
except ValueError:
@@ -261,23 +261,23 @@ def corporation_logo_url(
@register.filter
def alliance_logo_url(
eve_obj: object,
eve_obj: object,
size: int = _DEFAULT_IMAGE_SIZE
) -> str:
"""generates image URL for the given object
Works with EveCharacter, EveAllianceInfo objects or alliance IDs
Returns URL or empty string
"""
if isinstance(eve_obj, EveAllianceInfo):
if isinstance(eve_obj, EveAllianceInfo):
return eve_obj.logo_url(size)
elif isinstance(eve_obj, EveCharacter):
elif isinstance(eve_obj, EveCharacter):
return eve_obj.alliance_logo_url(size)
elif eve_obj is None:
return ''
else:
else:
try:
return EveAllianceInfo.generic_logo_url(eve_obj, size)
except ValueError:
@@ -286,10 +286,10 @@ def alliance_logo_url(
@register.filter
def type_icon_url(
type_id: int,
type_id: int,
size: int = _DEFAULT_IMAGE_SIZE
) -> str:
"""generates a icon image URL for the given type ID
"""generates a icon image URL for the given type ID
Returns URL or empty string
"""
try:
@@ -300,10 +300,10 @@ def type_icon_url(
@register.filter
def type_render_url(
type_id: int,
type_id: int,
size: int = _DEFAULT_IMAGE_SIZE
) -> str:
"""generates a render image URL for the given type ID
"""generates a render image URL for the given type ID
Returns URL or empty string
"""
try:

View File

@@ -1,4 +1,4 @@
<!-- This is an example template for the evelinks template tags
<!-- This is an example template for the evelinks template tags
Needs to be called with a context containing three objects:
@@ -18,15 +18,15 @@ Needs to be called with a context containing three objects:
<div class="col-lg-12">
<h1 class="page-header text-center">Evelinks templatetags examples</h1>
<div class="col-lg-12 container">
<h2>profile URLs</h2>
<div class="rows">
<div class="col-md-4">
<h3>evewho</h3>
<p><a href="{{ my_character|evewho_character_url}}">character from character object</a></p>
<p><a href="{{ my_corporation|evewho_corporation_url}}">corporation form corporation object</a></p>
<p><a href="{{ my_character|evewho_character_url}}">character from character object</a></p>
<p><a href="{{ my_corporation|evewho_corporation_url}}">corporation form corporation object</a></p>
<p><a href="{{ my_character|evewho_corporation_url}}">corporation from charachter object</a></p>
<p><a href="{{ my_alliance|evewho_alliance_url}}">alliance from alliance object</a></p>
<p><a href="{{ my_character|evewho_alliance_url}}">alliance from character object</a></p>
@@ -42,23 +42,23 @@ Needs to be called with a context containing three objects:
<p><a href="{{ 'Tama'|dotlan_solar_system_url}}">solar system from name string</a></p>
</div>
<div class="col-md-4">
<div class="col-md-4">
<h3>zkillboard</h3>
<p><a href="{{ my_character|zkillboard_character_url}}">character from character object</a></p>
<p><a href="{{ my_character|zkillboard_character_url}}">character from character object</a></p>
<p><a href="{{ my_character|zkillboard_corporation_url}}">corporation from character object</a></p>
<p><a href="{{ my_corporation|zkillboard_corporation_url}}">corporation form corporation object</a></p>
<p><a href="{{ my_corporation|zkillboard_corporation_url}}">corporation form corporation object</a></p>
<p><a href="{{ my_character|zkillboard_alliance_url}}">alliance from character object</a></p>
<p><a href="{{ my_alliance|zkillboard_alliance_url}}">alliance from alliance object</a></p>
<p><a href="{{ 10000069|zkillboard_region_url}}">region from ID</a></p>
<p><a href="{{ 30002813|zkillboard_solar_system_url}}">solar sytem from ID</a></p>
<p><a href="{{ 30002813|zkillboard_solar_system_url}}">solar sytem from ID</a></p>
</div>
</div>
</div>
<h2>image URLs</h2>
<div class="rows">
<div class="col-md-4">
<p>character from ID: <img src="{{ my_character.character_id|character_portrait_url:128}}"></p>
<p>character from character object: <img src="{{ my_character|character_portrait_url:128}}"></p>
@@ -67,18 +67,18 @@ Needs to be called with a context containing three objects:
<div class="col-md-4">
<p>corporation from ID: <img src="{{ my_character.corporation_id|corporation_logo_url:128}}"></p>
<p>corporation from character object: <img src="{{ my_character|corporation_logo_url:128}}"></p>
<p>corporation from corporation object: <img src="{{ my_corporation|corporation_logo_url:128}}"></p>
<p>corporation from corporation object: <img src="{{ my_corporation|corporation_logo_url:128}}"></p>
</div>
<div class="col-md-4">
<p>alliance from ID: <img src="{{ my_character.alliance_id|alliance_logo_url:128}}"></p>
<p>alliance from character object: <img src="{{ my_character|alliance_logo_url:128}}"></p>
<p>alliance from alliance object: <img src="{{ my_alliance|alliance_logo_url:128}}"></p>
<p>alliance from alliance object: <img src="{{ my_alliance|alliance_logo_url:128}}"></p>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -1,18 +1,18 @@
import logging
import os
def set_logger(logger_name: str, name: str) -> object:
"""set logger for current test module
Args:
- logger: current logger object
- name: name of current module, e.g. __file__
Returns:
- amended logger
"""
# reconfigure logger so we get logging from tested module
f_format = logging.Formatter(
'%(asctime)s - %(levelname)s - %(module)s:%(funcName)s - %(message)s'

View File

@@ -27,9 +27,9 @@ class EveCharacterManagerTestCase(TestCase):
@property
def corp(self):
return Corporation(
id=2345,
name='Test Corp',
alliance_id=3456,
id=2345,
name='Test Corp',
alliance_id=3456,
ticker='0BUGS' #lies, blatant lies!
)
@@ -37,9 +37,9 @@ class EveCharacterManagerTestCase(TestCase):
def test_create_character(self, provider):
# Also covers create_character_obj
expected = self.TestCharacter(
id=1234,
name='Test Character',
corp_id=2345,
id=1234,
name='Test Character',
corp_id=2345,
alliance_id=3456
)
@@ -69,9 +69,9 @@ class EveCharacterManagerTestCase(TestCase):
)
expected = self.TestCharacter(
id=1234,
name='Test Character',
corp_id=2345,
id=1234,
name='Test Character',
corp_id=2345,
alliance_id=3456
)
provider.get_character.return_value = expected
@@ -104,7 +104,7 @@ class EveCharacterManagerTestCase(TestCase):
self.assertEqual(result.character_id, 1234)
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))
@@ -130,10 +130,10 @@ class EveAllianceManagerTestCase(TestCase):
def test_create_alliance(self, provider, populate_alliance):
# Also covers create_alliance_obj
expected = self.TestAlliance(
id=3456,
name='Test Alliance',
id=3456,
name='Test Alliance',
ticker='TEST',
corp_ids=[2345],
corp_ids=[2345],
executor_corp_id=2345
)
@@ -157,10 +157,10 @@ class EveAllianceManagerTestCase(TestCase):
executor_corp_id=2345,
)
expected = self.TestAlliance(
id=3456,
name='Test Alliance',
id=3456,
name='Test Alliance',
ticker='TEST',
corp_ids=[2345],
corp_ids=[2345],
executor_corp_id=2345
)
@@ -189,19 +189,19 @@ class EveCorporationManagerTestCase(TestCase):
@property
def alliance(self):
return EveAllianceManagerTestCase.TestAlliance(
id=3456,
name='Test Alliance',
id=3456,
name='Test Alliance',
ticker='TEST',
corp_ids=[2345],
corp_ids=[2345],
executor_corp_id=2345
)
@property
def ceo(self):
return EveCharacterManagerTestCase.TestCharacter(
id=1234,
id=1234,
name='Test Character',
corp_id=2345,
corp_id=2345,
alliance_id=3456
)
@@ -216,11 +216,11 @@ class EveCorporationManagerTestCase(TestCase):
)
expected = self.TestCorporation(
id=2345,
name='Test Corp',
id=2345,
name='Test Corp',
ticker='0BUGS',
ceo_id=1234,
members=1,
ceo_id=1234,
members=1,
alliance_id=3456
)
@@ -237,13 +237,13 @@ class EveCorporationManagerTestCase(TestCase):
@mock.patch('allianceauth.eveonline.managers.providers.provider')
def test_create_corporation_no_alliance(self, provider):
# variant to test no alliance case
# Also covers create_corp_obj
# Also covers create_corp_obj
expected = self.TestCorporation(
id=2345,
name='Test Corp',
id=2345,
name='Test Corp',
ticker='0BUGS',
ceo_id=1234,
members=1,
ceo_id=1234,
members=1,
alliance_id=3456
)
@@ -276,11 +276,11 @@ class EveCorporationManagerTestCase(TestCase):
)
expected = self.TestCorporation(
id=2345,
name='Test Corp',
id=2345,
name='Test Corp',
ticker='0BUGS',
ceo_id=1234,
members=1,
ceo_id=1234,
members=1,
alliance_id=3456
)

View File

@@ -133,9 +133,9 @@ class EveCharacterTestCase(TestCase):
name='Dummy Corp 2',
ticker='DC2',
ceo_id=1001,
members=34,
members=34,
)
my_character = EveCharacter.objects.create(
character_id=1001,
character_name='Bruce Wayne',
@@ -144,7 +144,7 @@ class EveCharacterTestCase(TestCase):
corporation_ticker='DC1',
alliance_id=3001,
alliance_name='Dummy Alliance 1',
)
)
my_updated_character = Character(
name='Bruce X. Wayne',
corp_id=2002
@@ -169,8 +169,8 @@ class EveCharacterTestCase(TestCase):
character_id=42,
character_name='character.name',
corporation_id=123,
corporation_name='corporation.name',
corporation_ticker='ABC',
corporation_name='corporation.name',
corporation_ticker='ABC',
)
self.assertEqual(
x.portrait_url(),
@@ -179,7 +179,7 @@ class EveCharacterTestCase(TestCase):
self.assertEqual(
x.portrait_url(64),
eveimageserver._eve_entity_image_url('character', 42, size=64)
)
)
self.assertEqual(
x.portrait_url_32,
eveimageserver._eve_entity_image_url('character', 42, size=32)
@@ -202,8 +202,8 @@ class EveCharacterTestCase(TestCase):
character_id=42,
character_name='character.name',
corporation_id=123,
corporation_name='corporation.name',
corporation_ticker='ABC',
corporation_name='corporation.name',
corporation_ticker='ABC',
)
self.assertEqual(
x.corporation_logo_url(),
@@ -235,9 +235,9 @@ class EveCharacterTestCase(TestCase):
character_id=42,
character_name='character.name',
corporation_id=123,
corporation_name='corporation.name',
corporation_ticker='ABC',
)
corporation_name='corporation.name',
corporation_ticker='ABC',
)
self.assertEqual(
x.alliance_logo_url(),
''
@@ -286,7 +286,7 @@ class EveCharacterTestCase(TestCase):
class EveAllianceTestCase(TestCase):
def test_str(self):
my_alliance = EveAllianceInfo(
alliance_id=3001,
@@ -295,12 +295,12 @@ class EveAllianceTestCase(TestCase):
executor_corp_id=2001
)
self.assertEqual(str(my_alliance), 'Dummy Alliance 1')
@patch(
'allianceauth.eveonline.models.EveCorporationInfo.objects.create_corporation'
)
def test_populate_alliance(self, mock_create_corporation):
def create_corp(corp_id):
if corp_id == 2002:
EveCorporationInfo.objects.create(
@@ -311,23 +311,23 @@ class EveAllianceTestCase(TestCase):
)
else:
raise ValueError()
mock_EveAllianceProviderManager = Mock()
mock_EveAllianceProviderManager.get_alliance.return_value = \
Alliance(
id=3001,
id=3001,
name='Dummy Alliance 1',
corp_ids=[2001, 2002]
)
mock_create_corporation.side_effect = create_corp
EveCorporationInfo.objects.create(
corporation_id=2001,
corporation_name='Dummy Corporation 1',
corporation_ticker='DC1',
member_count=42,
)
my_alliance = EveAllianceInfo(
alliance_id=3001,
alliance_name='Dummy Alliance 1',
@@ -336,13 +336,13 @@ class EveAllianceTestCase(TestCase):
)
my_alliance.provider = mock_EveAllianceProviderManager
my_alliance.save()
my_alliance.populate_alliance()
my_alliance.populate_alliance()
for corporation in EveCorporationInfo.objects\
.filter(corporation_id__in=[2001, 2002]
):
self.assertEqual(corporation.alliance, my_alliance)
def test_update_alliance_with_object(self):
my_alliance = EveAllianceInfo.objects.create(
alliance_id=3001,
@@ -351,9 +351,9 @@ class EveAllianceTestCase(TestCase):
executor_corp_id=2001
)
updated_alliance = Alliance(
id=3002,
id=3002,
name='Dummy Alliance 2',
corp_ids=[2004],
corp_ids=[2004],
executor_corp_id=2004
)
my_alliance.update_alliance(updated_alliance)
@@ -367,7 +367,7 @@ class EveAllianceTestCase(TestCase):
mock_EveAllianceProviderManager = Mock()
mock_EveAllianceProviderManager.get_alliance.return_value = \
Alliance(
id=3002,
id=3002,
name='Dummy Alliance 2',
corp_ids=[2004],
executor_corp_id=2004
@@ -381,15 +381,15 @@ class EveAllianceTestCase(TestCase):
)
my_alliance.provider = mock_EveAllianceProviderManager
my_alliance.save()
Alliance(
Alliance(
name='Dummy Alliance 2',
corp_ids=[2004],
corp_ids=[2004],
executor_corp_id=2004
)
my_alliance.update_alliance()
my_alliance.refresh_from_db()
self.assertEqual(int(my_alliance.executor_corp_id), 2004)
# potential bug
# update_alliance() is only updateting executor_corp_id nothing else ???
@@ -417,7 +417,7 @@ class EveAllianceTestCase(TestCase):
self.assertEqual(
x.logo_url(64),
'https://images.evetech.net/alliances/42/logo?size=64'
)
)
self.assertEqual(
x.logo_url_32,
'https://images.evetech.net/alliances/42/logo?size=32'
@@ -434,10 +434,10 @@ class EveAllianceTestCase(TestCase):
x.logo_url_256,
'https://images.evetech.net/alliances/42/logo?size=256'
)
class EveCorporationTestCase(TestCase):
def setUp(self):
my_alliance = EveAllianceInfo.objects.create(
alliance_id=3001,
@@ -451,9 +451,9 @@ class EveCorporationTestCase(TestCase):
corporation_ticker='DC1',
member_count=42,
alliance=my_alliance
)
)
def test_str(self):
def test_str(self):
self.assertEqual(str(self.my_corp), 'Dummy Corporation 1')
def test_update_corporation_from_object_w_alliance(self):
@@ -465,15 +465,15 @@ class EveCorporationTestCase(TestCase):
# potential bug
# update_corporation updates member_count only
def test_update_corporation_no_object_w_alliance(self):
mock_provider = Mock()
mock_provider.get_corporation.return_value = Corporation(members=87)
self.my_corp.provider = mock_provider
self.my_corp.update_corporation()
self.assertEqual(self.my_corp.member_count, 87)
def test_update_corporation_from_object_wo_alliance(self):
my_corp2 = EveCorporationInfo(
corporation_id=2011,
@@ -498,7 +498,7 @@ class EveCorporationTestCase(TestCase):
eveimageserver._eve_entity_image_url('corporation', 42, 256)
)
def test_logo_url(self):
def test_logo_url(self):
self.assertEqual(
self.my_corp.logo_url(),
'https://images.evetech.net/corporations/2001/logo?size=32'

View File

@@ -8,13 +8,13 @@ from django.test import TestCase
from . import set_logger
from ..providers import (
ObjectNotFound,
Entity,
Character,
Corporation,
Alliance,
ItemType,
EveProvider,
ObjectNotFound,
Entity,
Character,
Corporation,
Alliance,
ItemType,
EveProvider,
EveSwaggerProvider
)
@@ -92,12 +92,12 @@ class TestCorporation(TestCase):
executor_corp_id=2001
)
mock_provider_get_alliance.return_value = my_alliance
x = Corporation(alliance_id=3001)
self.assertEqual(
x.alliance,
my_alliance
)
)
self.assertEqual(
x.alliance,
my_alliance
@@ -106,25 +106,25 @@ class TestCorporation(TestCase):
self.assertEqual(mock_provider_get_alliance.call_count, 1)
@patch(MODULE_PATH + '.EveSwaggerProvider.get_alliance')
def test_alliance_not_defined(self, mock_provider_get_alliance):
def test_alliance_not_defined(self, mock_provider_get_alliance):
mock_provider_get_alliance.return_value = None
x = Corporation()
self.assertEqual(
x.alliance,
Entity(None, None)
)
@patch(MODULE_PATH + '.EveSwaggerProvider.get_character')
def test_ceo(self, mock_provider_get_character):
def test_ceo(self, mock_provider_get_character):
my_ceo = Character(
id=1001,
name='Bruce Wayne',
corp_id=2001,
alliance_id=3001
)
)
mock_provider_get_character.return_value = my_ceo
# fetch from provider if not defined
x = Corporation()
self.assertEqual(
@@ -142,7 +142,7 @@ class TestCorporation(TestCase):
# bug in ceo(): will try to fetch character even if ceo_id is None
class TestAlliance(TestCase):
def setUp(self):
@@ -155,48 +155,48 @@ class TestAlliance(TestCase):
)
@staticmethod
def _get_corp(corp_id):
def _get_corp(corp_id):
corps = {
2001: Corporation(
id=2001,
name='Dummy Corp 1',
alliance_id=3001
alliance_id=3001
),
2002: Corporation(
id=2002,
name='Dummy Corp 2',
alliance_id=3001
alliance_id=3001
),
2003: Corporation(
id=2003,
name='Dummy Corp 3',
alliance_id=3001
alliance_id=3001
),
}
if corp_id:
if corp_id:
return corps[int(corp_id)]
@patch(MODULE_PATH + '.EveSwaggerProvider.get_corp')
def test_corp(self, mock_provider_get_corp):
def test_corp(self, mock_provider_get_corp):
mock_provider_get_corp.side_effect = TestAlliance._get_corp
# should fetch corp if not in the object
# should fetch corp if not in the object
self.assertEqual(
self.my_alliance.corp(2001),
TestAlliance._get_corp(2001)
)
# should fetch corp if not in the object
# should fetch corp if not in the object
self.assertEqual(
self.my_alliance.corp(2002),
TestAlliance._get_corp(2002)
)
# should return from the object if its there
# should return from the object if its there
self.assertEqual(
self.my_alliance.corp(2001),
TestAlliance._get_corp(2001)
)
# should return from the object if its there
# should return from the object if its there
self.assertEqual(
self.my_alliance.corp(2002),
TestAlliance._get_corp(2002)
@@ -220,7 +220,7 @@ class TestAlliance(TestCase):
@patch(MODULE_PATH + '.EveSwaggerProvider.get_corp')
def test_executor_corp(self, mock_provider_get_corp):
mock_provider_get_corp.side_effect = TestAlliance._get_corp
self.assertEqual(
self.my_alliance.executor_corp,
TestAlliance._get_corp(2001),
@@ -248,7 +248,7 @@ class TestCharacter(TestCase):
my_corp = Corporation(
id=2001,
name='Dummy Corp 1'
)
)
mock_provider_get_corp.return_value = my_corp
self.assertEqual(self.my_character.corp, my_corp)
@@ -256,11 +256,11 @@ class TestCharacter(TestCase):
# should call the provider one time only
self.assertEqual(mock_provider_get_corp.call_count, 1)
@patch(MODULE_PATH + '.EveSwaggerProvider.get_alliance')
@patch(MODULE_PATH + '.EveSwaggerProvider.get_corp')
def test_alliance_has_one(
self,
self,
mock_provider_get_corp,
mock_provider_get_alliance,
):
@@ -268,14 +268,14 @@ class TestCharacter(TestCase):
id=2001,
name='Dummy Corp 1',
alliance_id=3001
)
)
mock_provider_get_corp.return_value = my_corp
my_alliance = Alliance(
id=3001,
name='Dummy Alliance 1',
executor_corp_id=2001,
corp_ids=[2001, 2002]
)
)
mock_provider_get_alliance.return_value = my_alliance
self.assertEqual(self.my_character.alliance, my_alliance)
@@ -301,7 +301,7 @@ class TestEveProvider(TestCase):
def setUp(self):
self.my_provider = EveProvider()
def test_get_alliance(self):
with self.assertRaises(NotImplementedError):
self.my_provider.get_alliance(3001)
@@ -315,7 +315,7 @@ class TestEveProvider(TestCase):
self.my_provider.get_character(1001)
# bug: should be calling NotImplementedError() not NotImplemented
"""
"""
def test_get_itemtype(self):
with self.assertRaises(NotImplementedError):
self.my_provider.get_itemtype(4001)
@@ -323,7 +323,7 @@ class TestEveProvider(TestCase):
class TestEveSwaggerProvider(TestCase):
@staticmethod
def esi_get_alliances_alliance_id(alliance_id):
alliances = {
@@ -404,11 +404,11 @@ class TestEveSwaggerProvider(TestCase):
@staticmethod
def esi_post_characters_affiliation(characters):
character_data = {
1001: {
1001: {
'corporation_id': 2001,
'alliance_id': 3001
},
1002: {
1002: {
'corporation_id': 2101
}
}
@@ -424,7 +424,7 @@ class TestEveSwaggerProvider(TestCase):
return mock_result
else:
raise TypeError()
@staticmethod
def esi_get_universe_types_type_id(type_id):
types = {
@@ -443,7 +443,7 @@ class TestEveSwaggerProvider(TestCase):
raise HTTPNotFound(Mock())
@patch(MODULE_PATH + '.esi_client_factory')
def test_str(self, mock_esi_client_factory):
def test_str(self, mock_esi_client_factory):
my_provider = EveSwaggerProvider()
self.assertEqual(str(my_provider), 'esi')
@@ -457,7 +457,7 @@ class TestEveSwaggerProvider(TestCase):
= TestEveSwaggerProvider.esi_get_alliances_alliance_id_corporations
my_provider = EveSwaggerProvider()
# fully defined alliance
my_alliance = my_provider.get_alliance(3001)
self.assertEqual(my_alliance.id, 3001)
@@ -494,13 +494,13 @@ class TestEveSwaggerProvider(TestCase):
# corporation wo/ alliance
my_corp = my_provider.get_corp(2002)
self.assertEqual(my_corp.id, 2002)
self.assertEqual(my_corp.id, 2002)
self.assertEqual(my_corp.alliance_id, None)
# corporation not found
with self.assertRaises(ObjectNotFound):
my_provider.get_corp(2999)
@patch(MODULE_PATH + '.esi_client_factory')
def test_get_character(self, mock_esi_client_factory):
mock_esi_client_factory.return_value\
@@ -540,7 +540,7 @@ class TestEveSwaggerProvider(TestCase):
my_type = my_provider.get_itemtype(4001)
self.assertEqual(my_type.id, 4001)
self.assertEqual(my_type.name, 'Dummy Type 1')
# type not found
with self.assertRaises(ObjectNotFound):
my_provider.get_itemtype(4999)
@@ -551,7 +551,7 @@ class TestEveSwaggerProvider(TestCase):
my_provider = EveSwaggerProvider()
self.assertTrue(mock_esi_client_factory.called)
self.assertIsNotNone(my_provider._client)
@patch(MODULE_PATH + '.SWAGGER_SPEC_PATH', SWAGGER_OLD_SPEC_PATH)
@patch(MODULE_PATH + '.settings.DEBUG', False)
@patch('socket.socket')
@@ -559,8 +559,8 @@ class TestEveSwaggerProvider(TestCase):
self, mock_socket
):
mock_socket.side_effect = Exception('Network blocked for testing')
my_provider = EveSwaggerProvider()
self.assertIsNone(my_provider._client)
my_provider = EveSwaggerProvider()
self.assertIsNone(my_provider._client)
@patch(MODULE_PATH + '.settings.DEBUG', True)
@patch(MODULE_PATH + '.esi_client_factory')

View File

@@ -4,9 +4,9 @@ from django.test import TestCase
from ..models import EveCharacter, EveCorporationInfo, EveAllianceInfo
from ..tasks import (
update_alliance,
update_corp,
update_character,
update_alliance,
update_corp,
update_character,
run_model_update
)
@@ -22,7 +22,7 @@ class TestTasks(TestCase):
self.assertEqual(
mock_EveCorporationInfo.objects.update_corporation.call_args[0][0], 42
)
@patch('allianceauth.eveonline.tasks.EveAllianceInfo')
def test_update_alliance(self, mock_EveAllianceInfo):
update_alliance(42)
@@ -58,7 +58,7 @@ class TestRunModelUpdate(TestCase):
EveCorporationInfo.objects.all().delete()
EveAllianceInfo.objects.all().delete()
EveCharacter.objects.all().delete()
EveCorporationInfo.objects.create(
corporation_id=2345,
corporation_name='corp.name',
@@ -71,13 +71,13 @@ class TestRunModelUpdate(TestCase):
alliance_name='alliance.name',
alliance_ticker='a.t',
executor_corp_id=5,
)
)
EveCharacter.objects.create(
character_id=1,
character_name='character.name1',
corporation_id=2345,
corporation_name='character.corp.name',
corporation_ticker='c.c.t', # max 5 chars
corporation_ticker='c.c.t', # max 5 chars
alliance_id=None
)
EveCharacter.objects.create(
@@ -85,7 +85,7 @@ class TestRunModelUpdate(TestCase):
character_name='character.name2',
corporation_id=9876,
corporation_name='character.corp.name',
corporation_ticker='c.c.t', # max 5 chars
corporation_ticker='c.c.t', # max 5 chars
alliance_id=3456,
alliance_name='character.alliance.name',
)
@@ -94,7 +94,7 @@ class TestRunModelUpdate(TestCase):
character_name='character.name3',
corporation_id=9876,
corporation_name='character.corp.name',
corporation_ticker='c.c.t', # max 5 chars
corporation_ticker='c.c.t', # max 5 chars
alliance_id=3456,
alliance_name='character.alliance.name',
)
@@ -103,7 +103,7 @@ class TestRunModelUpdate(TestCase):
character_name='character.name4',
corporation_id=9876,
corporation_name='character.corp.name',
corporation_ticker='c.c.t', # max 5 chars
corporation_ticker='c.c.t', # max 5 chars
alliance_id=3456,
alliance_name='character.alliance.name',
)
@@ -113,12 +113,12 @@ class TestRunModelUpdate(TestCase):
character_name='character.name5',
corporation_id=9876,
corporation_name='character.corp.name',
corporation_ticker='c.c.t', # max 5 chars
corporation_ticker='c.c.t', # max 5 chars
alliance_id=3456,
alliance_name='character.alliance.name',
)
"""
"""
def setUp(self):
self.affiliations = [
{'character_id': 1, 'corporation_id': 5},
@@ -152,14 +152,14 @@ class TestRunModelUpdate(TestCase):
mock_provider.client.Character.post_characters_affiliation.side_effect \
= get_affiliations
mock_provider.client.Universe.post_universe_names.side_effect = get_names
run_model_update()
self.assertEqual(
mock_provider.client.Character.post_characters_affiliation.call_count, 2
)
)
self.assertEqual(
mock_provider.client.Universe.post_universe_names.call_count, 2
)
@@ -175,7 +175,7 @@ class TestRunModelUpdate(TestCase):
self.assertEqual(mock_update_alliance.apply_async.call_count, 1)
self.assertEqual(
int(mock_update_alliance.apply_async.call_args[1]['args'][0]), 3456
)
)
characters_updated = {
x[1]['args'][0] for x in mock_update_character.apply_async.call_args_list
}
@@ -203,9 +203,9 @@ class TestRunModelUpdate(TestCase):
mock_provider.client.Character.post_characters_affiliation.side_effect \
= get_affiliations
mock_provider.client.Universe.post_universe_names.side_effect = get_names
run_model_update()
characters_updated = {
x[1]['args'][0] for x in mock_update_character.apply_async.call_args_list
@@ -234,9 +234,9 @@ class TestRunModelUpdate(TestCase):
mock_provider.client.Character.post_characters_affiliation.side_effect \
= get_affiliations
mock_provider.client.Universe.post_universe_names.side_effect = get_names
run_model_update()
characters_updated = {
x[1]['args'][0] for x in mock_update_character.apply_async.call_args_list