def test6(self): parser = OpenVpnConfig(static_config=test6) parser.load() data = parser.config_data self.assertEqual(len(data), 2, 'Number of parsed lines does not match') self.assertEqual(data[0].ltype, 3) self.assertEqual(data[0].cmd, 'remote') self.assertEqual(data[1].ltype, 3) self.assertEqual(parser.dump(), test6, 'Parser did not return the same data')
def test7(self): parser = OpenVpnConfig(static_config=test7) parser.load() data = parser.config_data self.assertEqual(parser.dump().strip(), test7.strip(), 'Parser did not return the same data') testx = parser.dump() parser2 = OpenVpnConfig(static_config=testx) parser2.load() data2 = parser.config_data self.assertEqual(data2, data, 'Parser did not return the same data')
def test4_add_key(self): parser = OpenVpnConfig(static_config=test4) parser.load() parser.set_config_value('key', 'server.key') data = parser.config_data self.assertEqual(len(data), 1) self.assertEqual(data[0].ltype, 3)
def test3_remove_added(self): parser = OpenVpnConfig(static_config=test3) parser.load() parser.set_config_value('persist-tun', remove=True) data = parser.config_data self.assertEqual(len(data), 1) self.assertEqual(data[0].ltype, 2)
def test2_add_removed_single(self): parser = OpenVpnConfig(static_config=test2) parser.load() parser.set_config_value('persist-tun') data = parser.config_data self.assertEqual(len(data), 1) self.assertEqual(data[0].ltype, 3)
def test1(self): parser = OpenVpnConfig(static_config=test1) parser.load() data = parser.config_data # Simple parser test self.assertEqual(len(data), 6, 'Number of parsed lines does not match') self.assertEqual(data[0].ltype, 3, 'Parsed command has invalid type') self.assertEqual(data[0].cmd, 'client-to-client') self.assertEqual(data[0].params, None) self.assertEqual(data[0].comment, None) self.assertEqual(data[1].ltype, 3) self.assertEqual(data[1].cmd, 'server') self.assertEqual(data[1].params, '10.8.0.0 255.255.255.0') self.assertEqual(data[1].comment, None) self.assertEqual(data[2].ltype, 2) self.assertEqual(data[2].cmd, 'server') self.assertEqual(data[2].params, '10.7.0.0 255.255.255.0') self.assertEqual(data[2].comment, None) self.assertEqual(data[3].ltype, 3) self.assertEqual(data[3].cmd, 'key') self.assertEqual(data[3].params, 'server.key') self.assertEqual(data[3].comment, '# This file should be kept secret') self.assertEqual(data[4].ltype, 2) self.assertEqual(data[4].cmd, 'key') self.assertEqual(data[4].params, 'server.key') self.assertEqual(data[4].comment, '# This file should be kept secret') self.assertEqual(data[5].ltype, 1) test1x = parser.dump() parser2 = OpenVpnConfig(static_config=test1x) parser2.load() data2 = parser.config_data self.assertEqual(data2, data, 'Parser did not return the same data')
def test1_remove_key(self): parser = OpenVpnConfig(static_config=test1) parser.load() parser.set_config_value('key', remove=True) ctr_comm = 0 for rec in parser.config_data: if rec.cmd == 'key': self.assertEqual(rec.ltype, 2, 'Directive is still active') if rec.ltype == 2 and rec.cmd == 'key': ctr_comm += 1 self.assertLessEqual(ctr_comm, 2, 'Commented out value should be max 2')
def test5_push_remove(self): parser = OpenVpnConfig(static_config=test5) parser.load() vals = ['alpha', 'secret'] parser.set_config_value('push', vals, remove=True) data = parser.config_data self.assertEqual(len(data), 5) vals_present = [False] * len(vals) for cur in data: if cur.ltype == 3 and cur.params in vals: vals_present[vals.index(cur.params)] = True self.assertEqual(vals_present, [False] * len(vals))
def test5_push(self): parser = OpenVpnConfig(static_config=test5) parser.load() vals = ['alpha', 'beta', 'delta', 'secret'] parser.set_config_value('push', vals) data = parser.config_data self.assertEqual(len(data), 6) vals_present = [False] * len(vals) for cur in data: if cur.ltype == 3: self.assertTrue(cur.params in vals) vals_present[vals.index(cur.params)] = True self.assertEqual(vals_present, [True] * len(vals))
def test8(self): parser = OpenVpnConfig(static_config=test8) parser.load() data = parser.config_data self.assertEqual(parser.dump().strip(), test8.strip(), 'Parser did not return the same data') testx = parser.dump() parser2 = OpenVpnConfig(static_config=testx) parser2.load() data2 = parser.config_data self.assertEqual(data2, data, 'Parser did not return the same data') parser.set_config_value('proto', 'tcp') data = parser.config_data self.assertEqual(len(data), 2) self.assertEqual(data[0].ltype, 2) self.assertEqual(data[1].ltype, 3)