def test_basic_vardefinition(self): text = ''' directory "/var/na/named"; aaa master; check-names slave ignore; include "named.local.conf"; ''' result = Parser.parse_string(text) self.assertEqual(result[0].node_type, 'directory') self.assertEqual(result[0].value, '/var/na/named') self.assertIsInstance(result[1], structures.UnknowNode) self.assertEqual(result[1].node_type, 'aaa') self.assertEqual(result[1].value, 'master') self.assertEqual(result[2].node_type, 'check-names') self.assertEqual(result[2].target, 'slave') self.assertEqual(str(result[2]), 'check-names slave ignore;') include_expression = result[3] self.assertTrue(isinstance(include_expression, structures.Include)) self.assertEqual(include_expression['node_type'], 'include') self.assertEqual(include_expression['value'], 'named.local.conf') self.assertEqual(str(include_expression), 'include "named.local.conf";')
def test_has_minimum_requirement(self): values_in_option = self.option_node.value values_not_contained = [req for req in TestOptionsNode.REQUIRE_NODE_TYPES if req not in values_in_option] self.assertEqual(values_not_contained, []) invalid_node = Parser.parse_string(''' options { directory "/var/na/named"; check-names slave ignore; hoge fooo; };''') invalid_options_value = invalid_node[0].value values_not_contained = [req for req in TestOptionsNode.REQUIRE_NODE_TYPES if req not in invalid_options_value] self.assertNotEqual(values_not_contained, [])
def test_option_definition(self): text = ''' options { directory "/var/na/named"; check-names slave ignore; }; aaa master; ''' result = Parser.parse_string(text) option_node = result[0] self.assertEqual(option_node.node_type, 'options') values_in_option = option_node['value'] self.assertEqual(values_in_option.values[0].node_type, 'directory') self.assertEqual(values_in_option.values[0].value, '/var/na/named')
def test_option_definition(self): text = """ options { directory "/var/na/named"; check-names slave ignore; }; aaa master; """ result = Parser.parse_string(text) option_node = result[0] self.assertEqual(option_node.node_type, "options") values_in_option = option_node["value"] self.assertEqual(values_in_option.values[0].node_type, "directory") self.assertEqual(values_in_option.values[0].value, "/var/na/named")
def test_stringfy(self): text = ''' options { directory "/var/na/named"; check-names slave ignore; }; aaa master; ''' result = Parser.parse_string(text) option_node = result[0] self.assertEqual( str(option_node).replace(' ', '').replace('\n', ''), '''options { directory "/var/na/named"; check-names slave ignore; };'''.replace(' ', '').replace('\n', ''))
def test_hasnot_uninvited_values(self): values_in_option = self.option_node.value values_not_contained = [var for var in values_in_option if var.node_type not in TestOptionsNode.REQUIRE_NODE_TYPES] self.assertEqual(values_not_contained, []) invalid_node = Parser.parse_string(''' options { directory "/var/na/named"; check-names slave ignore; hoge fooo; };''') invalid_options_value = invalid_node[0].value values_not_contained = [ var for var in invalid_options_value if var.node_type not in TestOptionsNode.REQUIRE_NODE_TYPES ] self.assertNotEqual(values_not_contained, [])
def test_zone_definition(self): text = ''' zone "zone_name" { directory "/var/na/named"; check-names slave ignore; }; aaa master; ''' result = Parser.parse_string(text) zone_node = result[0] self.assertEqual(zone_node.node_type, 'zone') self.assertEqual(zone_node.name, 'zone_name') values_in_zone = zone_node['value'] self.assertEqual(values_in_zone.values[0].node_type, 'directory') self.assertEqual(values_in_zone.values[0].value, '/var/na/named') self.assertEqual(values_in_zone.values[1].node_type, 'check-names') self.assertEqual(values_in_zone.values[1].target, 'slave') self.assertEqual(values_in_zone.values[1].value, 'ignore')
def test_zone_definition(self): text = """ zone "zone_name" { directory "/var/na/named"; check-names slave ignore; }; aaa master; """ result = Parser.parse_string(text) zone_node = result[0] self.assertEqual(zone_node.node_type, "zone") self.assertEqual(zone_node.name, "zone_name") values_in_zone = zone_node["value"] self.assertEqual(values_in_zone.values[0].node_type, "directory") self.assertEqual(values_in_zone.values[0].value, "/var/na/named") self.assertEqual(values_in_zone.values[1].node_type, "check-names") self.assertEqual(values_in_zone.values[1].target, "slave") self.assertEqual(values_in_zone.values[1].value, "ignore")
def test_hasnot_uninvited_values(self): values_in_option = self.option_node.value values_not_contained = [ var for var in values_in_option if var.node_type not in TestOptionsNode.REQUIRE_NODE_TYPES ] self.assertEqual(values_not_contained, []) invalid_node = Parser.parse_string(''' options { directory "/var/na/named"; check-names slave ignore; hoge fooo; };''') invalid_options_value = invalid_node[0].value values_not_contained = [ var for var in invalid_options_value if var.node_type not in TestOptionsNode.REQUIRE_NODE_TYPES ] self.assertNotEqual(values_not_contained, [])
def test_has_minimum_requirement(self): values_in_option = self.option_node.value values_not_contained = [ req for req in TestOptionsNode.REQUIRE_NODE_TYPES if req not in values_in_option ] self.assertEqual(values_not_contained, []) invalid_node = Parser.parse_string(''' options { directory "/var/na/named"; check-names slave ignore; hoge fooo; };''') invalid_options_value = invalid_node[0].value values_not_contained = [ req for req in TestOptionsNode.REQUIRE_NODE_TYPES if req not in invalid_options_value ] self.assertNotEqual(values_not_contained, [])
def test_acl_vardefinition(self): text = """ acl "acl_test" { 1.1.1.1; 1.1.1.2; 1.1.1.3; 1.1.1.4; }; aaa master; """ result = Parser.parse_string(text) acl_node = result[0] self.assertEqual(acl_node.node_type, "acl") self.assertEqual(acl_node.name, "acl_test") values_in_acl = acl_node["value"] self.assertEqual(values_in_acl.values[0], "1.1.1.1") self.assertEqual(values_in_acl.values[1], "1.1.1.2") self.assertEqual( str(values_in_acl).replace("\n", "").replace(" ", ""), """{1.1.1.1;1.1.1.2;1.1.1.3;1.1.1.4;}""" )
def test_acl_vardefinition(self): text = ''' acl "acl_test" { 1.1.1.1; 1.1.1.2; 1.1.1.3; 1.1.1.4; }; aaa master; ''' result = Parser.parse_string(text) acl_node = result[0] self.assertEqual(acl_node.node_type, 'acl') self.assertEqual(acl_node.name, 'acl_test') values_in_acl = acl_node['value'] self.assertEqual(values_in_acl.values[0], '1.1.1.1') self.assertEqual(values_in_acl.values[1], '1.1.1.2') self.assertEqual( str(values_in_acl).replace('\n', '').replace(' ', ''), '''{1.1.1.1;1.1.1.2;1.1.1.3;1.1.1.4;}''')
def test_stringfy(self): text = """ options { directory "/var/na/named"; check-names slave ignore; }; aaa master; """ result = Parser.parse_string(text) option_node = result[0] self.assertEqual( str(option_node).replace(" ", "").replace("\n", ""), """options { directory "/var/na/named"; check-names slave ignore; };""".replace( " ", "" ).replace( "\n", "" ), )
def test_basic_vardefinition(self): text = """ directory "/var/na/named"; aaa master; check-names slave ignore; include "named.local.conf"; """ result = Parser.parse_string(text) self.assertEqual(result[0].node_type, "directory") self.assertEqual(result[0].value, "/var/na/named") self.assertIsInstance(result[1], structures.UnknowNode) self.assertEqual(result[1].node_type, "aaa") self.assertEqual(result[1].value, "master") self.assertEqual(result[2].node_type, "check-names") self.assertEqual(result[2].target, "slave") self.assertEqual(str(result[2]), "check-names slave ignore;") include_expression = result[3] self.assertTrue(isinstance(include_expression, structures.Include)) self.assertEqual(include_expression["node_type"], "include") self.assertEqual(include_expression["value"], "named.local.conf") self.assertEqual(str(include_expression), 'include "named.local.conf";')
def setUp(self): with open(path.dirname(__file__) + '/resources/named.conf') as f: text = f.read() self.result = Parser.parse_string(text) self.option_node = self.result[1] # line 0 is comment
def setUp(self): with open(path.dirname(__file__) + '/resources/named.conf') as f: text = f.read() self.prepared_named = Parser.parse_string(text)
def setUp(self): self.result = Parser.parse_file( path.dirname(__file__) + '/resources/named.conf')
def setUp(self): with open(path.dirname(__file__) + "/resources/named.conf") as f: text = f.read() self.prepared_named = Parser.parse_string(text)
def setUp(self): self.result = Parser.parse_file(path.dirname(__file__) + '/resources/named.conf')