summaryrefslogtreecommitdiffstats
path: root/test/units/parsing
diff options
context:
space:
mode:
Diffstat (limited to 'test/units/parsing')
-rw-r--r--test/units/parsing/test_ajson.py3
-rw-r--r--test/units/parsing/test_dataloader.py23
-rw-r--r--test/units/parsing/test_mod_args.py3
-rw-r--r--test/units/parsing/test_splitter.py4
-rw-r--r--test/units/parsing/test_unquote.py4
-rw-r--r--test/units/parsing/utils/test_addresses.py3
-rw-r--r--test/units/parsing/utils/test_jsonify.py5
-rw-r--r--test/units/parsing/utils/test_yaml.py3
-rw-r--r--test/units/parsing/vault/test_vault.py19
-rw-r--r--test/units/parsing/vault/test_vault_editor.py6
-rw-r--r--test/units/parsing/yaml/test_constructor.py3
-rw-r--r--test/units/parsing/yaml/test_dumper.py6
-rw-r--r--test/units/parsing/yaml/test_loader.py21
-rw-r--r--test/units/parsing/yaml/test_objects.py6
14 files changed, 50 insertions, 59 deletions
diff --git a/test/units/parsing/test_ajson.py b/test/units/parsing/test_ajson.py
index bb7bf1a..6faf3f9 100644
--- a/test/units/parsing/test_ajson.py
+++ b/test/units/parsing/test_ajson.py
@@ -2,8 +2,7 @@
# Copyright 2019, Andrew Klychkov @Andersson007 <aaklychkov@mail.ru>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-from __future__ import absolute_import, division, print_function
-__metaclass__ = type
+from __future__ import annotations
import os
import json
diff --git a/test/units/parsing/test_dataloader.py b/test/units/parsing/test_dataloader.py
index a7f8b1d..05040c3 100644
--- a/test/units/parsing/test_dataloader.py
+++ b/test/units/parsing/test_dataloader.py
@@ -15,13 +15,11 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
import os
-from units.compat import unittest
+import unittest
from unittest.mock import patch, mock_open
from ansible.errors import AnsibleParserError, yaml_strings, AnsibleFileNotFound
from ansible.parsing.vault import AnsibleVaultError
@@ -230,5 +228,20 @@ class TestDataLoaderWithVault(unittest.TestCase):
"""
with patch('builtins.open', mock_open(read_data=vaulted_data.encode('utf-8'))):
- output = self._loader.load_from_file('dummy_vault.txt')
+ output = self._loader.load_from_file('dummy_vault.txt', cache='none')
self.assertEqual(output, dict(foo='bar'))
+
+ # no cache used
+ self.assertFalse(self._loader._FILE_CACHE)
+
+ # vault cache entry written
+ output = self._loader.load_from_file('dummy_vault.txt', cache='vaulted')
+ self.assertEqual(output, dict(foo='bar'))
+ self.assertTrue(self._loader._FILE_CACHE)
+
+ # cache entry used
+ key = next(iter(self._loader._FILE_CACHE.keys()))
+ modified = {'changed': True}
+ self._loader._FILE_CACHE[key] = modified
+ output = self._loader.load_from_file('dummy_vault.txt', cache='vaulted')
+ self.assertEqual(output, modified)
diff --git a/test/units/parsing/test_mod_args.py b/test/units/parsing/test_mod_args.py
index aeb74ad..0bb0c95 100644
--- a/test/units/parsing/test_mod_args.py
+++ b/test/units/parsing/test_mod_args.py
@@ -2,8 +2,7 @@
# Copyright 2017, Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-from __future__ import absolute_import, division, print_function
-__metaclass__ = type
+from __future__ import annotations
import pytest
diff --git a/test/units/parsing/test_splitter.py b/test/units/parsing/test_splitter.py
index 893f047..9eb957d 100644
--- a/test/units/parsing/test_splitter.py
+++ b/test/units/parsing/test_splitter.py
@@ -16,9 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
from ansible.parsing.splitter import split_args, parse_kv
from ansible.errors import AnsibleParserError
diff --git a/test/units/parsing/test_unquote.py b/test/units/parsing/test_unquote.py
index 4b4260e..9d8918a 100644
--- a/test/units/parsing/test_unquote.py
+++ b/test/units/parsing/test_unquote.py
@@ -16,9 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
from ansible.parsing.quoting import unquote
diff --git a/test/units/parsing/utils/test_addresses.py b/test/units/parsing/utils/test_addresses.py
index 4f7304f..7562940 100644
--- a/test/units/parsing/utils/test_addresses.py
+++ b/test/units/parsing/utils/test_addresses.py
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
import unittest
diff --git a/test/units/parsing/utils/test_jsonify.py b/test/units/parsing/utils/test_jsonify.py
index 37be782..bb71a02 100644
--- a/test/units/parsing/utils/test_jsonify.py
+++ b/test/units/parsing/utils/test_jsonify.py
@@ -16,10 +16,9 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
-from units.compat import unittest
+import unittest
from ansible.parsing.utils.jsonify import jsonify
diff --git a/test/units/parsing/utils/test_yaml.py b/test/units/parsing/utils/test_yaml.py
index 27b2905..64d43c3 100644
--- a/test/units/parsing/utils/test_yaml.py
+++ b/test/units/parsing/utils/test_yaml.py
@@ -16,8 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
import pytest
diff --git a/test/units/parsing/vault/test_vault.py b/test/units/parsing/vault/test_vault.py
index f94171a..982ae82 100644
--- a/test/units/parsing/vault/test_vault.py
+++ b/test/units/parsing/vault/test_vault.py
@@ -17,9 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
import io
import os
@@ -28,11 +26,10 @@ import tempfile
from binascii import hexlify
import pytest
-from units.compat import unittest
+import unittest
from unittest.mock import patch, MagicMock
from ansible import errors
-from ansible.module_utils import six
from ansible.module_utils.common.text.converters import to_bytes, to_text
from ansible.parsing import vault
@@ -507,7 +504,7 @@ class TestVaultCipherAes256(unittest.TestCase):
b_password = b'hunter42'
b_salt = os.urandom(32)
b_key_cryptography = self.vault_cipher._create_key_cryptography(b_password, b_salt, key_length=32, iv_length=16)
- self.assertIsInstance(b_key_cryptography, six.binary_type)
+ self.assertIsInstance(b_key_cryptography, bytes)
def test_create_key_known_cryptography(self):
b_password = b'hunter42'
@@ -515,13 +512,13 @@ class TestVaultCipherAes256(unittest.TestCase):
# A fixed salt
b_salt = b'q' * 32 # q is the most random letter.
b_key_1 = self.vault_cipher._create_key_cryptography(b_password, b_salt, key_length=32, iv_length=16)
- self.assertIsInstance(b_key_1, six.binary_type)
+ self.assertIsInstance(b_key_1, bytes)
# verify we get the same answer
# we could potentially run a few iterations of this and time it to see if it's roughly constant time
# and or that it exceeds some minimal time, but that would likely cause unreliable fails, esp in CI
b_key_2 = self.vault_cipher._create_key_cryptography(b_password, b_salt, key_length=32, iv_length=16)
- self.assertIsInstance(b_key_2, six.binary_type)
+ self.assertIsInstance(b_key_2, bytes)
self.assertEqual(b_key_1, b_key_2)
def test_is_equal_is_equal(self):
@@ -612,7 +609,7 @@ class TestVaultLib(unittest.TestCase):
plaintext = u'Some text to encrypt in a café'
b_vaulttext = self.v.encrypt(plaintext)
- self.assertIsInstance(b_vaulttext, six.binary_type)
+ self.assertIsInstance(b_vaulttext, bytes)
b_header = b'$ANSIBLE_VAULT;1.1;AES256\n'
self.assertEqual(b_vaulttext[:len(b_header)], b_header)
@@ -621,7 +618,7 @@ class TestVaultLib(unittest.TestCase):
plaintext = u'Some text to encrypt in a café'
b_vaulttext = self.v.encrypt(plaintext, vault_id='test_id')
- self.assertIsInstance(b_vaulttext, six.binary_type)
+ self.assertIsInstance(b_vaulttext, bytes)
b_header = b'$ANSIBLE_VAULT;1.2;AES256;test_id\n'
self.assertEqual(b_vaulttext[:len(b_header)], b_header)
@@ -631,7 +628,7 @@ class TestVaultLib(unittest.TestCase):
plaintext = to_bytes(u'Some text to encrypt in a café')
b_vaulttext = self.v.encrypt(plaintext)
- self.assertIsInstance(b_vaulttext, six.binary_type)
+ self.assertIsInstance(b_vaulttext, bytes)
b_header = b'$ANSIBLE_VAULT;1.1;AES256\n'
self.assertEqual(b_vaulttext[:len(b_header)], b_header)
diff --git a/test/units/parsing/vault/test_vault_editor.py b/test/units/parsing/vault/test_vault_editor.py
index 28561c6..d191cf8 100644
--- a/test/units/parsing/vault/test_vault_editor.py
+++ b/test/units/parsing/vault/test_vault_editor.py
@@ -16,9 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
import os
import tempfile
@@ -26,7 +24,7 @@ from io import BytesIO, StringIO
import pytest
-from units.compat import unittest
+import unittest
from unittest.mock import patch
from ansible import errors
diff --git a/test/units/parsing/yaml/test_constructor.py b/test/units/parsing/yaml/test_constructor.py
index 717bf35..7e16d17 100644
--- a/test/units/parsing/yaml/test_constructor.py
+++ b/test/units/parsing/yaml/test_constructor.py
@@ -2,8 +2,7 @@
# (c) 2020 Matt Martz <matt@sivel.net>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-from __future__ import absolute_import, division, print_function
-__metaclass__ = type
+from __future__ import annotations
import pytest
from yaml import MappingNode, Mark, ScalarNode
diff --git a/test/units/parsing/yaml/test_dumper.py b/test/units/parsing/yaml/test_dumper.py
index 8af1eee..5d3961e 100644
--- a/test/units/parsing/yaml/test_dumper.py
+++ b/test/units/parsing/yaml/test_dumper.py
@@ -14,15 +14,13 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
import io
from jinja2.exceptions import UndefinedError
-from units.compat import unittest
+import unittest
from ansible.parsing import vault
from ansible.parsing.yaml import dumper, objects
from ansible.parsing.yaml.loader import AnsibleLoader
diff --git a/test/units/parsing/yaml/test_loader.py b/test/units/parsing/yaml/test_loader.py
index 117f80a..75ad7c4 100644
--- a/test/units/parsing/yaml/test_loader.py
+++ b/test/units/parsing/yaml/test_loader.py
@@ -16,17 +16,14 @@
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
from collections.abc import Sequence, Set, Mapping
from io import StringIO
-from units.compat import unittest
+import unittest
from ansible import errors
-from ansible.module_utils.six import text_type, binary_type
from ansible.parsing.yaml.loader import AnsibleLoader
from ansible.parsing import vault
from ansible.parsing.yaml.objects import AnsibleVaultEncryptedUnicode
@@ -66,7 +63,7 @@ class TestAnsibleLoaderBasic(unittest.TestCase):
loader = AnsibleLoader(stream, 'myfile.yml')
data = loader.get_single_data()
self.assertEqual(data, u'Ansible')
- self.assertIsInstance(data, text_type)
+ self.assertIsInstance(data, str)
self.assertEqual(data.ansible_pos, ('myfile.yml', 2, 17))
@@ -77,7 +74,7 @@ class TestAnsibleLoaderBasic(unittest.TestCase):
loader = AnsibleLoader(stream, 'myfile.yml')
data = loader.get_single_data()
self.assertEqual(data, u'Cafè Eñyei')
- self.assertIsInstance(data, text_type)
+ self.assertIsInstance(data, str)
self.assertEqual(data.ansible_pos, ('myfile.yml', 2, 17))
@@ -90,8 +87,8 @@ class TestAnsibleLoaderBasic(unittest.TestCase):
data = loader.get_single_data()
self.assertEqual(data, {'webster': 'daniel', 'oed': 'oxford'})
self.assertEqual(len(data), 2)
- self.assertIsInstance(list(data.keys())[0], text_type)
- self.assertIsInstance(list(data.values())[0], text_type)
+ self.assertIsInstance(list(data.keys())[0], str)
+ self.assertIsInstance(list(data.values())[0], str)
# Beginning of the first key
self.assertEqual(data.ansible_pos, ('myfile.yml', 2, 17))
@@ -108,7 +105,7 @@ class TestAnsibleLoaderBasic(unittest.TestCase):
data = loader.get_single_data()
self.assertEqual(data, [u'a', u'b'])
self.assertEqual(len(data), 2)
- self.assertIsInstance(data[0], text_type)
+ self.assertIsInstance(data[0], str)
self.assertEqual(data.ansible_pos, ('myfile.yml', 2, 17))
@@ -355,10 +352,10 @@ class TestAnsibleLoaderPlay(unittest.TestCase):
def walk(self, data):
# Make sure there's no str in the data
- self.assertNotIsInstance(data, binary_type)
+ self.assertNotIsInstance(data, bytes)
# Descend into various container types
- if isinstance(data, text_type):
+ if isinstance(data, str):
# strings are a sequence so we have to be explicit here
return
elif isinstance(data, (Sequence, Set)):
diff --git a/test/units/parsing/yaml/test_objects.py b/test/units/parsing/yaml/test_objects.py
index f899915..32aca1c 100644
--- a/test/units/parsing/yaml/test_objects.py
+++ b/test/units/parsing/yaml/test_objects.py
@@ -16,11 +16,9 @@
#
# Copyright 2016, Adrian Likins <alikins@redhat.com>
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+from __future__ import annotations
-from units.compat import unittest
+import unittest
from ansible.errors import AnsibleError