Improve unit test performance. (Do not install library we do not use in the tests anyway.) (#92)

This commit is contained in:
Felix Fontein 2022-05-15 22:42:26 +02:00 committed by GitHub
parent ea782c1cf2
commit 5f912dad16
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 8 additions and 19 deletions

View file

@ -100,13 +100,6 @@ jobs:
with:
path: ansible_collections/community/routeros
- name: Overwrite unit test requirements (if applicable)
run: |
if [ -e tests/unit/requirements-${{ matrix.ansible }}.txt ]; then
cp tests/unit/requirements-${{ matrix.ansible }}.txt tests/unit/requirements.txt
fi
working-directory: ./ansible_collections/community/routeros
- name: Set up Python ${{ matrix.ansible }}
uses: actions/setup-python@v3
with:

View file

@ -34,7 +34,8 @@ class fake_ros_api(object):
def __init__(self, api, path):
pass
def path(self, api, path):
@classmethod
def path(cls, api, path):
fake_bridge = [{".id": "*DC", "name": "b2", "mtu": "auto", "actual-mtu": 1500,
"l2mtu": 65535, "arp": "enabled", "arp-timeout": "auto",
"mac-address": "3A:C1:90:D6:E8:44", "protocol-mode": "rstp",
@ -45,7 +46,8 @@ class fake_ros_api(object):
"dhcp-snooping": "false", "running": "true", "disabled": "false"}]
return fake_bridge
def arbitrary(self, api, path):
@classmethod
def arbitrary(cls, api, path):
def retr(self, *args, **kwargs):
if 'name' not in kwargs.keys():
raise TrapError(message="no such command")
@ -90,7 +92,8 @@ class fake_ros_api(object):
else:
return ["no results for 'interface bridge 'query' %s" % ' '.join(args)]
def select_where(self, api, path):
@classmethod
def select_where(cls, api, path):
api_path = Where()
return api_path

View file

@ -30,10 +30,10 @@ class TestRouterosApiModule(ModuleTestCase):
def setUp(self):
super(TestRouterosApiModule, self).setUp()
librouteros = pytest.importorskip("librouteros")
self.module = api
self.module.LibRouterosError = FakeLibRouterosError
self.module.connect = MagicMock(new=fake_ros_api)
self.module.check_has_library = MagicMock()
self.patch_create_api = patch('ansible_collections.community.routeros.plugins.modules.api.create_api', MagicMock(new=fake_ros_api))
self.patch_create_api.start()
self.module.Key = MagicMock(new=Key)

View file

@ -424,10 +424,10 @@ class TestRouterosApiFactsModule(ModuleTestCase):
def setUp(self):
super(TestRouterosApiFactsModule, self).setUp()
librouteros = pytest.importorskip('librouteros')
self.module = api_facts
self.module.LibRouterosError = FakeLibRouterosError
self.module.connect = MagicMock(new=fake_ros_api)
self.module.check_has_library = MagicMock()
self.patch_create_api = patch('ansible_collections.community.routeros.plugins.modules.api_facts.create_api', MagicMock(new=fake_ros_api))
self.patch_create_api.start()
self.patch_query_path = patch('ansible_collections.community.routeros.plugins.modules.api_facts.FactsBase.query_path', self.query_path)

View file

@ -1,4 +0,0 @@
unittest2 ; python_version <= '2.6'
# requirements for api module
librouteros < 3.2.0 ; python_version >= '3.6'

View file

@ -1,4 +1 @@
unittest2 ; python_version <= '2.6'
# requirements for api module
librouteros ; python_version >= '3.6'