Hello community,
here is the log from the commit of package python-oslo.serialization for openSUSE:Factory checked in at 2015-10-30 13:42:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.serialization (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.serialization.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.serialization"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.serialization/python-oslo.serialization.changes 2015-08-27 08:54:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-oslo.serialization.new/python-oslo.serialization.changes 2015-10-30 13:42:21.000000000 +0100
@@ -1,0 +2,18 @@
+Wed Sep 9 06:54:35 UTC 2015 - tbechtold@suse.com
+
+- update to 1.9.0:
+ * Updated from global requirements
+ * Drop stale test - test_jsonutils
+ * Stop using deprecated oslo_utils.timeutils.strtime
+ * Add tox target to find missing requirements
+ * Remove oslo namespace package
+ * Do not use oslo namespace for oslo.i18n lib
+ * Switch badges from 'pypip.in' to 'shields.io'
+- Adjust Requires according to requirements.txt
+
+-------------------------------------------------------------------
+Mon Aug 10 11:45:21 UTC 2015 - seife+obs@b1-systems.com
+
+- fix spelling of python-Sphinx BuildRequires
+
+-------------------------------------------------------------------
Old:
----
oslo.serialization-1.6.0.tar.gz
New:
----
oslo.serialization-1.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.serialization.spec ++++++
--- /var/tmp/diff_new_pack.oAZB7a/_old 2015-10-30 13:42:22.000000000 +0100
+++ /var/tmp/diff_new_pack.oAZB7a/_new 2015-10-30 13:42:22.000000000 +0100
@@ -17,7 +17,7 @@
Name: python-oslo.serialization
-Version: 1.6.0
+Version: 1.9.0
Release: 0
Summary: OpenStack serialization API
License: Apache-2.0
@@ -28,18 +28,18 @@
BuildRequires: python-devel
BuildRequires: python-pbr
# Test requirements
+BuildRequires: python-Sphinx
BuildRequires: python-coverage
BuildRequires: python-mock
BuildRequires: python-netaddr
BuildRequires: python-oslo.i18n
BuildRequires: python-oslotest
BuildRequires: python-simplejson
-BuildRequires: python-sphinx
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: python-Babel >= 1.3
Requires: python-iso8601 >= 0.1.9
Requires: python-msgpack-python >= 0.4.0
-Requires: python-oslo.utils >= 1.4.0
+Requires: python-oslo.utils >= 2.0.0
Requires: python-pytz >= 2013.6
Requires: python-six >= 1.9.0
BuildArch: noarch
++++++ oslo.serialization-1.6.0.tar.gz -> oslo.serialization-1.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/AUTHORS new/oslo.serialization-1.9.0/AUTHORS
--- old/oslo.serialization-1.6.0/AUTHORS 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/AUTHORS 2015-09-08 18:00:55.000000000 +0200
@@ -2,6 +2,7 @@
Andreas Jaeger
Ann Kamyshnikova
Ben Nemec
+Brant Knudson
Chang Bo Guo
Christian Berendt
Chuck Short
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/ChangeLog new/oslo.serialization-1.9.0/ChangeLog
--- old/oslo.serialization-1.6.0/ChangeLog 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/ChangeLog 2015-09-08 18:00:55.000000000 +0200
@@ -1,6 +1,36 @@
CHANGES
=======
+1.9.0
+-----
+
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+
+1.8.0
+-----
+
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Drop stale test - test_jsonutils
+
+1.7.0
+-----
+
+* Stop using deprecated oslo_utils.timeutils.strtime
+* Add tox target to find missing requirements
+* Remove oslo namespace package
+* Do not use oslo namespace for oslo.i18n lib
+* Updated from global requirements
+* Updated from global requirements
+* Switch badges from 'pypip.in' to 'shields.io'
+
1.6.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/PKG-INFO new/oslo.serialization-1.9.0/PKG-INFO
--- old/oslo.serialization-1.6.0/PKG-INFO 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/PKG-INFO 2015-09-08 18:00:56.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.serialization
-Version: 1.6.0
+Version: 1.9.0
Summary: Oslo Serialization library
Home-page: http://launchpad.net/oslo
Author: OpenStack
@@ -10,11 +10,11 @@
oslo.serialization
====================
- .. image:: https://pypip.in/version/oslo.serialization/badge.svg
+ .. image:: https://img.shields.io/pypi/v/oslo.serialization.svg
:target: https://pypi.python.org/pypi/oslo.serialization/
:alt: Latest Version
- .. image:: https://pypip.in/download/oslo.serialization/badge.svg?period=month
+ .. image:: https://img.shields.io/pypi/dm/oslo.serialization.svg
:target: https://pypi.python.org/pypi/oslo.serialization/
:alt: Downloads
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/README.rst new/oslo.serialization-1.9.0/README.rst
--- old/oslo.serialization-1.6.0/README.rst 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/README.rst 2015-09-08 18:00:19.000000000 +0200
@@ -2,11 +2,11 @@
oslo.serialization
====================
-.. image:: https://pypip.in/version/oslo.serialization/badge.svg
+.. image:: https://img.shields.io/pypi/v/oslo.serialization.svg
:target: https://pypi.python.org/pypi/oslo.serialization/
:alt: Latest Version
-.. image:: https://pypip.in/download/oslo.serialization/badge.svg?period=month
+.. image:: https://img.shields.io/pypi/dm/oslo.serialization.svg
:target: https://pypi.python.org/pypi/oslo.serialization/
:alt: Downloads
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo/__init__.py new/oslo.serialization-1.9.0/oslo/__init__.py
--- old/oslo.serialization-1.6.0/oslo/__init__.py 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo/__init__.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-__import__('pkg_resources').declare_namespace(__name__)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo/serialization/__init__.py new/oslo.serialization-1.9.0/oslo/serialization/__init__.py
--- old/oslo.serialization-1.6.0/oslo/serialization/__init__.py 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo/serialization/__init__.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import warnings
-
-
-def deprecated():
- new_name = __name__.replace('.', '_')
- warnings.warn(
- ('The oslo namespace package is deprecated. Please use %s instead.' %
- new_name),
- DeprecationWarning,
- stacklevel=3,
- )
-
-
-deprecated()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo/serialization/jsonutils.py new/oslo.serialization-1.9.0/oslo/serialization/jsonutils.py
--- old/oslo.serialization-1.6.0/oslo/serialization/jsonutils.py 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo/serialization/jsonutils.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-from oslo_serialization.jsonutils import * # noqa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo.serialization.egg-info/PKG-INFO new/oslo.serialization-1.9.0/oslo.serialization.egg-info/PKG-INFO
--- old/oslo.serialization-1.6.0/oslo.serialization.egg-info/PKG-INFO 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo.serialization.egg-info/PKG-INFO 2015-09-08 18:00:55.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.serialization
-Version: 1.6.0
+Version: 1.9.0
Summary: Oslo Serialization library
Home-page: http://launchpad.net/oslo
Author: OpenStack
@@ -10,11 +10,11 @@
oslo.serialization
====================
- .. image:: https://pypip.in/version/oslo.serialization/badge.svg
+ .. image:: https://img.shields.io/pypi/v/oslo.serialization.svg
:target: https://pypi.python.org/pypi/oslo.serialization/
:alt: Latest Version
- .. image:: https://pypip.in/download/oslo.serialization/badge.svg?period=month
+ .. image:: https://img.shields.io/pypi/dm/oslo.serialization.svg
:target: https://pypi.python.org/pypi/oslo.serialization/
:alt: Downloads
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo.serialization.egg-info/SOURCES.txt new/oslo.serialization-1.9.0/oslo.serialization.egg-info/SOURCES.txt
--- old/oslo.serialization-1.6.0/oslo.serialization.egg-info/SOURCES.txt 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo.serialization.egg-info/SOURCES.txt 2015-09-08 18:00:56.000000000 +0200
@@ -20,23 +20,15 @@
doc/source/history.rst
doc/source/index.rst
doc/source/installation.rst
-oslo/__init__.py
oslo.serialization.egg-info/PKG-INFO
oslo.serialization.egg-info/SOURCES.txt
oslo.serialization.egg-info/dependency_links.txt
-oslo.serialization.egg-info/namespace_packages.txt
oslo.serialization.egg-info/not-zip-safe
oslo.serialization.egg-info/pbr.json
oslo.serialization.egg-info/requires.txt
oslo.serialization.egg-info/top_level.txt
-oslo/serialization/__init__.py
-oslo/serialization/jsonutils.py
oslo_serialization/__init__.py
oslo_serialization/jsonutils.py
oslo_serialization/msgpackutils.py
oslo_serialization/tests/__init__.py
-oslo_serialization/tests/test_jsonutils.py
-tests/__init__.py
-tests/test_jsonutils.py
-tests/test_msgpackutils.py
-tests/test_warning.py
\ No newline at end of file
+oslo_serialization/tests/test_jsonutils.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo.serialization.egg-info/namespace_packages.txt new/oslo.serialization-1.9.0/oslo.serialization.egg-info/namespace_packages.txt
--- old/oslo.serialization-1.6.0/oslo.serialization.egg-info/namespace_packages.txt 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo.serialization.egg-info/namespace_packages.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-oslo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo.serialization.egg-info/pbr.json new/oslo.serialization-1.9.0/oslo.serialization.egg-info/pbr.json
--- old/oslo.serialization-1.6.0/oslo.serialization.egg-info/pbr.json 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo.serialization.egg-info/pbr.json 2015-09-08 18:00:55.000000000 +0200
@@ -1 +1 @@
-{"is_release": true, "git_version": "15c82cc"}
\ No newline at end of file
+{"is_release": true, "git_version": "03f3431"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo.serialization.egg-info/requires.txt new/oslo.serialization-1.9.0/oslo.serialization.egg-info/requires.txt
--- old/oslo.serialization-1.6.0/oslo.serialization.egg-info/requires.txt 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo.serialization.egg-info/requires.txt 2015-09-08 18:00:55.000000000 +0200
@@ -1,7 +1,7 @@
-pbr>=0.11,<2.0
+pbr<2.0,>=1.6
Babel>=1.3
six>=1.9.0
msgpack-python>=0.4.0
iso8601>=0.1.9
-oslo.utils>=1.4.0 # Apache-2.0
+oslo.utils>=2.0.0
pytz>=2013.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo.serialization.egg-info/top_level.txt new/oslo.serialization-1.9.0/oslo.serialization.egg-info/top_level.txt
--- old/oslo.serialization-1.6.0/oslo.serialization.egg-info/top_level.txt 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo.serialization.egg-info/top_level.txt 2015-09-08 18:00:55.000000000 +0200
@@ -1,2 +1 @@
-oslo
oslo_serialization
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/oslo_serialization/jsonutils.py new/oslo.serialization-1.9.0/oslo_serialization/jsonutils.py
--- old/oslo.serialization-1.6.0/oslo_serialization/jsonutils.py 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/oslo_serialization/jsonutils.py 2015-09-08 18:00:19.000000000 +0200
@@ -111,7 +111,7 @@
if isinstance(value, datetime.datetime):
if convert_datetime:
- return timeutils.strtime(value)
+ return value.strftime(timeutils.PERFECT_TIME_FORMAT)
else:
return value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/requirements.txt new/oslo.serialization-1.9.0/requirements.txt
--- old/oslo.serialization-1.6.0/requirements.txt 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/requirements.txt 2015-09-08 18:00:19.000000000 +0200
@@ -7,12 +7,12 @@
# adding a new feature to oslo.serialization means adding a new dependency,
# that is a likely indicator that the feature belongs somewhere else.
-pbr>=0.11,<2.0
+pbr<2.0,>=1.6
Babel>=1.3
six>=1.9.0
msgpack-python>=0.4.0
# Only for timeutils in openstack.common - once we're using the
# library version this can be removed.
iso8601>=0.1.9
-oslo.utils>=1.4.0 # Apache-2.0
+oslo.utils>=2.0.0 # Apache-2.0
pytz>=2013.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/setup.cfg new/oslo.serialization-1.9.0/setup.cfg
--- old/oslo.serialization-1.6.0/setup.cfg 2015-06-02 17:09:32.000000000 +0200
+++ new/oslo.serialization-1.9.0/setup.cfg 2015-09-08 18:00:56.000000000 +0200
@@ -21,11 +21,7 @@
[files]
packages =
- oslo
- oslo.serialization
oslo_serialization
-namespace_packages =
- oslo
[pbr]
warnerrors = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/setup.py new/oslo.serialization-1.9.0/setup.py
--- old/oslo.serialization-1.6.0/setup.py 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/setup.py 2015-09-08 18:00:19.000000000 +0200
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,5 +25,5 @@
pass
setuptools.setup(
- setup_requires=['pbr'],
+ setup_requires=['pbr>=1.3'],
pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/test-requirements.txt new/oslo.serialization-1.9.0/test-requirements.txt
--- old/oslo.serialization-1.6.0/test-requirements.txt 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/test-requirements.txt 2015-09-08 18:00:19.000000000 +0200
@@ -1,15 +1,15 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-hacking>=0.10.0,<0.11
-mock>=1.0
-netaddr>=0.7.12
+hacking<0.11,>=0.10.0
+mock>=1.2
+netaddr!=0.7.16,>=0.7.12
# this is required for the docs build jobs
-sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
-oslosphinx>=2.5.0 # Apache-2.0
+sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2
+oslosphinx>=2.5.0 # Apache-2.0
-oslotest>=1.5.1 # Apache-2.0
+oslotest>=1.10.0 # Apache-2.0
simplejson>=2.2.0
-oslo.i18n>=1.5.0 # Apache-2.0
+oslo.i18n>=1.5.0 # Apache-2.0
coverage>=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/tests/test_jsonutils.py new/oslo.serialization-1.9.0/tests/test_jsonutils.py
--- old/oslo.serialization-1.6.0/tests/test_jsonutils.py 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/tests/test_jsonutils.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,316 +0,0 @@
-# Copyright 2011 OpenStack Foundation.
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import collections
-import datetime
-import json
-import uuid
-
-import mock
-import netaddr
-from oslotest import base as test_base
-import simplejson
-import six
-import six.moves.xmlrpc_client as xmlrpclib
-
-from oslo.i18n import fixture
-from oslo.serialization import jsonutils
-
-
-class JSONUtilsTestMixin(object):
-
- json_impl = None
-
- def setUp(self):
- super(JSONUtilsTestMixin, self).setUp()
- self.json_patcher = mock.patch.multiple(
- jsonutils, json=self.json_impl,
- is_simplejson=self.json_impl is simplejson)
- self.json_impl_mock = self.json_patcher.start()
-
- def tearDown(self):
- self.json_patcher.stop()
- super(JSONUtilsTestMixin, self).tearDown()
-
- def test_dumps(self):
- self.assertEqual('{"a": "b"}', jsonutils.dumps({'a': 'b'}))
-
- def test_dumps_namedtuple(self):
- n = collections.namedtuple("foo", "bar baz")(1, 2)
- self.assertEqual('[1, 2]', jsonutils.dumps(n))
-
- def test_dump(self):
- expected = '{"a": "b"}'
- json_dict = {'a': 'b'}
-
- fp = six.StringIO()
- jsonutils.dump(json_dict, fp)
-
- self.assertEqual(expected, fp.getvalue())
-
- def test_dump_namedtuple(self):
- expected = '[1, 2]'
- json_dict = collections.namedtuple("foo", "bar baz")(1, 2)
-
- fp = six.StringIO()
- jsonutils.dump(json_dict, fp)
-
- self.assertEqual(expected, fp.getvalue())
-
- def test_dumps_uuid(self):
- self.assertEqual('"87edfaf4-9bff-11e4-82bd-b7b4e88d3780"',
- jsonutils.dumps(
- uuid.UUID("87edfaf49bff11e482bdb7b4e88d3780")))
-
- def test_dump_set(self):
- # Only test with one entry because the order is random :]
- self.assertEqual("[1]", jsonutils.dumps(set([1])))
-
- def test_loads(self):
- self.assertEqual({'a': 'b'}, jsonutils.loads('{"a": "b"}'))
-
- def test_loads_unicode(self):
- self.assertIsInstance(jsonutils.loads(b'"foo"'), six.text_type)
- self.assertIsInstance(jsonutils.loads(u'"foo"'), six.text_type)
-
- # 'test' in Ukrainian
- i18n_str_unicode = u'"\u0442\u0435\u0441\u0442"'
- self.assertIsInstance(jsonutils.loads(i18n_str_unicode), six.text_type)
-
- i18n_str = i18n_str_unicode.encode('utf-8')
- self.assertIsInstance(jsonutils.loads(i18n_str), six.text_type)
-
- def test_loads_with_kwargs(self):
- jsontext = u'{"foo": 3}'
- result = jsonutils.loads(jsontext, parse_int=lambda x: 5)
- self.assertEqual(5, result['foo'])
-
- def test_load(self):
-
- jsontext = u'{"a": "\u0442\u044d\u0441\u0442"}'
- expected = {u'a': u'\u0442\u044d\u0441\u0442'}
-
- for encoding in ('utf-8', 'cp1251'):
- fp = six.BytesIO(jsontext.encode(encoding))
- result = jsonutils.load(fp, encoding=encoding)
- self.assertEqual(expected, result)
- for key, val in result.items():
- self.assertIsInstance(key, six.text_type)
- self.assertIsInstance(val, six.text_type)
-
-
-class JSONUtilsTestJson(JSONUtilsTestMixin, test_base.BaseTestCase):
- json_impl = json
-
-
-class JSONUtilsTestSimpleJson(JSONUtilsTestMixin, test_base.BaseTestCase):
- json_impl = simplejson
-
-
-class ToPrimitiveTestCase(test_base.BaseTestCase):
- def setUp(self):
- super(ToPrimitiveTestCase, self).setUp()
- self.trans_fixture = self.useFixture(fixture.Translation())
-
- def test_list(self):
- self.assertEqual(jsonutils.to_primitive([1, 2, 3]), [1, 2, 3])
-
- def test_set(self):
- self.assertEqual(jsonutils.to_primitive(set([1, 2, 3])), [1, 2, 3])
-
- def test_empty_list(self):
- self.assertEqual(jsonutils.to_primitive([]), [])
-
- def test_tuple(self):
- self.assertEqual(jsonutils.to_primitive((1, 2, 3)), [1, 2, 3])
-
- def test_dict(self):
- self.assertEqual(jsonutils.to_primitive(dict(a=1, b=2, c=3)),
- dict(a=1, b=2, c=3))
-
- def test_dict_values(self):
- self.assertEqual(
- jsonutils.to_primitive(
- dict(a=uuid.UUID("DD9FB2B6-CE81-4A7B-8B56-90E35D650A0B"))),
- dict(a=u"dd9fb2b6-ce81-4a7b-8b56-90e35d650a0b"))
-
- def test_dict_keys(self):
- self.assertEqual(
- jsonutils.to_primitive(
- {uuid.UUID("DD9FB2B6-CE81-4A7B-8B56-90E35D650A0B"): 4}),
- {u"dd9fb2b6-ce81-4a7b-8b56-90e35d650a0b": 4})
-
- def test_empty_dict(self):
- self.assertEqual(jsonutils.to_primitive({}), {})
-
- def test_datetime(self):
- x = datetime.datetime(1920, 2, 3, 4, 5, 6, 7)
- self.assertEqual(jsonutils.to_primitive(x),
- '1920-02-03T04:05:06.000007')
-
- def test_uuid(self):
- x = uuid.uuid4()
- self.assertEqual(jsonutils.to_primitive(x),
- six.text_type(x))
-
- def test_datetime_preserve(self):
- x = datetime.datetime(1920, 2, 3, 4, 5, 6, 7)
- self.assertEqual(jsonutils.to_primitive(x, convert_datetime=False), x)
-
- def test_DateTime(self):
- x = xmlrpclib.DateTime()
- x.decode("19710203T04:05:06")
- self.assertEqual(jsonutils.to_primitive(x),
- '1971-02-03T04:05:06.000000')
-
- def test_iter(self):
- class IterClass(object):
- def __init__(self):
- self.data = [1, 2, 3, 4, 5]
- self.index = 0
-
- def __iter__(self):
- return self
-
- def next(self):
- if self.index == len(self.data):
- raise StopIteration
- self.index = self.index + 1
- return self.data[self.index - 1]
- __next__ = next
-
- x = IterClass()
- self.assertEqual(jsonutils.to_primitive(x), [1, 2, 3, 4, 5])
-
- def test_iteritems(self):
- class IterItemsClass(object):
- def __init__(self):
- self.data = dict(a=1, b=2, c=3).items()
- self.index = 0
-
- def iteritems(self):
- return self.data
-
- x = IterItemsClass()
- p = jsonutils.to_primitive(x)
- self.assertEqual(p, {'a': 1, 'b': 2, 'c': 3})
-
- def test_iteritems_with_cycle(self):
- class IterItemsClass(object):
- def __init__(self):
- self.data = dict(a=1, b=2, c=3)
- self.index = 0
-
- def iteritems(self):
- return self.data.items()
-
- x = IterItemsClass()
- x2 = IterItemsClass()
- x.data['other'] = x2
- x2.data['other'] = x
-
- # If the cycle isn't caught, to_primitive() will eventually result in
- # an exception due to excessive recursion depth.
- jsonutils.to_primitive(x)
-
- def test_instance(self):
- class MysteryClass(object):
- a = 10
-
- def __init__(self):
- self.b = 1
-
- x = MysteryClass()
- self.assertEqual(jsonutils.to_primitive(x, convert_instances=True),
- dict(b=1))
-
- self.assertEqual(jsonutils.to_primitive(x), x)
-
- def test_typeerror(self):
- x = bytearray # Class, not instance
- if six.PY3:
- self.assertEqual(jsonutils.to_primitive(x), u"")
- else:
- self.assertEqual(jsonutils.to_primitive(x), u"")
-
- def test_nasties(self):
- def foo():
- pass
- x = [datetime, foo, dir]
- ret = jsonutils.to_primitive(x)
- self.assertEqual(len(ret), 3)
- self.assertTrue(ret[0].startswith(u"http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import datetime
-import itertools
-import sys
-import uuid
-
-import netaddr
-from oslotest import base as test_base
-from pytz import timezone
-import six
-import six.moves.xmlrpc_client as xmlrpclib
-import testtools
-
-from oslo_serialization import msgpackutils
-
-# NOTE(harlowja): itertools.count only started to take a step value
-# in python 2.7+ so we can't use it in 2.6...
-if sys.version_info[0:2] == (2, 6):
- _PY26 = True
-else:
- _PY26 = False
-
-
-_TZ_FMT = '%Y-%m-%d %H:%M:%S %Z%z'
-
-
-def _dumps_loads(obj):
- obj = msgpackutils.dumps(obj)
- return msgpackutils.loads(obj)
-
-
-class MsgPackUtilsTestMixin(test_base.BaseTestCase):
- def test_list(self):
- self.assertEqual(_dumps_loads([1, 2, 3]), [1, 2, 3])
-
- def test_empty_list(self):
- self.assertEqual(_dumps_loads([]), [])
-
- def test_tuple(self):
- # Seems like we do lose whether it was a tuple or not...
- #
- # Maybe fixed someday:
- #
- # https://github.com/msgpack/msgpack-python/issues/98
- self.assertEqual(_dumps_loads((1, 2, 3)), [1, 2, 3])
-
- def test_dict(self):
- self.assertEqual(_dumps_loads(dict(a=1, b=2, c=3)),
- dict(a=1, b=2, c=3))
-
- def test_empty_dict(self):
- self.assertEqual(_dumps_loads({}), {})
-
- def test_complex_dict(self):
- src = {
- 'now': datetime.datetime(1920, 2, 3, 4, 5, 6, 7),
- 'later': datetime.datetime(1921, 2, 3, 4, 5, 6, 9),
- 'a': 1,
- 'b': 2.0,
- 'c': [],
- 'd': set([1, 2, 3]),
- 'zzz': uuid.uuid4(),
- 'yyy': 'yyy',
- 'ddd': b'bbb',
- 'today': datetime.date.today(),
- }
- self.assertEqual(_dumps_loads(src), src)
-
- def test_itercount(self):
- it = itertools.count(1)
- six.next(it)
- six.next(it)
- it2 = _dumps_loads(it)
- self.assertEqual(six.next(it), six.next(it2))
-
- it = itertools.count(0)
- it2 = _dumps_loads(it)
- self.assertEqual(six.next(it), six.next(it2))
-
- @testtools.skipIf(_PY26, 'itertools.count step not supported')
- def test_itercount_step(self):
- it = itertools.count(1, 3)
- it2 = _dumps_loads(it)
- self.assertEqual(six.next(it), six.next(it2))
-
- def test_set(self):
- self.assertEqual(_dumps_loads(set([1, 2])), set([1, 2]))
-
- def test_empty_set(self):
- self.assertEqual(_dumps_loads(set([])), set([]))
-
- def test_frozenset(self):
- self.assertEqual(_dumps_loads(frozenset([1, 2])), frozenset([1, 2]))
-
- def test_empty_frozenset(self):
- self.assertEqual(_dumps_loads(frozenset([])), frozenset([]))
-
- def test_datetime_preserve(self):
- x = datetime.datetime(1920, 2, 3, 4, 5, 6, 7)
- self.assertEqual(_dumps_loads(x), x)
-
- def test_datetime(self):
- x = xmlrpclib.DateTime()
- x.decode("19710203T04:05:06")
- self.assertEqual(_dumps_loads(x), x)
-
- def test_ipaddr(self):
- thing = {'ip_addr': netaddr.IPAddress('1.2.3.4')}
- self.assertEqual(_dumps_loads(thing), thing)
-
- def test_today(self):
- today = datetime.date.today()
- self.assertEqual(today, _dumps_loads(today))
-
- def test_datetime_tz_clone(self):
- eastern = timezone('US/Eastern')
- now = datetime.datetime.now()
- e_dt = eastern.localize(now)
- e_dt2 = _dumps_loads(e_dt)
- self.assertEqual(e_dt, e_dt2)
- self.assertEqual(e_dt.strftime(_TZ_FMT), e_dt2.strftime(_TZ_FMT))
-
- def test_datetime_tz_different(self):
- eastern = timezone('US/Eastern')
- pacific = timezone('US/Pacific')
- now = datetime.datetime.now()
-
- e_dt = eastern.localize(now)
- p_dt = pacific.localize(now)
-
- self.assertNotEqual(e_dt, p_dt)
- self.assertNotEqual(e_dt.strftime(_TZ_FMT), p_dt.strftime(_TZ_FMT))
-
- e_dt2 = _dumps_loads(e_dt)
- p_dt2 = _dumps_loads(p_dt)
-
- self.assertNotEqual(e_dt2, p_dt2)
- self.assertNotEqual(e_dt2.strftime(_TZ_FMT), p_dt2.strftime(_TZ_FMT))
-
- self.assertEqual(e_dt, e_dt2)
- self.assertEqual(p_dt, p_dt2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/tests/test_warning.py new/oslo.serialization-1.9.0/tests/test_warning.py
--- old/oslo.serialization-1.6.0/tests/test_warning.py 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/tests/test_warning.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,61 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import imp
-import os
-import warnings
-
-import mock
-from oslotest import base as test_base
-import six
-
-
-class DeprecationWarningTest(test_base.BaseTestCase):
-
- @mock.patch('warnings.warn')
- def test_warning(self, mock_warn):
- import oslo.serialization
- imp.reload(oslo.serialization)
- self.assertTrue(mock_warn.called)
- args = mock_warn.call_args
- self.assertIn('oslo_serialization', args[0][0])
- self.assertIn('deprecated', args[0][0])
- self.assertTrue(issubclass(args[0][1], DeprecationWarning))
-
- def test_real_warning(self):
- with warnings.catch_warnings(record=True) as warning_msgs:
- warnings.resetwarnings()
- warnings.simplefilter('always', DeprecationWarning)
- import oslo.serialization
-
- # Use a separate function to get the stack level correct
- # so we know the message points back to this file. This
- # corresponds to an import or reload, which isn't working
- # inside the test under Python 3.3. That may be due to a
- # difference in the import implementation not triggering
- # warnings properly when the module is reloaded, or
- # because the warnings module is mostly implemented in C
- # and something isn't cleanly resetting the global state
- # used to track whether a warning needs to be
- # emitted. Whatever the cause, we definitely see the
- # warnings.warn() being invoked on a reload (see the test
- # above) and warnings are reported on the console when we
- # run the tests. A simpler test script run outside of
- # testr does correctly report the warnings.
- def foo():
- oslo.serialization.deprecated()
-
- foo()
- self.assertEqual(1, len(warning_msgs))
- msg = warning_msgs[0]
- self.assertIn('oslo_serialization', six.text_type(msg.message))
- self.assertEqual('test_warning.py', os.path.basename(msg.filename))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.serialization-1.6.0/tox.ini new/oslo.serialization-1.9.0/tox.ini
--- old/oslo.serialization-1.6.0/tox.ini 2015-06-02 17:08:56.000000000 +0200
+++ new/oslo.serialization-1.9.0/tox.ini 2015-09-08 18:00:19.000000000 +0200
@@ -35,3 +35,11 @@
show-source = True
ignore = E123,E125,H803
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
+
+[testenv:pip-missing-reqs]
+# do not install test-requirements as that will pollute the virtualenv for
+# determining missing packages
+# this also means that pip-missing-reqs must be installed separately, outside
+# of the requirements.txt files
+deps = pip_missing_reqs
+commands = pip-missing-reqs -d --ignore-module=oslo_serialization* --ignore-module=pkg_resources --ignore-file=oslo_serialization/test.py --ignore-file=oslo_serialization/tests/* oslo_serialization
\ No newline at end of file