From 98ffd0b57a24372ddf4020661e35230764d7021d Mon Sep 17 00:00:00 2001 From: Muflone Date: Sun, 28 Oct 2018 18:38:17 +0100 Subject: [PATCH] New list type DnsHostList --- pykerio/lists/DnsHostList.py | 28 +++++++++++++++++ pykerio/lists/__init__.py | 1 + tests/lists/TestCase_DnsHostList.py | 49 +++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 pykerio/lists/DnsHostList.py create mode 100644 tests/lists/TestCase_DnsHostList.py diff --git a/pykerio/lists/DnsHostList.py b/pykerio/lists/DnsHostList.py new file mode 100644 index 0000000..b05e0c3 --- /dev/null +++ b/pykerio/lists/DnsHostList.py @@ -0,0 +1,28 @@ +## +# Project: PyKerio +# Description: API for Kerio products +# Author: Fabio Castelli (Muflone) +# Copyright: 2018 Fabio Castelli +# License: GPL-2+ +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +## + +from . import BaseList + +from ..structs.DnsHost import DnsHost + + +class DnsHostList(BaseList): + def __init__(self, *args, **kwargs): + BaseList.__init__(self, DnsHost, *args, **kwargs) diff --git a/pykerio/lists/__init__.py b/pykerio/lists/__init__.py index 00e4ac2..6726597 100644 --- a/pykerio/lists/__init__.py +++ b/pykerio/lists/__init__.py @@ -25,6 +25,7 @@ from .CollisionList import CollisionList from .CreateResultList import CreateResultList from .DnsForwarderList import DnsForwarderList +from .DnsHostList import DnsHostList from .ErrorList import ErrorList from .FilenameGroupList import FilenameGroupList from .HistogramDataList import HistogramDataList diff --git a/tests/lists/TestCase_DnsHostList.py b/tests/lists/TestCase_DnsHostList.py new file mode 100644 index 0000000..9d7ed34 --- /dev/null +++ b/tests/lists/TestCase_DnsHostList.py @@ -0,0 +1,49 @@ +## +# Project: PyKerio +# Description: API for Kerio products +# Author: Fabio Castelli (Muflone) +# Copyright: 2018 Fabio Castelli +# License: GPL-2+ +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +## + +import unittest + +import pykerio + + +class TestCase_DnsHostList(unittest.TestCase): + def test_01_DnsHostList(self): + """ + Test DnsHostList + """ + testlist = pykerio.lists.DnsHostList() + self.assertEquals(len(testlist), 0) + + kid = pykerio.types.KId('10') + ip = pykerio.types.IpAddress('8.8.8.8') + hosts = 'dns.google.com' + teststruct = pykerio.structs.DnsHost({ + 'enabled': True, + 'id': kid, + 'ip': ip, + 'hosts': hosts, + 'description': 'Google public DNS'}) + testlist.append(teststruct) + self.assertEquals(len(testlist), 1) + + self.assertEquals(testlist[-1], teststruct) + + testlist.clear() + self.assertEquals(len(testlist), 0)