Hello community,

here is the log from the commit of package python-jsondiff for openSUSE:Factory 
checked in at 2020-09-14 12:30:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jsondiff (Old)
 and      /work/SRC/openSUSE:Factory/.python-jsondiff.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jsondiff"

Mon Sep 14 12:30:42 2020 rev:6 rq:834153 version:1.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jsondiff/python-jsondiff.changes  
2020-05-26 17:48:53.647824498 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-jsondiff.new.4249/python-jsondiff.changes    
    2020-09-14 12:31:43.853228839 +0200
@@ -1,0 +2,5 @@
+Sun Sep 13 17:39:27 UTC 2020 - Matej Cepl <[email protected]>
+
+- Add remove_nose.patch to remove requirement for nose.
+
+-------------------------------------------------------------------

New:
----
  remove_nose.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-jsondiff.spec ++++++
--- /var/tmp/diff_new_pack.IcjyfM/_old  2020-09-14 12:31:45.577229938 +0200
+++ /var/tmp/diff_new_pack.IcjyfM/_new  2020-09-14 12:31:45.581229941 +0200
@@ -24,8 +24,10 @@
 License:        MIT
 URL:            https://github.com/ZoomerAnalytics/jsondiff
 Source:         
https://files.pythonhosted.org/packages/source/j/jsondiff/jsondiff-%{version}.tar.gz
-BuildRequires:  %{python_module nose-random}
-BuildRequires:  %{python_module nose}
+# PATCH-FEATURE-UPSTREAM remove_nose.patch bsc#[0-9]+ [email protected]
+# Replace nose-random plugin with ripped of version independent of nose.
+Patch0:         remove_nose.patch
+BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
@@ -39,7 +41,7 @@
 Package to show differences between JSON and JSON-like structures in Python
 
 %prep
-%setup -q -n jsondiff-%{version}
+%autosetup -p1 -n jsondiff-%{version}
 
 %build
 %python_build
@@ -51,7 +53,7 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-%python_expand nosetests-%{$python_bin_suffix}
+%pytest tests/__init__.py
 
 %post
 %python_install_alternative jsondiff

++++++ remove_nose.patch ++++++
--- /dev/null
+++ b/tests/_random.py
@@ -0,0 +1,33 @@
+import sys
+from random import Random
+
+PY3 = (sys.version_info[0] == 3)
+
+
+def _generate_tag(n, rng):
+    return ''.join(rng.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')
+                   for _ in range(n))
+
+
+def randomize(n, scenario_generator, seed=12038728732):
+    def decorator(test):
+        def randomized_test(self):
+            rng_seed = Random(seed)
+            nseeds = n
+            # (rng_seed.getrandbits(32) for i in range(n))
+            seeds = (_generate_tag(12, rng_seed) for i in range(n))
+            for i, rseed in enumerate(seeds):
+                rng = Random(rseed)
+                scenario = scenario_generator(self, rng)
+                try:
+                    test(self, scenario)
+                except Exception as e:
+                    import sys
+                    if PY3:
+                        raise type(e).with_traceback(type(e)('%s with scenario 
%s (%i of %i)' %
+                                                             (e.message, 
rseed, i+1, nseeds)), sys.exc_info()[2])
+                    else:
+                        raise (type(e), type(e)('%s with scenario %s (%i of 
%i)'
+                               % (e.message, rseed, i+1, nseeds)), 
sys.exc_info()[2])
+        return randomized_test
+    return decorator
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,115 +0,0 @@
-import unittest
-
-from jsondiff import diff, replace, add, discard, insert, delete, update, 
JsonDiffer
-
-from .utils import generate_random_json, perturbate_json
-
-from nose_random import randomize
-
-
-class JsonDiffTests(unittest.TestCase):
-
-    def test_a(self):
-
-        self.assertEqual({}, diff(1, 1))
-        self.assertEqual({}, diff(True, True))
-        self.assertEqual({}, diff('abc', 'abc'))
-        self.assertEqual({}, diff([1, 2], [1, 2]))
-        self.assertEqual({}, diff((1, 2), (1, 2)))
-        self.assertEqual({}, diff({1, 2}, {1, 2}))
-        self.assertEqual({}, diff({'a': 1, 'b': 2}, {'a': 1, 'b': 2}))
-        self.assertEqual({}, diff([], []))
-        self.assertEqual({}, diff(None, None))
-        self.assertEqual({}, diff({}, {}))
-        self.assertEqual({}, diff(set(), set()))
-
-        self.assertEqual(2, diff(1, 2))
-        self.assertEqual(False, diff(True, False))
-        self.assertEqual('def', diff('abc', 'def'))
-        self.assertEqual([3, 4], diff([1, 2], [3, 4]))
-        self.assertEqual((3, 4), diff((1, 2), (3, 4)))
-        self.assertEqual({3, 4}, diff({1, 2}, {3, 4}))
-        self.assertEqual({replace: {'c': 3, 'd': 4}}, diff({'a': 1, 'b': 2}, 
{'c': 3, 'd': 4}))
-
-        self.assertEqual({replace: {'c': 3, 'd': 4}}, diff([1, 2], {'c': 3, 
'd': 4}))
-        self.assertEqual(123, diff({'a': 1, 'b': 2}, 123))
-
-        self.assertEqual({delete: ['b']}, diff({'a': 1, 'b': 2}, {'a': 1}))
-        self.assertEqual({'b': 3}, diff({'a': 1, 'b': 2}, {'a': 1, 'b': 3}))
-        self.assertEqual({'c': 3}, diff({'a': 1, 'b': 2}, {'a': 1, 'b': 2, 
'c': 3}))
-        self.assertEqual({delete: ['b'], 'c': 3}, diff({'a': 1, 'b': 2}, {'a': 
1, 'c': 3}))
-
-        self.assertEqual({add: {3}}, diff({1, 2}, {1, 2, 3}))
-        self.assertEqual({add: {3}, discard: {4}}, diff({1, 2, 4}, {1, 2, 3}))
-        self.assertEqual({discard: {4}}, diff({1, 2, 4}, {1, 2}))
-
-        self.assertEqual({insert: [(1, 'b')]}, diff(['a', 'c'], ['a', 'b', 
'c']))
-        self.assertEqual({insert: [(1, 'b')], delete: [3, 0]}, diff(['x', 'a', 
'c', 'x'], ['a', 'b', 'c']))
-        self.assertEqual(
-            {insert: [(2, 'b')], delete: [4, 0], 1: {'v': 20}},
-            diff(['x', 'a', {'v': 11}, 'c', 'x'], ['a', {'v': 20}, 'b', 'c'])
-        )
-        self.assertEqual(
-            {insert: [(2, 'b')], delete: [4, 0],  1: {'v': 20}},
-            diff(['x', 'a', {'u': 10, 'v': 11}, 'c', 'x'], ['a', {'u': 10, 
'v': 20}, 'b', 'c'])
-        )
-
-    def test_marshal(self):
-        differ = JsonDiffer()
-
-        d = {
-            delete: 3,
-            '$delete': 4,
-            insert: 4,
-            '$$something': 1
-        }
-
-        dm = differ.marshal(d)
-
-        self.assertEqual(d, differ.unmarshal(dm))
-
-    def generate_scenario(self, rng):
-        a = generate_random_json(rng, sets=True)
-        b = perturbate_json(a, rng, sets=True)
-        return a, b
-
-    def generate_scenario_no_sets(self, rng):
-        a = generate_random_json(rng, sets=False)
-        b = perturbate_json(a, rng, sets=False)
-        return a, b
-
-    @randomize(1000, generate_scenario_no_sets)
-    def test_dump(self, scenario):
-        a, b = scenario
-        diff(a, b, syntax='compact', dump=True)
-        diff(a, b, syntax='explicit', dump=True)
-        diff(a, b, syntax='symmetric', dump=True)
-
-    @randomize(1000, generate_scenario)
-    def test_compact_syntax(self, scenario):
-        a, b = scenario
-        differ = JsonDiffer(syntax='compact')
-        d = differ.diff(a, b)
-        self.assertEqual(b, differ.patch(a, d))
-        dm = differ.marshal(d)
-        self.assertEqual(d, differ.unmarshal(dm))
-
-
-    @randomize(1000, generate_scenario)
-    def test_explicit_syntax(self, scenario):
-        a, b = scenario
-        differ = JsonDiffer(syntax='explicit')
-        d = differ.diff(a, b)
-        # self.assertEqual(b, differ.patch(a, d))
-        dm = differ.marshal(d)
-        self.assertEqual(d, differ.unmarshal(dm))
-
-    @randomize(1000, generate_scenario)
-    def test_symmetric_syntax(self, scenario):
-        a, b = scenario
-        differ = JsonDiffer(syntax='symmetric')
-        d = differ.diff(a, b)
-        self.assertEqual(b, differ.patch(a, d))
-        self.assertEqual(a, differ.unpatch(b, d))
-        dm = differ.marshal(d)
-        self.assertEqual(d, differ.unmarshal(dm))
--- /dev/null
+++ b/tests/test_jsondiff.py
@@ -0,0 +1,112 @@
+import unittest
+
+from jsondiff import diff, replace, add, discard, insert, delete, update, 
JsonDiffer
+from tests.utils import generate_random_json, perturbate_json
+from tests._random import randomize
+
+
+class JsonDiffTests(unittest.TestCase):
+
+    def test_a(self):
+
+        self.assertEqual({}, diff(1, 1))
+        self.assertEqual({}, diff(True, True))
+        self.assertEqual({}, diff('abc', 'abc'))
+        self.assertEqual({}, diff([1, 2], [1, 2]))
+        self.assertEqual({}, diff((1, 2), (1, 2)))
+        self.assertEqual({}, diff({1, 2}, {1, 2}))
+        self.assertEqual({}, diff({'a': 1, 'b': 2}, {'a': 1, 'b': 2}))
+        self.assertEqual({}, diff([], []))
+        self.assertEqual({}, diff(None, None))
+        self.assertEqual({}, diff({}, {}))
+        self.assertEqual({}, diff(set(), set()))
+
+        self.assertEqual(2, diff(1, 2))
+        self.assertEqual(False, diff(True, False))
+        self.assertEqual('def', diff('abc', 'def'))
+        self.assertEqual([3, 4], diff([1, 2], [3, 4]))
+        self.assertEqual((3, 4), diff((1, 2), (3, 4)))
+        self.assertEqual({3, 4}, diff({1, 2}, {3, 4}))
+        self.assertEqual({replace: {'c': 3, 'd': 4}}, diff({'a': 1, 'b': 2}, 
{'c': 3, 'd': 4}))
+
+        self.assertEqual({replace: {'c': 3, 'd': 4}}, diff([1, 2], {'c': 3, 
'd': 4}))
+        self.assertEqual(123, diff({'a': 1, 'b': 2}, 123))
+
+        self.assertEqual({delete: ['b']}, diff({'a': 1, 'b': 2}, {'a': 1}))
+        self.assertEqual({'b': 3}, diff({'a': 1, 'b': 2}, {'a': 1, 'b': 3}))
+        self.assertEqual({'c': 3}, diff({'a': 1, 'b': 2}, {'a': 1, 'b': 2, 
'c': 3}))
+        self.assertEqual({delete: ['b'], 'c': 3}, diff({'a': 1, 'b': 2}, {'a': 
1, 'c': 3}))
+
+        self.assertEqual({add: {3}}, diff({1, 2}, {1, 2, 3}))
+        self.assertEqual({add: {3}, discard: {4}}, diff({1, 2, 4}, {1, 2, 3}))
+        self.assertEqual({discard: {4}}, diff({1, 2, 4}, {1, 2}))
+
+        self.assertEqual({insert: [(1, 'b')]}, diff(['a', 'c'], ['a', 'b', 
'c']))
+        self.assertEqual({insert: [(1, 'b')], delete: [3, 0]}, diff(['x', 'a', 
'c', 'x'], ['a', 'b', 'c']))
+        self.assertEqual(
+            {insert: [(2, 'b')], delete: [4, 0], 1: {'v': 20}},
+            diff(['x', 'a', {'v': 11}, 'c', 'x'], ['a', {'v': 20}, 'b', 'c'])
+        )
+        self.assertEqual(
+            {insert: [(2, 'b')], delete: [4, 0],  1: {'v': 20}},
+            diff(['x', 'a', {'u': 10, 'v': 11}, 'c', 'x'], ['a', {'u': 10, 
'v': 20}, 'b', 'c'])
+        )
+
+    def test_marshal(self):
+        differ = JsonDiffer()
+
+        d = {
+            delete: 3,
+            '$delete': 4,
+            insert: 4,
+            '$$something': 1
+        }
+
+        dm = differ.marshal(d)
+
+        self.assertEqual(d, differ.unmarshal(dm))
+
+    def generate_scenario(self, rng):
+        a = generate_random_json(rng, sets=True)
+        b = perturbate_json(a, rng, sets=True)
+        return a, b
+
+    def generate_scenario_no_sets(self, rng):
+        a = generate_random_json(rng, sets=False)
+        b = perturbate_json(a, rng, sets=False)
+        return a, b
+
+    @randomize(1000, generate_scenario_no_sets)
+    def test_dump(self, scenario):
+        a, b = scenario
+        diff(a, b, syntax='compact', dump=True)
+        diff(a, b, syntax='explicit', dump=True)
+        diff(a, b, syntax='symmetric', dump=True)
+
+    @randomize(1000, generate_scenario)
+    def test_compact_syntax(self, scenario):
+        a, b = scenario
+        differ = JsonDiffer(syntax='compact')
+        d = differ.diff(a, b)
+        self.assertEqual(b, differ.patch(a, d))
+        dm = differ.marshal(d)
+        self.assertEqual(d, differ.unmarshal(dm))
+
+    @randomize(1000, generate_scenario)
+    def test_explicit_syntax(self, scenario):
+        a, b = scenario
+        differ = JsonDiffer(syntax='explicit')
+        d = differ.diff(a, b)
+        # self.assertEqual(b, differ.patch(a, d))
+        dm = differ.marshal(d)
+        self.assertEqual(d, differ.unmarshal(dm))
+
+    @randomize(1000, generate_scenario)
+    def test_symmetric_syntax(self, scenario):
+        a, b = scenario
+        differ = JsonDiffer(syntax='symmetric')
+        d = differ.diff(a, b)
+        self.assertEqual(b, differ.patch(a, d))
+        self.assertEqual(a, differ.unpatch(b, d))
+        dm = differ.marshal(d)
+        self.assertEqual(d, differ.unmarshal(dm))

Reply via email to