You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ponymail.apache.org by se...@apache.org on 2020/08/22 15:17:18 UTC

[incubator-ponymail-unit-tests] branch master updated: Use Common API

This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-unit-tests.git


The following commit(s) were added to refs/heads/master by this push:
     new f5bc39d  Use Common API
f5bc39d is described below

commit f5bc39d2df57fd6e8c20f8a92c5a21e160b8b2d6
Author: Sebb <se...@apache.org>
AuthorDate: Sat Aug 22 16:17:04 2020 +0100

    Use Common API
---
 tests/test-generators.py | 23 +++--------------------
 tests/test-parsing.py    | 22 ++++------------------
 2 files changed, 7 insertions(+), 38 deletions(-)

diff --git a/tests/test-generators.py b/tests/test-generators.py
index 16691fb..3224b5c 100755
--- a/tests/test-generators.py
+++ b/tests/test-generators.py
@@ -9,7 +9,6 @@ import mailbox
 import yaml
 import argparse
 import collections
-import inspect
 import interfacer
 
 parse_html = False
@@ -23,17 +22,10 @@ def generate_specs(args):
         import generators
     except:
         import plugins.generators as generators
-    expected_archie_parameters = inspect.signature(archiver.Archiver).parameters
-    expected_compute_parameters = inspect.signature(archiver.Archiver.compute_updates).parameters
     yml = {}
     for gen_type in generators.generator_names():
-        # <= 0.11:
-        if 'parseHTML' in expected_archie_parameters:
-            archiver.archiver_generator = gen_type
-            archie = archiver.Archiver(parseHTML=parse_html)
-        # current master and foal
-        else:
-            archie = archiver.Archiver(generator=gen_type, parse_html=parse_html)
+        test_args = collections.namedtuple('testargs', ['parse_html', 'generator'])(parse_html, gen_type)
+        archie = interfacer.Archiver(archiver, test_args)
         sys.stderr.write("Generating specs for type '%s'...\n" % gen_type)
 
         gen_spec = []
@@ -42,16 +34,7 @@ def generate_specs(args):
             message_raw = mbox.get_bytes(key)  # True raw format, as opposed to calling .as_bytes()
             message = mbox.get(key)
             lid = args.lid or archiver.normalize_lid(message.get('list-id', '??'))
-            # Foal parameters
-            if 'raw_msg' in expected_compute_parameters:
-                json, _, _, _ = archie.compute_updates(fake_args, lid, False, message, message_raw)
-            # PM 0.12 parameters
-            elif 'args' in expected_compute_parameters:
-                json, _, _, _ = archie.compute_updates(fake_args, lid, False, message)
-            # PM <= 0.11 parameters (missing args)
-            else:
-                # May return 2 or 4 values; only want first
-                json = archie.compute_updates(lid, False, message)[0]
+            json = archie.compute_updates(fake_args, lid, False, message, message_raw)
             gen_spec.append({
                 'index': key,
                 'message-id': message.get('message-id').strip(),
diff --git a/tests/test-parsing.py b/tests/test-parsing.py
index 47cc943..20e8c87 100755
--- a/tests/test-parsing.py
+++ b/tests/test-parsing.py
@@ -10,7 +10,6 @@ import yaml
 import argparse
 import collections
 import hashlib
-import inspect
 import interfacer
 
 nonce = None
@@ -19,13 +18,9 @@ fake_args = collections.namedtuple('fakeargs', ['verbose', 'ibody'])(False, None
 
 def generate_specs(args):
     import archiver
-    expected_archie_args = inspect.signature(archiver.Archiver).parameters
-    # <= 0.11:
-    if 'parseHTML' in expected_archie_args:
-        archie = archiver.Archiver(parseHTML=args.html)
-    else:
-        archie = archiver.Archiver(parse_html=args.html)
-    expected_compute_parameters = inspect.signature(archie.compute_updates).parameters
+    cli_args = collections.namedtuple('testargs', ['parse_html'])(args.html)
+    archie = interfacer.Archiver(archiver, cli_args)
+
     sys.stderr.write("Generating parsing specs for file '%s'...\n" % args.mboxfile)
     items = {}
     for mboxfile in args.mboxfile:
@@ -35,16 +30,7 @@ def generate_specs(args):
             message_raw = mbox.get_bytes(key)  # True raw format, as opposed to calling .as_bytes()
             message = mbox.get(key)
             lid = archiver.normalize_lid(message.get('list-id', '??'))
-            # Foal parameters
-            if 'raw_msg' in expected_compute_parameters:
-                json, _, _, _ = archie.compute_updates(fake_args, lid, False, message, message_raw)
-            # PM 0.12 parameters
-            elif 'args' in expected_compute_parameters:
-                json, _, _, _ = archie.compute_updates(fake_args, lid, False, message)
-            # PM <= 0.11 parameters (missing args)
-            else:
-                # May return 2 or 4 values; only want first
-                json = archie.compute_updates(lid, False, message)[0]
+            json = archie.compute_updates(fake_args, lid, False, message, message_raw)
             body_sha3_256 = None
             if json and json.get('body') is not None:
                 body_sha3_256 = hashlib.sha3_256(json['body'].encode('utf-8')).hexdigest()