From b3ebf52b9021151131f5508b0a203c9e76ae6ffb Mon Sep 17 00:00:00 2001
From: Samuel Gaist <samuel.gaist@idiap.ch>
Date: Mon, 23 Apr 2018 09:05:26 +0200
Subject: [PATCH] [test][invalid_database] Build error string the same as
 jsonschema

This allows to build the error message as expected with both
Python 2 and 3.
---
 beat/core/test/test_invalid_database.py | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/beat/core/test/test_invalid_database.py b/beat/core/test/test_invalid_database.py
index 0f8ba177..0c39861c 100644
--- a/beat/core/test/test_invalid_database.py
+++ b/beat/core/test/test_invalid_database.py
@@ -34,10 +34,11 @@ from . import prefix
 def doit(filename, error_msg):
     database = Database(prefix, filename)
     assert database.errors
-
+    print(error_msg)
     found = False
 
     for msg in database.errors:
+        print(msg, error_msg)
         if msg.find(error_msg) != -1:
             found = True
             break
@@ -51,40 +52,40 @@ def test_load_invalid_database():
     doit('invalid/1', 'invalid JSON code')
 
 def test_load_database_without_protocols_list():
-    doit('missing_protocols/1', "'protocols' is a required property")
+    doit('missing_protocols/1', "%r is a required property" % u'protocols')
 
 def test_load_database_with_empty_protocols_list():
     doit('empty_protocols/1', "/protocols: [] is too short")
 
 def test_load_database_with_missing_protocol_name():
-    doit('missing_protocol_name/1', "/protocols/0: 'name' is a required property")
+    doit('missing_protocol_name/1', "/protocols/0: %r is a required property" % u'name')
 
 def test_load_database_with_mixed_protocol_names():
-    doit('mixed_protocol_names/1', "None is not of type 'string'")
+    doit('mixed_protocol_names/1', "None is not of type %r" % u'string')
 
 def test_load_database_with_same_protocol_names():
     doit('same_protocol_names/1', "found different protocols with the same name:")
 
 def test_load_database_with_missing_protocol_sets():
-    doit('missing_protocol_sets/1', "'sets' is a required property")
+    doit('missing_protocol_sets/1', "%r is a required property" % u'sets')
 
 def test_load_database_with_empty_protocol_sets():
     doit('empty_protocol_sets/1', 'rule: /properties/protocols/items/properties/sets/minItems')
 
 def test_load_database_with_missing_set_name():
-    doit('missing_set_name/1', "'name' is a required property")
+    doit('missing_set_name/1', "%r is a required property" % u'name')
 
 def test_load_database_with_mixed_set_names():
-    doit('mixed_set_names/1', "name: None is not of type 'string'")
+    doit('mixed_set_names/1', "name: None is not of type %r" % u'string')
 
 def test_load_database_with_same_set_names():
     doit('same_set_names/1', "found different sets with the same name")
 
 def test_load_database_with_missing_set_view():
-    doit('missing_set_view/1', "'view' is a required property")
+    doit('missing_set_view/1', "%r is a required property" % u'view')
 
 def test_load_database_with_missing_set_outputs_list():
-    doit('missing_set_outputs/1', "'outputs' is a required property")
+    doit('missing_set_outputs/1', "%r is a required property" % u'outputs')
 
 def test_load_database_with_empty_set_outputs_list():
     doit('empty_set_outputs/1', 'outputs: OrderedDict() does not have enough properties')
-- 
GitLab