Skip to content

Commit a396a6b

Browse files
committed
Remove testscenarios dependency
1 parent e528f86 commit a396a6b

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

requirements-dev.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
oslotest
22
pytest
33
flake8
4-
testscenarios
54
coverage
65
coveralls
76
pytest-cov

tests/test_jsonpath_rw_ext.py

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,23 @@
2222
from jsonpath_ng import jsonpath # For setting the global auto_id_field flag
2323
from oslotest import base
2424
from six import moves
25-
import testscenarios
2625

2726
from jsonpath_ng.ext import parser
2827

2928

30-
class Testjsonpath_ng_ext(testscenarios.WithScenarios,
31-
base.BaseTestCase):
29+
# Example from https://docs.pytest.org/en/7.1.x/example/parametrize.html#a-quick-port-of-testscenarios
30+
def pytest_generate_tests(metafunc):
31+
idlist = []
32+
argvalues = []
33+
for scenario in metafunc.cls.scenarios:
34+
idlist.append(scenario[0])
35+
items = scenario[1].items()
36+
argnames = [x[0] for x in items]
37+
argvalues.append([x[1] for x in items])
38+
metafunc.parametrize(argnames, argvalues, ids=idlist, scope="class")
39+
40+
41+
class Testjsonpath_ng_ext:
3242
scenarios = [
3343
('sorted_list', dict(string='objects.`sorted`',
3444
data={'objects': ['alpha', 'gamma', 'beta']},
@@ -334,17 +344,17 @@ class Testjsonpath_ng_ext(testscenarios.WithScenarios,
334344
)),
335345
]
336346

337-
def test_fields_value(self):
347+
def test_fields_value(self, string, data, target):
338348
jsonpath.auto_id_field = None
339-
result = parser.parse(self.string, debug=True).find(self.data)
340-
if isinstance(self.target, list):
341-
self.assertEqual(self.target, [r.value for r in result])
342-
elif isinstance(self.target, set):
343-
self.assertEqual(self.target, set([r.value for r in result]))
344-
elif isinstance(self.target, (int, float)):
345-
self.assertEqual(self.target, result[0].value)
349+
result = parser.parse(string, debug=True).find(data)
350+
if isinstance(target, list):
351+
assert target == [r.value for r in result]
352+
elif isinstance(target, set):
353+
assert target == set([r.value for r in result])
354+
elif isinstance(target, (int, float)):
355+
assert target == result[0].value
346356
else:
347-
self.assertEqual(self.target, result[0].value)
357+
assert target == result[0].value
348358

349359
# NOTE(sileht): copy of tests/test_jsonpath.py
350360
# to ensure we didn't break jsonpath_ng

0 commit comments

Comments
 (0)