Test only top 1000
parent
e6734bf291
commit
61cc491133
|
@ -9,6 +9,7 @@ from __future__ import absolute_import, division, print_function
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
import heapq
|
||||||
import os
|
import os
|
||||||
import unittest
|
import unittest
|
||||||
from ansible_collections.ansible.utils.plugins.module_utils.path_utils import (
|
from ansible_collections.ansible.utils.plugins.module_utils.path_utils import (
|
||||||
|
@ -70,7 +71,7 @@ class TestPathUtils(unittest.TestCase):
|
||||||
result = to_paths(var, wantlist=True, prepend="var")
|
result = to_paths(var, wantlist=True, prepend="var")
|
||||||
self.assertEqual(result, expected)
|
self.assertEqual(result, expected)
|
||||||
|
|
||||||
def test_to_paths_prepend(self):
|
def test_to_paths_prepend_fail(self):
|
||||||
var = {"a": {"b": {"c": {"d": [0, 1]}}}}
|
var = {"a": {"b": {"c": {"d": [0, 1]}}}}
|
||||||
expected = "must be a string"
|
expected = "must be a string"
|
||||||
with self.assertRaises(Exception) as exc:
|
with self.assertRaises(Exception) as exc:
|
||||||
|
@ -78,6 +79,8 @@ class TestPathUtils(unittest.TestCase):
|
||||||
self.assertIn(expected, str(exc.exception))
|
self.assertIn(expected, str(exc.exception))
|
||||||
|
|
||||||
def test_roundtrip_large(self):
|
def test_roundtrip_large(self):
|
||||||
|
""" Test the 1000 longest keys, otherwise this takes a _really_ long time
|
||||||
|
"""
|
||||||
big_json_path = os.path.join(
|
big_json_path = os.path.join(
|
||||||
os.path.dirname(__file__), "fixtures", "large.json"
|
os.path.dirname(__file__), "fixtures", "large.json"
|
||||||
)
|
)
|
||||||
|
@ -85,6 +88,7 @@ class TestPathUtils(unittest.TestCase):
|
||||||
big_json = fhand.read()
|
big_json = fhand.read()
|
||||||
var = json.loads(big_json)
|
var = json.loads(big_json)
|
||||||
paths = to_paths(var)
|
paths = to_paths(var)
|
||||||
for key, value in paths.items():
|
to_tests = heapq.nlargest(1000, list(paths.keys()), key=len)
|
||||||
gotten = get_path(var, key, environment=self._environment)
|
for to_test in to_tests:
|
||||||
self.assertEqual(gotten, value)
|
gotten = get_path(var, to_test, environment=self._environment)
|
||||||
|
self.assertEqual(gotten, paths[to_test])
|
||||||
|
|
Loading…
Reference in New Issue