gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: Parsing tests.


From: gnunet
Subject: [libeufin] branch master updated: Parsing tests.
Date: Tue, 08 Dec 2020 09:47:25 +0100

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new aeeb5b5  Parsing tests.
aeeb5b5 is described below

commit aeeb5b5f2b4a32ec825da0ff8d9e6c9bdb1dc2c8
Author: MS <ms@taler.net>
AuthorDate: Tue Dec 8 09:46:47 2020 +0100

    Parsing tests.
    
    Importing here the tests runner, and keep only the
    samples in a separate repository.
---
 parsing-tests/checks.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/parsing-tests/checks.py b/parsing-tests/checks.py
new file mode 100755
index 0000000..6830813
--- /dev/null
+++ b/parsing-tests/checks.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import json
+from deepdiff import DeepDiff
+from subprocess import Popen, PIPE
+
+# return dict with parse-result.
+def call_parser(xml_file):
+    assert os.path.isfile(xml_file)
+    xml_file_abs = os.path.abspath(xml_file)
+    with Popen([
+        "../gradlew",
+        "--console=plain",
+        "-q",
+        "-p",
+        "..",
+        "nexus:run",
+        f"--args=parse-camt {xml_file_abs}"],
+        stdout=PIPE
+    ) as proc:
+        stdout = proc.communicate()[0]
+        assert proc.returncode == 0
+        return json.loads(stdout)
+
+def get_json_from_disk(json_file):
+    json_file_abs = os.path.abspath(json_file)
+    with open(json_file_abs) as j:
+        return json.load(j)
+
+def assert_json_equal(json1, json2):
+    diff = DeepDiff(json1, json2, ignore_order=True, report_repetition=True)
+    assert len(diff.keys()) == 0
+
+def test_camt53_example3():
+    parsed = call_parser("./samples/camt53_example3.xml")
+    entries = parsed["reports"][0]["entries"]
+    # The following checks ensure that each money movement is a singleton.
+    assert(len(entries) == 4)
+    assert(len(entries[0]["batches"][0]["batchTransactions"]) == 1)
+    assert(len(entries[1]["batches"][0]["batchTransactions"]) == 1)
+    assert(len(entries[2]["batches"][0]["batchTransactions"]) == 1)
+    assert(len(entries[3]["batches"][0]["batchTransactions"]) == 1)

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]