From 8e4a2f810f57959a321d686d35d4cd469c9ec6ca Mon Sep 17 00:00:00 2001 From: Christian Herdtweck Date: Tue, 22 May 2018 12:07:42 +0200 Subject: [PATCH] Rename cnfvar unittest so it is actually being found and used --- test/cnfvar_unittest.py | 377 ----------------------------------------------- test/test_cnfvar.py | 377 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 377 insertions(+), 377 deletions(-) delete mode 100755 test/cnfvar_unittest.py create mode 100755 test/test_cnfvar.py diff --git a/test/cnfvar_unittest.py b/test/cnfvar_unittest.py deleted file mode 100755 index 63166dd..0000000 --- a/test/cnfvar_unittest.py +++ /dev/null @@ -1,377 +0,0 @@ -#!/usr/bin/env python -# This Python file uses the following encoding: utf-8 - -# The software in this package is distributed under the GNU General -# Public License version 2 (with a special exception described below). -# -# A copy of GNU General Public License (GPL) is included in this distribution, -# in the file COPYING.GPL. -# -# As a special exception, if other files instantiate templates or use macros -# or inline functions from this file, or you compile this file and link it -# with other works to produce a work based on this file, this file -# does not by itself cause the resulting work to be covered -# by the GNU General Public License. -# -# However the source code for this file must still be made available -# in accordance with section (3) of the GNU General Public License. -# -# This exception does not invalidate any other reasons why a work based -# on this file might be covered by the GNU General Public License. - -import unittest -import cnfvar - -# -# test data -# - -# model cnf tree -demo_cnfvar = {"cnf": [ - { - "varname": "MY_FAVORITE_CNF_VAR", - "instance": 1337, - "number": 42, - "data": "string conf content", - "comment": "" - }, - { - "varname": "SOME_NESTED_CNF_VAR", - "instance": 0, - "number": 23, - "data": "999", - "comment": "", - "children": [ - { - "varname": "SOME_CHILD_VAR", - "instance": 1, - "number": 24, - "data": "2014", - "parent": 23, - "comment": "" - } - ] - }, -]} - -# duplicate line number -demo_invalid_cnfvar = {"cnf": [ - { - "varname": "SOME_PARTICULARLY_TASTY_CNF_VAR", - "instance": 1337, - "number": 23, - "data": "classic wingers", - "comment": "" - }, - { - "varname": "EXTRAORDINARILY_FANCY_CNF_VAR", - "instance": 1, - "number": 42, - "data": "ab mentions", - "comment": "" - }, - { - "varname": "ANOTHER_POPULAR_CNF_VAR", - "instance": 0, - "number": 42, - "data": "notches", - "comment": "" - } -]} - -demo_jsoncnf = """ -{ - "cnf" : [ - { - "children" : [ - { - "comment" : "", - "data" : "1", - "instance" : 0, - "number" : 2, - "parent" : 1, - "varname" : "FIREWALL_SERVICEGROUP_PREDEFINED_ID" - }, - { - "children" : [ - { - "comment" : "", - "data" : "", - "instance" : 0, - "number" : 4, - "parent" : 3, - "varname" : "FIREWALL_SERVICEGROUP_TYPE_COMMENT" - }, - { - "comment" : "", - "data" : "80", - "instance" : 0, - "number" : 5, - "parent" : 3, - "varname" : "FIREWALL_SERVICEGROUP_TYPE_TCPUDP_DST_PORT" - } - ], - "comment" : "", - "data" : "TCP", - "instance" : 0, - "number" : 3, - "parent" : 1, - "varname" : "FIREWALL_SERVICEGROUP_TYPE" - } - ], - "comment" : "", - "data" : "http", - "instance" : 1, - "number" : 1, - "varname" : "FIREWALL_SERVICEGROUP" - }, - { - "children" : [ - { - "comment" : "", - "data" : "2", - "instance" : 0, - "number" : 7, - "parent" : 6, - "varname" : "FIREWALL_SERVICEGROUP_PREDEFINED_ID" - }, - { - "children" : [ - { - "comment" : "", - "data" : "", - "instance" : 0, - "number" : 9, - "parent" : 8, - "varname" : "FIREWALL_SERVICEGROUP_TYPE_COMMENT" - }, - { - "comment" : "", - "data" : "443", - "instance" : 0, - "number" : 10, - "parent" : 8, - "varname" : "FIREWALL_SERVICEGROUP_TYPE_TCPUDP_DST_PORT" - } - ], - "comment" : "", - "data" : "TCP", - "instance" : 0, - "number" : 8, - "parent" : 6, - "varname" : "FIREWALL_SERVICEGROUP_TYPE" - } - ], - "comment" : "", - "data" : "https", - "instance" : 2, - "number" : 6, - "varname" : "FIREWALL_SERVICEGROUP" - } - ] -} -""" - -demo_latin1crap = r""" -{ "cnf" : [ - { - "children" : [ - { - "comment" : "", - "data" : "0", - "instance" : 0, - "number" : 2, - "parent" : 1, - "varname" : "USER_DISABLED" - }, - { - "comment" : "", - "data" : "Administrator", - "instance" : 0, - "number" : 3, - "parent" : 1, - "varname" : "USER_FULLNAME" - }, - { - "comment" : "", - "data" : "INBOX/Kalender", - "instance" : 0, - "number" : 4, - "parent" : 1, - "varname" : "USER_GROUPWARE_FOLDER_CALENDAR" - }, - { - "comment" : "", - "data" : "INBOX/Kontakte", - "instance" : 0, - "number" : 5, - "parent" : 1, - "varname" : "USER_GROUPWARE_FOLDER_CONTACTS" - }, - { - "comment" : "", - "data" : "INBOX/Entwürfe", - "instance" : 0, - "number" : 6, - "parent" : 1, - "varname" : "USER_GROUPWARE_FOLDER_DRAFTS" - }, - { - "comment" : "", - "data" : "INBOX/Notizen", - "instance" : 0, - "number" : 7, - "parent" : 1, - "varname" : "USER_GROUPWARE_FOLDER_NOTES" - }, - { - "comment" : "", - "data" : "INBOX/Gesendete Elemente", - "instance" : 0, - "number" : 8, - "parent" : 1, - "varname" : "USER_GROUPWARE_FOLDER_OUTBOX" - }, - { - "comment" : "", - "data" : "INBOX/Aufgaben", - "instance" : 0, - "number" : 9, - "parent" : 1, - "varname" : "USER_GROUPWARE_FOLDER_TASKS" - }, - - { - "comment" : "", - "data" : "INBOX/Gelöschte Elemente", - "instance" : 0, - "number" : 10, - "parent" : 1, - "varname" : "USER_GROUPWARE_FOLDER_TRASH" - }, - { - "comment" : "", - "data" : "1", - "instance" : 0, - "number" : 11, - "parent" : 1, - "varname" : "USER_GROUP_MEMBER_REF" - }, - { - "comment" : "", - "data" : "2", - "instance" : 1, - "number" : 12, - "parent" : 1, - "varname" : "USER_GROUP_MEMBER_REF" - }, - { - "comment" : "", - "data" : "", - "instance" : 0, - "number" : 13, - "parent" : 1, - "varname" : "USER_LOCALE" - }, - { - "comment" : "", - "data" : "idkfa", - "instance" : 0, - "number" : 14, - "parent" : 1, - "varname" : "USER_PASSWORD" - }, - { - "comment" : "", - "data" : "30", - "instance" : 0, - "number" : 15, - "parent" : 1, - "varname" : "USER_TRASH_DELETEDAYS" - } - ], - "comment" : "", - "data" : "admin", - "instance" : 1, - "number" : 1, - "varname" : "USER" - } -]} -""" - -demo_cnf_group = """ -1 GROUP,1: "Administratoren" -2 (1) GROUP_ACCESS_GO_ONLINE_ALLOWED,0: "1" -3 (1) GROUP_EMAILFILTER_BAN_FILTERLIST_REF,0: "-1" -4 (1) GROUP_EMAIL_RELAY_RIGHTS,0: "RELAY_FROM_INTRANET" -5 (1) GROUP_PROXY_PROFILE_REF,0: "1" -""" - -demo_cnf_filter = """ -1 EMAILFILTER_BAN_FILTERLIST,1: "Vordefiniert: Alles verboten" -2 (1) EMAILFILTER_BAN_FILTERLIST_ENCRYPTED,0: "BLOCK" -3 (1) EMAILFILTER_BAN_FILTERLIST_EXTENSIONS,0: "" -4 (1) EMAILFILTER_BAN_FILTERLIST_MIMETYPES,0: "" -5 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,0: "text/plain" -6 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,1: "text/html" -7 (1) EMAILFILTER_BAN_FILTERLIST_MODE,0: "ALLOW" -8 (1) EMAILFILTER_BAN_FILTERLIST_PREDEFINED_ID,0: "1" -""" - -demo_cnf_comments = """ -1 EMAILFILTER_BAN_FILTERLIST,1: "Vordefiniert: Alles verboten" -2 (1) EMAILFILTER_BAN_FILTERLIST_ENCRYPTED,0: "BLOCK" -3 (1) EMAILFILTER_BAN_FILTERLIST_EXTENSIONS,0: "" -4 (1) EMAILFILTER_BAN_FILTERLIST_MIMETYPES,0: "" # foo -5 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,0: "text/plain"#bar -6 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,1: "text/html" -7 (1) EMAILFILTER_BAN_FILTERLIST_MODE,0: "ALLOW" # baz -8 (1) EMAILFILTER_BAN_FILTERLIST_PREDEFINED_ID,0: "1" -""" - - -# -# test class -# - -class CnfVarUnittest(unittest.TestCase): - - def test_print_cnf(self): - with open("/dev/null", "w") as devnull: - cnfvar.print_cnf(demo_cnfvar, out=devnull) - - def test_parse_cnf_simple(self): - cnf = cnfvar.read_cnf(demo_cnf_group) - with open("/dev/null", "w") as devnull: - cnfvar.print_cnf_json(cnf, out=devnull) - - def test_parse_cnf_nested(self): - cnf = cnfvar.read_cnf(demo_cnf_filter) - with open("/dev/null", "w") as devnull: - cnfvar.print_cnf_json(cnf, out=devnull) - - def test_parse_cnf_comments(self): - cnf = cnfvar.read_cnf(demo_cnf_comments) - with open("/dev/null", "w") as devnull: - cnfvar.print_cnf_json(cnf, out=devnull) - - def test_print_cnf_garbage(self): - try: - with open("/dev/null", "w") as devnull: - cnfvar.print_cnf(demo_invalid_cnfvar, out=devnull) - except cnfvar.InvalidCNF: - print ("Caught the duplicate line, bravo!") - - def test_read_json(self): - cnf = cnfvar.read_cnf_json(demo_jsoncnf) - with open("/dev/null", "w") as devnull: - cnfvar.print_cnf(cnf, out=devnull) - - def test_read_json_nonascii(self): - cnf = cnfvar.read_cnf_json(demo_latin1crap) - with open("/dev/null", "w") as devnull: - cnfvar.print_cnf(cnf, out=devnull) - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_cnfvar.py b/test/test_cnfvar.py new file mode 100755 index 0000000..63166dd --- /dev/null +++ b/test/test_cnfvar.py @@ -0,0 +1,377 @@ +#!/usr/bin/env python +# This Python file uses the following encoding: utf-8 + +# The software in this package is distributed under the GNU General +# Public License version 2 (with a special exception described below). +# +# A copy of GNU General Public License (GPL) is included in this distribution, +# in the file COPYING.GPL. +# +# As a special exception, if other files instantiate templates or use macros +# or inline functions from this file, or you compile this file and link it +# with other works to produce a work based on this file, this file +# does not by itself cause the resulting work to be covered +# by the GNU General Public License. +# +# However the source code for this file must still be made available +# in accordance with section (3) of the GNU General Public License. +# +# This exception does not invalidate any other reasons why a work based +# on this file might be covered by the GNU General Public License. + +import unittest +import cnfvar + +# +# test data +# + +# model cnf tree +demo_cnfvar = {"cnf": [ + { + "varname": "MY_FAVORITE_CNF_VAR", + "instance": 1337, + "number": 42, + "data": "string conf content", + "comment": "" + }, + { + "varname": "SOME_NESTED_CNF_VAR", + "instance": 0, + "number": 23, + "data": "999", + "comment": "", + "children": [ + { + "varname": "SOME_CHILD_VAR", + "instance": 1, + "number": 24, + "data": "2014", + "parent": 23, + "comment": "" + } + ] + }, +]} + +# duplicate line number +demo_invalid_cnfvar = {"cnf": [ + { + "varname": "SOME_PARTICULARLY_TASTY_CNF_VAR", + "instance": 1337, + "number": 23, + "data": "classic wingers", + "comment": "" + }, + { + "varname": "EXTRAORDINARILY_FANCY_CNF_VAR", + "instance": 1, + "number": 42, + "data": "ab mentions", + "comment": "" + }, + { + "varname": "ANOTHER_POPULAR_CNF_VAR", + "instance": 0, + "number": 42, + "data": "notches", + "comment": "" + } +]} + +demo_jsoncnf = """ +{ + "cnf" : [ + { + "children" : [ + { + "comment" : "", + "data" : "1", + "instance" : 0, + "number" : 2, + "parent" : 1, + "varname" : "FIREWALL_SERVICEGROUP_PREDEFINED_ID" + }, + { + "children" : [ + { + "comment" : "", + "data" : "", + "instance" : 0, + "number" : 4, + "parent" : 3, + "varname" : "FIREWALL_SERVICEGROUP_TYPE_COMMENT" + }, + { + "comment" : "", + "data" : "80", + "instance" : 0, + "number" : 5, + "parent" : 3, + "varname" : "FIREWALL_SERVICEGROUP_TYPE_TCPUDP_DST_PORT" + } + ], + "comment" : "", + "data" : "TCP", + "instance" : 0, + "number" : 3, + "parent" : 1, + "varname" : "FIREWALL_SERVICEGROUP_TYPE" + } + ], + "comment" : "", + "data" : "http", + "instance" : 1, + "number" : 1, + "varname" : "FIREWALL_SERVICEGROUP" + }, + { + "children" : [ + { + "comment" : "", + "data" : "2", + "instance" : 0, + "number" : 7, + "parent" : 6, + "varname" : "FIREWALL_SERVICEGROUP_PREDEFINED_ID" + }, + { + "children" : [ + { + "comment" : "", + "data" : "", + "instance" : 0, + "number" : 9, + "parent" : 8, + "varname" : "FIREWALL_SERVICEGROUP_TYPE_COMMENT" + }, + { + "comment" : "", + "data" : "443", + "instance" : 0, + "number" : 10, + "parent" : 8, + "varname" : "FIREWALL_SERVICEGROUP_TYPE_TCPUDP_DST_PORT" + } + ], + "comment" : "", + "data" : "TCP", + "instance" : 0, + "number" : 8, + "parent" : 6, + "varname" : "FIREWALL_SERVICEGROUP_TYPE" + } + ], + "comment" : "", + "data" : "https", + "instance" : 2, + "number" : 6, + "varname" : "FIREWALL_SERVICEGROUP" + } + ] +} +""" + +demo_latin1crap = r""" +{ "cnf" : [ + { + "children" : [ + { + "comment" : "", + "data" : "0", + "instance" : 0, + "number" : 2, + "parent" : 1, + "varname" : "USER_DISABLED" + }, + { + "comment" : "", + "data" : "Administrator", + "instance" : 0, + "number" : 3, + "parent" : 1, + "varname" : "USER_FULLNAME" + }, + { + "comment" : "", + "data" : "INBOX/Kalender", + "instance" : 0, + "number" : 4, + "parent" : 1, + "varname" : "USER_GROUPWARE_FOLDER_CALENDAR" + }, + { + "comment" : "", + "data" : "INBOX/Kontakte", + "instance" : 0, + "number" : 5, + "parent" : 1, + "varname" : "USER_GROUPWARE_FOLDER_CONTACTS" + }, + { + "comment" : "", + "data" : "INBOX/Entwürfe", + "instance" : 0, + "number" : 6, + "parent" : 1, + "varname" : "USER_GROUPWARE_FOLDER_DRAFTS" + }, + { + "comment" : "", + "data" : "INBOX/Notizen", + "instance" : 0, + "number" : 7, + "parent" : 1, + "varname" : "USER_GROUPWARE_FOLDER_NOTES" + }, + { + "comment" : "", + "data" : "INBOX/Gesendete Elemente", + "instance" : 0, + "number" : 8, + "parent" : 1, + "varname" : "USER_GROUPWARE_FOLDER_OUTBOX" + }, + { + "comment" : "", + "data" : "INBOX/Aufgaben", + "instance" : 0, + "number" : 9, + "parent" : 1, + "varname" : "USER_GROUPWARE_FOLDER_TASKS" + }, + + { + "comment" : "", + "data" : "INBOX/Gelöschte Elemente", + "instance" : 0, + "number" : 10, + "parent" : 1, + "varname" : "USER_GROUPWARE_FOLDER_TRASH" + }, + { + "comment" : "", + "data" : "1", + "instance" : 0, + "number" : 11, + "parent" : 1, + "varname" : "USER_GROUP_MEMBER_REF" + }, + { + "comment" : "", + "data" : "2", + "instance" : 1, + "number" : 12, + "parent" : 1, + "varname" : "USER_GROUP_MEMBER_REF" + }, + { + "comment" : "", + "data" : "", + "instance" : 0, + "number" : 13, + "parent" : 1, + "varname" : "USER_LOCALE" + }, + { + "comment" : "", + "data" : "idkfa", + "instance" : 0, + "number" : 14, + "parent" : 1, + "varname" : "USER_PASSWORD" + }, + { + "comment" : "", + "data" : "30", + "instance" : 0, + "number" : 15, + "parent" : 1, + "varname" : "USER_TRASH_DELETEDAYS" + } + ], + "comment" : "", + "data" : "admin", + "instance" : 1, + "number" : 1, + "varname" : "USER" + } +]} +""" + +demo_cnf_group = """ +1 GROUP,1: "Administratoren" +2 (1) GROUP_ACCESS_GO_ONLINE_ALLOWED,0: "1" +3 (1) GROUP_EMAILFILTER_BAN_FILTERLIST_REF,0: "-1" +4 (1) GROUP_EMAIL_RELAY_RIGHTS,0: "RELAY_FROM_INTRANET" +5 (1) GROUP_PROXY_PROFILE_REF,0: "1" +""" + +demo_cnf_filter = """ +1 EMAILFILTER_BAN_FILTERLIST,1: "Vordefiniert: Alles verboten" +2 (1) EMAILFILTER_BAN_FILTERLIST_ENCRYPTED,0: "BLOCK" +3 (1) EMAILFILTER_BAN_FILTERLIST_EXTENSIONS,0: "" +4 (1) EMAILFILTER_BAN_FILTERLIST_MIMETYPES,0: "" +5 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,0: "text/plain" +6 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,1: "text/html" +7 (1) EMAILFILTER_BAN_FILTERLIST_MODE,0: "ALLOW" +8 (1) EMAILFILTER_BAN_FILTERLIST_PREDEFINED_ID,0: "1" +""" + +demo_cnf_comments = """ +1 EMAILFILTER_BAN_FILTERLIST,1: "Vordefiniert: Alles verboten" +2 (1) EMAILFILTER_BAN_FILTERLIST_ENCRYPTED,0: "BLOCK" +3 (1) EMAILFILTER_BAN_FILTERLIST_EXTENSIONS,0: "" +4 (1) EMAILFILTER_BAN_FILTERLIST_MIMETYPES,0: "" # foo +5 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,0: "text/plain"#bar +6 (4) EMAILFILTER_BAN_FILTERLIST_MIMETYPES_NAME,1: "text/html" +7 (1) EMAILFILTER_BAN_FILTERLIST_MODE,0: "ALLOW" # baz +8 (1) EMAILFILTER_BAN_FILTERLIST_PREDEFINED_ID,0: "1" +""" + + +# +# test class +# + +class CnfVarUnittest(unittest.TestCase): + + def test_print_cnf(self): + with open("/dev/null", "w") as devnull: + cnfvar.print_cnf(demo_cnfvar, out=devnull) + + def test_parse_cnf_simple(self): + cnf = cnfvar.read_cnf(demo_cnf_group) + with open("/dev/null", "w") as devnull: + cnfvar.print_cnf_json(cnf, out=devnull) + + def test_parse_cnf_nested(self): + cnf = cnfvar.read_cnf(demo_cnf_filter) + with open("/dev/null", "w") as devnull: + cnfvar.print_cnf_json(cnf, out=devnull) + + def test_parse_cnf_comments(self): + cnf = cnfvar.read_cnf(demo_cnf_comments) + with open("/dev/null", "w") as devnull: + cnfvar.print_cnf_json(cnf, out=devnull) + + def test_print_cnf_garbage(self): + try: + with open("/dev/null", "w") as devnull: + cnfvar.print_cnf(demo_invalid_cnfvar, out=devnull) + except cnfvar.InvalidCNF: + print ("Caught the duplicate line, bravo!") + + def test_read_json(self): + cnf = cnfvar.read_cnf_json(demo_jsoncnf) + with open("/dev/null", "w") as devnull: + cnfvar.print_cnf(cnf, out=devnull) + + def test_read_json_nonascii(self): + cnf = cnfvar.read_cnf_json(demo_latin1crap) + with open("/dev/null", "w") as devnull: + cnfvar.print_cnf(cnf, out=devnull) + + +if __name__ == '__main__': + unittest.main() -- 1.7.1