Fix failing tests.

Modernize the SPEC file.
This commit is contained in:
Charalampos Stratakis 2017-01-16 16:25:17 +01:00
parent b3f180f146
commit 00159b377c
2 changed files with 90 additions and 11 deletions

57
fix-failing-tests.patch Normal file
View File

@ -0,0 +1,57 @@
From d9923b582a31cafce75ddd3a97857fa1794e22ca Mon Sep 17 00:00:00 2001
From: Christian Heimes <cheimes@redhat.com>
Date: Wed, 4 Jan 2017 15:02:00 +0100
Subject: [PATCH] Fix tests
Python 2's mock is no longer compatible to more recent versions of
Python's socket module. Tests are still fine without the autospec
feature.
More recent versions of pytests refuse to load tests because pytest
considers webtest.TestApp as a test class with a non-trival __init__.
Signed-off-by: Christian Heimes <cheimes@redhat.com>
---
tests.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests.py b/tests.py
index 836f77b..9679823 100644
--- a/tests.py
+++ b/tests.py
@@ -34,7 +34,7 @@
from pyasn1.codec.der import decoder, encoder
-from webtest import TestApp
+from webtest import TestApp as WebTestApp
import kdcproxy
# from kdcproxy import asn1
@@ -59,7 +59,7 @@ def setUp(self): # noqa
self.await_reply.return_value = b'RESPONSE'
self.resolver = self.app._Application__resolver = mock.Mock()
self.resolver.lookup.return_value = ["kerberos://k1.kdcproxy.test.:88"]
- self.tapp = TestApp(self.app)
+ self.tapp = WebTestApp(self.app)
def post(self, body, expect_errors=False):
return self.tapp.post(
@@ -79,7 +79,7 @@ def test_get(self):
self.assertEqual(r.text, 'Method not allowed (GET).')
@mock.patch('socket.getaddrinfo', return_value=addrinfo)
- @mock.patch('socket.socket', autospec=True)
+ @mock.patch('socket.socket')
def test_post_asreq(self, m_socket, m_getaddrinfo):
response = self.post(KDCProxyCodecTests.asreq1)
self.assert_response(response)
@@ -92,7 +92,7 @@ def test_post_asreq(self, m_socket, m_getaddrinfo):
)
@mock.patch('socket.getaddrinfo', return_value=addrinfo)
- @mock.patch('socket.socket', autospec=True)
+ @mock.patch('socket.socket')
def test_post_kpasswd(self, m_socket, m_getaddrinfo):
response = self.post(KDCProxyCodecTests.kpasswdreq)
self.assert_response(response)

View File

@ -2,24 +2,27 @@
Name: python-%{realname} Name: python-%{realname}
Version: 0.3.2 Version: 0.3.2
Release: 5%{?dist} Release: 6%{?dist}
Summary: MS-KKDCP (kerberos proxy) WSGI module Summary: MS-KKDCP (kerberos proxy) WSGI module
License: MIT License: MIT
URL: https://github.com/npmccallum/%{realname} URL: https://github.com/npmccallum/%{realname}
Source0: https://github.com/npmccallum/%{realname}/archive/v%{version}.tar.gz Source0: https://github.com/npmccallum/%{realname}/archive/v%{version}.tar.gz
# Fix failing tests
# Commited upstream: https://github.com/latchset/kdcproxy/commit/d9923b582a31cafce75ddd3a97857fa1794e22ca
Patch0: fix-failing-tests.patch
BuildArch: noarch BuildArch: noarch
BuildRequires: python2-devel BuildRequires: python2-devel
%if 0%{?rhel} == 0 %if 0%{?rhel} == 0
BuildRequires: /usr/bin/tox BuildRequires: /usr/bin/tox
BuildRequires: pytest BuildRequires: python2-pytest
BuildRequires: python-coverage BuildRequires: python2-coverage
BuildRequires: python-webtest BuildRequires: python-webtest
BuildRequires: python-pyasn1 BuildRequires: python2-pyasn1
BuildRequires: python-dns BuildRequires: python2-dns
BuildRequires: python-mock BuildRequires: python2-mock
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: python3-pytest BuildRequires: python3-pytest
@ -30,10 +33,20 @@ BuildRequires: python3-dns
BuildRequires: python3-mock BuildRequires: python3-mock
%endif %endif
Requires: python-dns
Requires: python-pyasn1
%description %description
This package contains a Python WSGI module for proxying KDC requests over
HTTP by following the MS-KKDCP protocol. It aims to be simple to deploy, with
minimal configuration.
%package -n python2-%{realname}
Summary: MS-KKDCP (kerberos proxy) WSGI module
Requires: python2-dns
Requires: python2-pyasn1
%{?python_provide:%python_provide python2-%{realname}}
%description -n python2-%{realname}
This package contains a Python 2.x WSGI module for proxying KDC requests over This package contains a Python 2.x WSGI module for proxying KDC requests over
HTTP by following the MS-KKDCP protocol. It aims to be simple to deploy, with HTTP by following the MS-KKDCP protocol. It aims to be simple to deploy, with
minimal configuration. minimal configuration.
@ -44,6 +57,8 @@ Summary: MS-KKDCP (kerberos proxy) WSGI module
Requires: python3-dns Requires: python3-dns
Requires: python3-pyasn1 Requires: python3-pyasn1
%{?python_provide:%python_provide python3-%{realname}}
%description -n python3-%{realname} %description -n python3-%{realname}
This package contains a Python 3.x WSGI module for proxying KDC requests over This package contains a Python 3.x WSGI module for proxying KDC requests over
HTTP by following the MS-KKDCP protocol. It aims to be simple to deploy, with HTTP by following the MS-KKDCP protocol. It aims to be simple to deploy, with
@ -52,6 +67,7 @@ minimal configuration.
%prep %prep
%setup -q -n %{realname}-%{version} %setup -q -n %{realname}-%{version}
%patch0 -p1
%build %build
%{__python} setup.py build %{__python} setup.py build
@ -71,19 +87,25 @@ find $RPM_BUILD_ROOT%{python3_sitelib}/%{realname}/ -name '*.py' -exec chmod 755
tox --sitepackages -e py27,py%{python3_version_nodots} tox --sitepackages -e py27,py%{python3_version_nodots}
%endif %endif
%files %files -n python2-%{realname}
%doc COPYING README %doc README
%license COPYING
%{python_sitelib}/%{realname} %{python_sitelib}/%{realname}
%{python_sitelib}/%{realname}-%{version}-*.egg-info %{python_sitelib}/%{realname}-%{version}-*.egg-info
%if 0%{?rhel} == 0 %if 0%{?rhel} == 0
%files -n python3-%{realname} %files -n python3-%{realname}
%doc COPYING README %doc README
%license COPYING
%{python3_sitelib}/%{realname} %{python3_sitelib}/%{realname}
%{python3_sitelib}/%{realname}-%{version}-*.egg-info %{python3_sitelib}/%{realname}-%{version}-*.egg-info
%endif %endif
%changelog %changelog
* Mon Jan 16 2017 Charalampos Stratakis <cstratak@redhat.com> - 0.3.2-6
- Fix failing tests
- Modernize the SPEC file
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.3.2-5 * Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.3.2-5
- Rebuild for Python 3.6 - Rebuild for Python 3.6
- BR /usr/bin/tox instead of python-tox - BR /usr/bin/tox instead of python-tox