Add synthetic token for testing

Add synthetic token for testing features not used by current token type.

Change-Id: I09bcd886465dcc083e225f953693688db3a38a64
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
diff --git a/iat-verifier/tests/test_verifier.py b/iat-verifier/tests/test_verifier.py
index 63b41a9..417e220 100644
--- a/iat-verifier/tests/test_verifier.py
+++ b/iat-verifier/tests/test_verifier.py
@@ -8,12 +8,12 @@
 """Unittests for iat-verifier using PSAIoTProfile1TokenVerifier"""
 
 import os
-import tempfile
 import unittest
 
 from iatverifier.psa_iot_profile1_token_verifier import PSAIoTProfile1TokenVerifier
-from iatverifier.util import read_token_map, convert_map_to_token, read_keyfile
+from iatverifier.util import read_keyfile
 from iatverifier.attest_token_verifier import VerifierConfiguration, AttestationTokenVerifier
+from test_utils import create_and_read_iat, read_iat, create_token_tmp_file
 
 
 THIS_DIR = os.path.dirname(__file__)
@@ -22,40 +22,6 @@
 KEYFILE = os.path.join(DATA_DIR, 'key.pem')
 KEYFILE_ALT = os.path.join(DATA_DIR, 'key-alt.pem')
 
-def create_token(source_name, verifier):
-    """Create a CBOR encoded token and save it to a temp file
-
-    Return the name of the temp file."""
-    source_path = os.path.join(DATA_DIR, source_name)
-    temp_file, dest_path = tempfile.mkstemp()
-    os.close(temp_file)
-
-    token_map = read_token_map(source_path)
-    with open(dest_path, 'wb') as wfh:
-        convert_map_to_token(
-            token_map,
-            verifier,
-            wfh,
-            add_p_header=False,
-            name_as_key=True,
-            parse_raw_value=True)
-    return dest_path
-
-def read_iat(filename, verifier):
-    """Parse a token file"""
-    filepath = os.path.join(DATA_DIR, filename)
-    with open(filepath, 'rb') as token_file:
-        return verifier.parse_token(
-            token=token_file.read(),
-            verify=True,
-            check_p_header=False,
-            lower_case_key=False)
-
-def create_and_read_iat(source_name, verifier):
-    """Create a cbor encoded token in a temp file and parse it back"""
-    token_file = create_token(source_name, verifier)
-    return read_iat(token_file, verifier)
-
 class TestIatVerifier(unittest.TestCase):
     """A class used for testing iat-verifier.
 
@@ -75,7 +41,7 @@
             cose_alg=cose_alg,
             signing_key=signing_key,
             configuration=self.config)
-        good_sig = create_token('valid-iat.yaml', verifier_good_sig)
+        good_sig = create_token_tmp_file(DATA_DIR, 'valid-iat.yaml', verifier_good_sig)
 
         signing_key = read_keyfile(KEYFILE_ALT, method)
         verifier_bad_sig = PSAIoTProfile1TokenVerifier(
@@ -83,7 +49,7 @@
             cose_alg=cose_alg,
             signing_key=signing_key,
             configuration=self.config)
-        bad_sig = create_token('valid-iat.yaml', verifier_bad_sig)
+        bad_sig = create_token_tmp_file(DATA_DIR, 'valid-iat.yaml', verifier_bad_sig)
 
         #dump_file_binary(good_sig)
 
@@ -113,6 +79,7 @@
         signing_key = read_keyfile(KEYFILE, method)
 
         create_and_read_iat(
+            DATA_DIR,
             'valid-iat.yaml',
             PSAIoTProfile1TokenVerifier(method=method,
             cose_alg=cose_alg,
@@ -121,6 +88,7 @@
 
         with self.assertRaises(ValueError) as test_ctx:
             create_and_read_iat(
+            DATA_DIR,
                 'invalid-profile-id.yaml',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -130,6 +98,7 @@
 
         with self.assertRaises(ValueError) as test_ctx:
             read_iat(
+                DATA_DIR,
                 'malformed.cbor',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -139,6 +108,7 @@
 
         with self.assertRaises(ValueError) as test_ctx:
             create_and_read_iat(
+                DATA_DIR,
                 'missing-claim.yaml',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -148,6 +118,7 @@
 
         with self.assertRaises(ValueError) as test_ctx:
             create_and_read_iat(
+                DATA_DIR,
                 'submod-missing-claim.yaml',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -157,6 +128,7 @@
 
         with self.assertRaises(ValueError) as test_ctx:
             create_and_read_iat(
+                DATA_DIR,
                 'missing-sw-comps.yaml',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -167,6 +139,7 @@
 
         with self.assertLogs() as test_ctx:
             create_and_read_iat(
+                DATA_DIR,
                 'missing-signer-id.yaml',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -177,6 +150,7 @@
 
         with self.assertLogs() as test_ctx:
             create_and_read_iat(
+                DATA_DIR,
                 'invalid-type-length.yaml',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -193,6 +167,7 @@
 
         with self.assertLogs() as test_ctx:
             create_and_read_iat(
+                DATA_DIR,
                 'invalid-hw-version.yaml',
                 PSAIoTProfile1TokenVerifier(method=method,
                 cose_alg=cose_alg,
@@ -213,6 +188,7 @@
         cose_alg=AttestationTokenVerifier.COSE_ALG_ES256
         signing_key = read_keyfile(KEYFILE, method)
         iat = create_and_read_iat(
+            DATA_DIR,
             'valid-iat.yaml',
             PSAIoTProfile1TokenVerifier(method=method,
             cose_alg=cose_alg,
@@ -226,6 +202,7 @@
         cose_alg=AttestationTokenVerifier.COSE_ALG_ES256
         signing_key = read_keyfile(KEYFILE, method)
         iat = create_and_read_iat(
+            DATA_DIR,
             'valid-iat.yaml',
             PSAIoTProfile1TokenVerifier(method=method,
             cose_alg=cose_alg,