summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <cheimes@redhat.com>2016-02-23 20:20:57 +0100
committerChristian Heimes <cheimes@redhat.com>2016-02-23 20:20:57 +0100
commitb96bcf71fcfd23eb2e5c636f8eee626c11c14960 (patch)
tree0b0dab36f84d2b299d0b38eba2cd115598c7282e
parentda4ca36ef5e378f55259438b4f72491d0966e5e7 (diff)
downloadpki-b96bcf71fcfd23eb2e5c636f8eee626c11c14960.tar.gz
pki-b96bcf71fcfd23eb2e5c636f8eee626c11c14960.tar.xz
pki-b96bcf71fcfd23eb2e5c636f8eee626c11c14960.zip
Python 3 fix for Tomcat.get_major_version()
I forgot to decode the output of subprocess.check_call(). All other places decode bytes to text properly.
-rw-r--r--base/server/python/pki/server/__init__.py1
-rw-r--r--tests/python/test_pki_server.py35
-rw-r--r--tox.ini2
3 files changed, 37 insertions, 1 deletions
diff --git a/base/server/python/pki/server/__init__.py b/base/server/python/pki/server/__init__.py
index cb246aaa1..26418d45c 100644
--- a/base/server/python/pki/server/__init__.py
+++ b/base/server/python/pki/server/__init__.py
@@ -471,6 +471,7 @@ class Tomcat(object):
# run "tomcat version"
output = subprocess.check_output(['/usr/sbin/tomcat', 'version'])
+ output = output.decode('utf-8')
# find "Server version: Apache Tomcat/<major version>.<minor version>"
match = re.search(r'^Server version:[^/]*/(\d+).*$', output, re.MULTILINE)
diff --git a/tests/python/test_pki_server.py b/tests/python/test_pki_server.py
new file mode 100644
index 000000000..c358c5463
--- /dev/null
+++ b/tests/python/test_pki_server.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Authors:
+# Christian Heimes <cheimes@redhat.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Copyright (C) 2016 Red Hat, Inc.
+# All rights reserved.
+#
+
+import unittest
+
+import pki.server
+
+
+class PKIServerTests(unittest.TestCase):
+ def test_tomcat_version(self):
+ tomcat = pki.server.Tomcat()
+ version = tomcat.get_major_version()
+ self.assertIn(version, ['7', '8'])
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/tox.ini b/tox.ini
index 4024f1df4..dc75a8b55 100644
--- a/tox.ini
+++ b/tox.ini
@@ -34,7 +34,7 @@ commands =
{envpython} {envbindir}/pki-server --help
{envpython} {envbindir}/pki-server-upgrade --help
{envpython} {envbindir}/pki-upgrade --help
- py.test --capture=no --strict {posargs}
+ py.test --capture=no --strict tests/python {posargs}
[testenv:lint]
basepython = python2.7