14
0

Accepting request 693027 from home:jayvdb:django

- Remove build dependency on unittest2, as this was also a missing
  runtime dependency on both Python 2 and 3 as the tests are
  distributed in the runtime package, and are used by the test suite
  of other packages.
- Suggest python3-saml dependency for both Python 2 & 3, and
  activate the SAML tests, adding missing saml_config.json for tests.
  Not recommended due to dependency chain including libxmlsec,
  which at the moment is unsupported v1.2.20
- Add README.md to %doc

OBS-URL: https://build.opensuse.org/request/show/693027
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-social-auth-core?expand=0&rev=12
This commit is contained in:
Tomáš Chvátal
2019-04-11 08:18:53 +00:00
committed by Git OBS Bridge
parent ebe7992e43
commit 1c2599c964
4 changed files with 217 additions and 3 deletions

View File

@@ -1,3 +1,16 @@
-------------------------------------------------------------------
Thu Apr 11 04:22:39 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Remove build dependency on unittest2, as this was also a missing
runtime dependency on both Python 2 and 3 as the tests are
distributed in the runtime package, and are used by the test suite
of other packages.
- Suggest python3-saml dependency for both Python 2 & 3, and
activate the SAML tests, adding missing saml_config.json for tests.
Not recommended due to dependency chain including libxmlsec,
which at the moment is unsupported v1.2.20
- Add README.md to %doc
-------------------------------------------------------------------
Wed Apr 3 08:43:25 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

View File

@@ -26,6 +26,9 @@ License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/python-social-auth/social-core
Source: https://files.pythonhosted.org/packages/source/s/social-auth-core/social-auth-core-%{version}.tar.gz
# Missing test data https://github.com/python-social-auth/social-core/pull/351
Source1: https://raw.githubusercontent.com/python-social-auth/social-core/master/social_core/tests/backends/data/saml_config.json
Patch0: remove-unittest2.patch
BuildRequires: %{python_module PyJWT >= 1.4.0}
BuildRequires: %{python_module coverage >= 3.6}
BuildRequires: %{python_module cryptography >= 2.1.1}
@@ -34,12 +37,12 @@ BuildRequires: %{python_module mock}
BuildRequires: %{python_module nose >= 1.2.1}
BuildRequires: %{python_module oauthlib >= 1.0.3}
BuildRequires: %{python_module python-jose >= 3.0.0}
BuildRequires: %{python_module python3-saml}
BuildRequires: %{python_module rednose >= 0.4.1}
BuildRequires: %{python_module requests >= 2.9.1}
BuildRequires: %{python_module requests-oauthlib >= 0.6.1}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six >= 1.10.0}
BuildRequires: %{python_module unittest2}
BuildRequires: ca-certificates
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -54,6 +57,7 @@ Requires: python-python-jose >= 3.0.0
Requires: python-requests >= 2.9.1
Requires: python-requests-oauthlib >= 0.6.1
Requires: python-six >= 1.10.0
Suggests: python-python3-saml
BuildArch: noarch
%ifpython2
Requires: python2-python-openid >= 2.2.5
@@ -76,6 +80,8 @@ storage solutions.
%prep
%setup -q -n social-auth-core-%{version}
%patch0 -p1
cp %{SOURCE1} social_core/tests/backends/data/
%build
%python_build
@@ -85,10 +91,10 @@ storage solutions.
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%python_expand %{_bindir}/nosetests-%{$python_bin_suffix} --ignore-files test_saml.py
%python_expand %{_bindir}/nosetests-%{$python_bin_suffix}
%files %{python_files}
%doc CHANGELOG.md
%doc CHANGELOG.md README.md
%license LICENSE
%{python_sitelib}/*

172
remove-unittest2.patch Normal file
View File

@@ -0,0 +1,172 @@
Index: social-auth-core-3.1.0/social_core/tests/__init__.py
===================================================================
--- /dev/null
+++ social-auth-core-3.1.0/social_core/tests/__init__.py
@@ -0,0 +1,6 @@
+try:
+ import unittest2
+ import sys
+ sys.modules['unittest'] = unittest2
+except ImportError:
+ pass
Index: social-auth-core-3.1.0/social_core/tests/actions/actions.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/actions/actions.py
+++ social-auth-core-3.1.0/social_core/tests/actions/actions.py
@@ -1,6 +1,6 @@
import json
import requests
-import unittest2 as unittest
+import unittest
from httpretty import HTTPretty
Index: social-auth-core-3.1.0/social_core/tests/backends/base.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/base.py
+++ social-auth-core-3.1.0/social_core/tests/backends/base.py
@@ -1,4 +1,4 @@
-import unittest2 as unittest
+import unittest
import requests
from httpretty import HTTPretty
Index: social-auth-core-3.1.0/social_core/tests/backends/open_id_connect.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/open_id_connect.py
+++ social-auth-core-3.1.0/social_core/tests/backends/open_id_connect.py
@@ -3,7 +3,7 @@ import os
import sys
import json
import datetime
-import unittest2
+import unittest
import base64
from calendar import timegm
Index: social-auth-core-3.1.0/social_core/tests/backends/test_broken.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/test_broken.py
+++ social-auth-core-3.1.0/social_core/tests/backends/test_broken.py
@@ -1,4 +1,4 @@
-import unittest2 as unittest
+import unittest
from ...backends.base import BaseAuth
from ..strategy import TestStrategy
Index: social-auth-core-3.1.0/social_core/tests/backends/test_elixir.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/test_elixir.py
+++ social-auth-core-3.1.0/social_core/tests/backends/test_elixir.py
@@ -1,4 +1,4 @@
-import unittest2
+import unittest
from .oauth import OAuth1Test, OAuth2Test
from .open_id_connect import OpenIdConnectTestMixin
Index: social-auth-core-3.1.0/social_core/tests/backends/test_globus.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/test_globus.py
+++ social-auth-core-3.1.0/social_core/tests/backends/test_globus.py
@@ -1,5 +1,5 @@
import json
-import unittest2
+import unittest
from .oauth import OAuth1Test, OAuth2Test
from .open_id_connect import OpenIdConnectTestMixin
Index: social-auth-core-3.1.0/social_core/tests/backends/test_google.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/test_google.py
+++ social-auth-core-3.1.0/social_core/tests/backends/test_google.py
@@ -1,6 +1,6 @@
import datetime
import json
-import unittest2
+import unittest
from httpretty import HTTPretty
Index: social-auth-core-3.1.0/social_core/tests/backends/test_saml.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/test_saml.py
+++ social-auth-core-3.1.0/social_core/tests/backends/test_saml.py
@@ -1,7 +1,7 @@
import re
import json
import sys
-import unittest2
+import unittest
import requests
import os
from os import path
@@ -28,11 +28,11 @@ from ...exceptions import AuthMissingPar
DATA_DIR = path.join(path.dirname(__file__), 'data')
-@unittest2.skipIf('TRAVIS' in os.environ,
- 'Travis-ci segfaults probably due to a bad '
- 'dependencies build')
-@unittest2.skipIf('__pypy__' in sys.builtin_module_names,
- 'dm.xmlsec not compatible with pypy')
+@unittest.skipIf('TRAVIS' in os.environ,
+ 'Travis-ci segfaults probably due to a bad '
+ 'dependencies build')
+@unittest.skipIf('__pypy__' in sys.builtin_module_names,
+ 'dm.xmlsec not compatible with pypy')
class SAMLTest(BaseBackendTest):
backend_path = 'social_core.backends.saml.SAMLAuth'
expected_username = 'myself'
Index: social-auth-core-3.1.0/social_core/tests/backends/test_utils.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/backends/test_utils.py
+++ social-auth-core-3.1.0/social_core/tests/backends/test_utils.py
@@ -1,4 +1,4 @@
-import unittest2 as unittest
+import unittest
from ..models import TestStorage
from ..strategy import TestStrategy
Index: social-auth-core-3.1.0/social_core/tests/test_exceptions.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/test_exceptions.py
+++ social-auth-core-3.1.0/social_core/tests/test_exceptions.py
@@ -1,4 +1,4 @@
-import unittest2 as unittest
+import unittest
from ..exceptions import SocialAuthBaseException, WrongBackend, \
AuthFailed, AuthTokenError, \
Index: social-auth-core-3.1.0/social_core/tests/test_partial.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/test_partial.py
+++ social-auth-core-3.1.0/social_core/tests/test_partial.py
@@ -1,4 +1,4 @@
-import unittest2 as unittest
+import unittest
try:
from mock import Mock, patch
except ImportError:
Index: social-auth-core-3.1.0/social_core/tests/test_storage.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/test_storage.py
+++ social-auth-core-3.1.0/social_core/tests/test_storage.py
@@ -1,6 +1,6 @@
import six
import random
-import unittest2 as unittest
+import unittest
from ..strategy import BaseStrategy
from ..storage import UserMixin, NonceMixin, AssociationMixin, \
Index: social-auth-core-3.1.0/social_core/tests/test_utils.py
===================================================================
--- social-auth-core-3.1.0.orig/social_core/tests/test_utils.py
+++ social-auth-core-3.1.0/social_core/tests/test_utils.py
@@ -1,5 +1,5 @@
import sys
-import unittest2 as unittest
+import unittest
try:
from unittest.mock import Mock

23
saml_config.json Normal file
View File

@@ -0,0 +1,23 @@
{
"SOCIAL_AUTH_SAML_SP_ENTITY_ID": "https://github.com/omab/python-social-auth/saml-test",
"SOCIAL_AUTH_SAML_SP_PUBLIC_CERT": "MIICsDCCAhmgAwIBAgIJAO7BwdjDZcUWMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNBMRkwFwYDVQQIExBCcml0aXNoIENvbHVtYmlhMRswGQYDVQQKExJweXRob24tc29jaWFsLWF1dGgwHhcNMTUwNTA4MDc1ODQ2WhcNMjUwNTA3MDc1ODQ2WjBFMQswCQYDVQQGEwJDQTEZMBcGA1UECBMQQnJpdGlzaCBDb2x1bWJpYTEbMBkGA1UEChMScHl0aG9uLXNvY2lhbC1hdXRoMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq3g1Cl+3uR5vCnN4HbgjTg+m3nHhteEMyb++ycZYre2bxUfsshER6x33l23tHckRYwm7MdBbrp3LrVoiOCdPblTml1IhEPTCwKMhBKvvWqTvgfcSSnRzAWkLlQYSusayyZK4n9qcYkV5MFni1rbjx+Mr5aOEmb5u33amMKLwSTwIDAQABo4GnMIGkMB0GA1UdDgQWBBRRiBR6zS66fKVokp0yJHbgv3RYmjB1BgNVHSMEbjBsgBRRiBR6zS66fKVokp0yJHbgv3RYmqFJpEcwRTELMAkGA1UEBhMCQ0ExGTAXBgNVBAgTEEJyaXRpc2ggQ29sdW1iaWExGzAZBgNVBAoTEnB5dGhvbi1zb2NpYWwtYXV0aIIJAO7BwdjDZcUWMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAJwsMU3YSaybVjuJ8US0fUhlPOlM40QFCGL4vB3TEbb24Mq8HrjUwrU0JFPGls9a2OYzN2B3e35NorMuxs+grGtr2yP6LvuX+nV6A93wb4ooGHoGfC7VLlyxSSns937SS5R1pzQ4gWzZma2KGWKICWph5zQ0ARVhL63967mGLmoI=",
"SOCIAL_AUTH_SAML_SP_PRIVATE_KEY": "MIICXgIBAAKBgQCq3g1Cl+3uR5vCnN4HbgjTg+m3nHhteEMyb++ycZYre2bxUfsshER6x33l23tHckRYwm7MdBbrp3LrVoiOCdPblTml1IhEPTCwKMhBKvvWqTvgfcSSnRzAWkLlQYSusayyZK4n9qcYkV5MFni1rbjx+Mr5aOEmb5u33amMKLwSTwIDAQABAoGBAIHAg6NJSiYC/NYpVzWfKlasuoNy78R5adXYSNZiCR5V5FNm5OzmODZgXUt6g0A7FomshIT/txQWoV7y5FmwPs8n13JY3Hdt4tJ6MHw2feLo710+OEp9VBQus3JsB2F8ONYrGvs00hPPL7h5av/rzTdE8F67YM1mSgeg7xEF6BghAkEA12OOqSzp2MLTNY7PqOaLDzy4aAMVNN3Ntv2jBN0jq7s1b5ilQ2PGkLwdtkicq/VZcRyUqVbZbMwz05II3nqx3wJBAMsVhRQ5sdFCRBzEbSAm2YEJaFh5u6QT3+zWHMFpPJRnaBAWz3RXKEnleJ+DS2Xz1Jm6ZrmLdZiwMx/8dK5rDZECQQC7GTdWi7ZC3dIcpwaKIGHRhZxmda8ZMkc9Wwwd8H7I8aFUZFPCu0xEc7SXoHHACit8zyfwBYpvMN8gPK3JnOkfAkEAsUSpk0wBMT38one7IZOHzCDgGkq4RbKrhdon45Pus0PIDDM9BrqFimtpbSN4DxhVfZK91DwtfAhhuAvv9cewYQJAPMhpAqv3PBGYmtRDUlWXJQv2JRJJkrvbbqgBed2OX5RRgj5V3SR6PBhLbcTZ+q+1tdPkMFzZo5U6MN5m/6oXvQ==",
"SOCIAL_AUTH_SAML_ORG_INFO": {
"en-US": {"name": "psa", "displayname": "PSA", "url": "https://github.com/omab/python-social-auth/"}
},
"SOCIAL_AUTH_SAML_TECHNICAL_CONTACT":
{"givenName": "Tech Gal", "emailAddress": "technical@example.com"},
"SOCIAL_AUTH_SAML_SUPPORT_CONTACT":
{"givenName": "Support Guy", "emailAddress": "support@example.com"},
"SOCIAL_AUTH_SAML_ENABLED_IDPS": {
"testshib": {
"entity_id": "https://idp.testshib.org/idp/shibboleth",
"url": "https://idp.testshib.org/idp/profile/SAML2/Redirect/SSO",
"x509cert": "MIIEDjCCAvagAwIBAgIBADANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJVUzEVMBMGA1UECBMMUGVubnN5bHZhbmlhMRMwEQYDVQQHEwpQaXR0c2J1cmdoMREwDwYDVQQKEwhUZXN0U2hpYjEZMBcGA1UEAxMQaWRwLnRlc3RzaGliLm9yZzAeFw0wNjA4MzAyMTEyMjVaFw0xNjA4MjcyMTEyMjVaMGcxCzAJBgNVBAYTAlVTMRUwEwYDVQQIEwxQZW5uc3lsdmFuaWExEzARBgNVBAcTClBpdHRzYnVyZ2gxETAPBgNVBAoTCFRlc3RTaGliMRkwFwYDVQQDExBpZHAudGVzdHNoaWIub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArYkCGuTmJp9eAOSGHwRJo1SNatB5ZOKqDM9ysg7CyVTDClcpu93gSP10nH4gkCZOlnESNgttg0r+MqL8tfJC6ybddEFB3YBo8PZajKSe3OQ01Ow3yT4I+Wdg1tsTpSge9gEz7SrC07EkYmHuPtd71CHiUaCWDv+xVfUQX0aTNPFmDixzUjoYzbGDrtAyCqA8f9CN2txIfJnpHE6q6CmKcoLADS4UrNPlhHSzd614kR/JYiks0K4kbRqCQF0Dv0P5Di+rEfefC6glV8ysC8dB5/9nb0yh/ojRuJGmgMWHgWk6h0ihjihqiu4jACovUZ7vVOCgSE5Ipn7OIwqd93zp2wIDAQABo4HEMIHBMB0GA1UdDgQWBBSsBQ869nh83KqZr5jArr4/7b+QazCBkQYDVR0jBIGJMIGGgBSsBQ869nh83KqZr5jArr4/7b+Qa6FrpGkwZzELMAkGA1UEBhMCVVMxFTATBgNVBAgTDFBlbm5zeWx2YW5pYTETMBEGA1UEBxMKUGl0dHNidXJnaDERMA8GA1UEChMIVGVzdFNoaWIxGTAXBgNVBAMTEGlkcC50ZXN0c2hpYi5vcmeCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAjR29PhrCbk8qLN5MFfSVk98t3CT9jHZoYxd8QMRLI4j7iYQxXiGJTT1FXs1nd4Rha9un+LqTfeMMYqISdDDI6tv8iNpkOAvZZUosVkUo93pv1T0RPz35hcHHYq2yee59HJOco2bFlcsH8JBXRSRrJ3Q7Eut+z9uo80JdGNJ4/SJy5UorZ8KazGj16lfJhOBXldgrhppQBb0Nq6HKHguqmwRfJ+WkxemZXzhediAjGeka8nz8JjwxpUjAiSWYKLtJhGEaTqCYxCCX2Dw+dOTqUzHOZ7WKv4JXPK5G/Uhr8K/qhmFT2nIQi538n6rVYLeWj8Bbnl+ev0peYzxFyF5sQA=="
},
"other": {
"entity_id": "https://unused.saml.example.com",
"url": "https://unused.saml.example.com/SAML2/Redirect/SSO"
}
}
}