Merge branch 'user-agent' into 'master'

Bump minimum django-esi and add User Agent header.

See merge request allianceauth/allianceauth!1275
This commit is contained in:
Ariel Rin 2020-12-07 04:32:10 +00:00
commit 15ae737522
5 changed files with 17 additions and 3 deletions

View File

@ -7,6 +7,8 @@ from jsonschema.exceptions import RefResolutionError
from django.conf import settings
from esi.clients import esi_client_factory
from allianceauth import __version__
SWAGGER_SPEC_PATH = os.path.join(os.path.dirname(
os.path.abspath(__file__)), 'swagger.json'
@ -166,7 +168,7 @@ class EveSwaggerProvider(EveProvider):
else:
try:
self._client = esi_client_factory(
token=token, spec_file=SWAGGER_SPEC_PATH
token=token, spec_file=SWAGGER_SPEC_PATH, app_info_text=("allianceauth v" + __version__)
)
except (HTTPError, RefResolutionError):
logger.exception(
@ -182,7 +184,7 @@ class EveSwaggerProvider(EveProvider):
def client(self):
if self._client is None:
self._client = esi_client_factory(
token=self._token, spec_file=SWAGGER_SPEC_PATH
token=self._token, spec_file=SWAGGER_SPEC_PATH, app_info_text=("allianceauth v" + __version__)
)
return self._client

View File

@ -592,3 +592,12 @@ class TestEveSwaggerProvider(TestCase):
self.assertTrue(mock_esi_client_factory.called)
self.assertIsNotNone(my_provider._client)
self.assertEqual(my_client, 'my_client')
@patch(MODULE_PATH + '.__version__', '1.0.0')
def test_user_agent_header(self):
my_provider = EveSwaggerProvider()
my_client = my_provider.client
operation = my_client.Status.get_status()
self.assertEqual(
operation.future.request.headers['User-Agent'], 'allianceauth v1.0.0'
)

View File

@ -45,6 +45,7 @@ DATABASES['default'] = {
ESI_SSO_CLIENT_ID = ''
ESI_SSO_CLIENT_SECRET = ''
ESI_SSO_CALLBACK_URL = ''
ESI_USER_CONTACT_EMAIL = '' # A server maintainer that CCP can contact in case of issues.
# By default emails are validated before new users can log in.
# It's recommended to use a free service like SparkPost or Elastic Email to send email.

View File

@ -181,6 +181,8 @@ For **scopes** your SSO app needs to have at least `publicData`. Additional scop
As **callback URL** you want to define the URL of your Alliance Auth site plus the route: `/sso/callback`. Example for a valid callback URL: `https://auth.example.com/sso/callback`
In `local.py` you will need to set `ESI_USER_CONTACT_EMAIL` to an email address to ensure that CCP has reliable contact information for you.
### Alliance Auth Project
Ensure wheel is available before continuing:

View File

@ -33,7 +33,7 @@ install_requires = [
'sleekxmpp',
'pydiscourse',
'django-esi>=1.5,<3.0'
'django-esi>=2.0.4,<3.0'
]
testing_extras = [