Fix unit tests which modify the source tree. (#45763)

* Fix CNOS unit test log usage.
* Use temp dir for Galaxy unit tests.
* Write to temp files in interfaces_file unit test.
* Fix log placement in netapp_e_ldap unit test.

(cherry picked from commit 0686450cae)
pull/45713/merge
Matt Clay 6 years ago committed by Toshio Kuratomi
parent e575f655c1
commit 09e61f29e9

@ -39,6 +39,9 @@ class TestGalaxy(unittest.TestCase):
'''creating prerequisites for installing a role; setUpClass occurs ONCE whereas setUp occurs with every method tested.''' '''creating prerequisites for installing a role; setUpClass occurs ONCE whereas setUp occurs with every method tested.'''
# class data for easy viewing: role_dir, role_tar, role_name, role_req, role_path # class data for easy viewing: role_dir, role_tar, role_name, role_req, role_path
cls.temp_dir = tempfile.mkdtemp(prefix='ansible-test_galaxy-')
os.chdir(cls.temp_dir)
if os.path.exists("./delete_me"): if os.path.exists("./delete_me"):
shutil.rmtree("./delete_me") shutil.rmtree("./delete_me")
@ -89,6 +92,9 @@ class TestGalaxy(unittest.TestCase):
if os.path.isdir(cls.role_path): if os.path.isdir(cls.role_path):
shutil.rmtree(cls.role_path) shutil.rmtree(cls.role_path)
os.chdir('/')
shutil.rmtree(cls.temp_dir)
def setUp(self): def setUp(self):
self.default_args = ['ansible-galaxy'] self.default_args = ['ansible-galaxy']

@ -21,6 +21,7 @@ __metaclass__ = type
import os import os
import json import json
import tempfile
from ansible.compat.tests import unittest from ansible.compat.tests import unittest
from ansible.compat.tests.mock import patch from ansible.compat.tests.mock import patch
@ -59,6 +60,15 @@ class AnsibleFailJson(Exception):
class TestCnosModule(unittest.TestCase): class TestCnosModule(unittest.TestCase):
def setUp(self):
super(TestCnosModule, self).setUp()
self.test_log = tempfile.mkstemp(prefix='ansible-test-cnos-module-', suffix='.log')[1]
def tearDown(self):
super(TestCnosModule, self).tearDown()
os.remove(self.test_log)
def execute_module(self, failed=False, changed=False, commands=None, def execute_module(self, failed=False, changed=False, commands=None,
sort=True, defaults=False): sort=True, defaults=False):

@ -22,7 +22,6 @@ class TestCnosBgpModule(TestCnosModule):
def tearDown(self): def tearDown(self):
super(TestCnosBgpModule, self).tearDown() super(TestCnosBgpModule, self).tearDown()
self.mock_run_cnos_commands.stop() self.mock_run_cnos_commands.stop()
os.remove('test.log')
def load_fixtures(self, commands=None, transport='cli'): def load_fixtures(self, commands=None, transport='cli'):
self.run_cnos_commands.return_value = [load_fixture('cnos_bgp_config.cfg')] self.run_cnos_commands.return_value = [load_fixture('cnos_bgp_config.cfg')]
@ -30,7 +29,7 @@ class TestCnosBgpModule(TestCnosModule):
def test_bgp_neighbor(self): def test_bgp_neighbor(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'asNum': '33', 'outputfile': self.test_log, 'asNum': '33',
'bgpArg1': 'neighbor', 'bgpArg2': '10.241.107.40', 'bgpArg1': 'neighbor', 'bgpArg2': '10.241.107.40',
'bgpArg3': '13', 'bgpArg4': 'address-family', 'bgpArg3': '13', 'bgpArg4': 'address-family',
'bgpArg5': 'ipv4', 'bgpArg6': 'next-hop-self'}) 'bgpArg5': 'ipv4', 'bgpArg6': 'next-hop-self'})
@ -41,7 +40,7 @@ class TestCnosBgpModule(TestCnosModule):
def test_cnos_bgp_dampening(self): def test_cnos_bgp_dampening(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'asNum': '33', 'outputfile': self.test_log, 'asNum': '33',
'bgpArg1': 'address-family', 'bgpArg2': 'ipv4', 'bgpArg1': 'address-family', 'bgpArg2': 'ipv4',
'bgpArg3': 'dampening', 'bgpArg4': '13', 'bgpArg3': 'dampening', 'bgpArg4': '13',
'bgpArg5': '233', 'bgpArg6': '333', 'bgpArg5': '233', 'bgpArg6': '333',
@ -53,7 +52,7 @@ class TestCnosBgpModule(TestCnosModule):
def test_cnos_bgp_network(self): def test_cnos_bgp_network(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'asNum': '33', 'outputfile': self.test_log, 'asNum': '33',
'bgpArg1': 'address-family', 'bgpArg2': 'ipv4', 'bgpArg1': 'address-family', 'bgpArg2': 'ipv4',
'bgpArg3': 'network', 'bgpArg4': '1.2.3.4/5', 'bgpArg3': 'network', 'bgpArg4': '1.2.3.4/5',
'bgpArg5': 'backdoor'}) 'bgpArg5': 'backdoor'})
@ -64,7 +63,7 @@ class TestCnosBgpModule(TestCnosModule):
def test_cnos_bgp_clusterid(self): def test_cnos_bgp_clusterid(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'asNum': '33', 'outputfile': self.test_log, 'asNum': '33',
'bgpArg1': 'cluster-id', 'bgpArg2': '10.241.107.40'}) 'bgpArg1': 'cluster-id', 'bgpArg2': '10.241.107.40'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'BGP configurations accomplished' expected_result = 'BGP configurations accomplished'
@ -73,7 +72,7 @@ class TestCnosBgpModule(TestCnosModule):
def test_cnos_bgp_graceful_restart(self): def test_cnos_bgp_graceful_restart(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'asNum': '33', 'outputfile': self.test_log, 'asNum': '33',
'bgpArg1': 'graceful-restart', 'bgpArg2': '333'}) 'bgpArg1': 'graceful-restart', 'bgpArg2': '333'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'BGP configurations accomplished' expected_result = 'BGP configurations accomplished'
@ -82,7 +81,7 @@ class TestCnosBgpModule(TestCnosModule):
def test_cnos_bgp_routerid(self): def test_cnos_bgp_routerid(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'asNum': '33', 'outputfile': self.test_log, 'asNum': '33',
'bgpArg1': 'router-id', 'bgpArg2': '1.2.3.4'}) 'bgpArg1': 'router-id', 'bgpArg2': '1.2.3.4'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'BGP configurations accomplished' expected_result = 'BGP configurations accomplished'
@ -91,7 +90,7 @@ class TestCnosBgpModule(TestCnosModule):
def test_cnos_bgp_vrf(self): def test_cnos_bgp_vrf(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'asNum': '33', 'outputfile': self.test_log, 'asNum': '33',
'bgpArg1': 'vrf'}) 'bgpArg1': 'vrf'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'BGP configurations accomplished' expected_result = 'BGP configurations accomplished'

@ -22,7 +22,6 @@ class TestCnosEthernetModule(TestCnosModule):
def tearDown(self): def tearDown(self):
super(TestCnosEthernetModule, self).tearDown() super(TestCnosEthernetModule, self).tearDown()
self.mock_run_cnos_commands.stop() self.mock_run_cnos_commands.stop()
os.remove('test.log')
def load_fixtures(self, commands=None, transport='cli'): def load_fixtures(self, commands=None, transport='cli'):
self.run_cnos_commands.return_value = [load_fixture('cnos_ethernet_config.cfg')] self.run_cnos_commands.return_value = [load_fixture('cnos_ethernet_config.cfg')]
@ -30,7 +29,7 @@ class TestCnosEthernetModule(TestCnosModule):
def test_ethernet_channelgroup(self): def test_ethernet_channelgroup(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceOption': 'ethernet', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceOption': 'ethernet', 'interfaceRange': '33',
'interfaceArg1': 'channel-group', 'interfaceArg2': '33', 'interfaceArg3': 'on'}) 'interfaceArg1': 'channel-group', 'interfaceArg2': '33', 'interfaceArg3': 'on'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Interface Configuration is Accomplished' expected_result = 'Interface Configuration is Accomplished'
@ -39,7 +38,7 @@ class TestCnosEthernetModule(TestCnosModule):
def test_cnos_ethernet_lacp(self): def test_cnos_ethernet_lacp(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceOption': 'ethernet', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceOption': 'ethernet', 'interfaceRange': '33',
'interfaceArg1': 'lacp', 'interfaceArg2': 'port-priority', 'interfaceArg3': '33'}) 'interfaceArg1': 'lacp', 'interfaceArg2': 'port-priority', 'interfaceArg3': '33'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Interface Configuration is Accomplished' expected_result = 'Interface Configuration is Accomplished'
@ -48,7 +47,7 @@ class TestCnosEthernetModule(TestCnosModule):
def test_cnos_ethernet_duplex(self): def test_cnos_ethernet_duplex(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceOption': 'ethernet', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceOption': 'ethernet', 'interfaceRange': '33',
'interfaceArg1': 'duplex', 'interfaceArg2': 'auto'}) 'interfaceArg1': 'duplex', 'interfaceArg2': 'auto'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Interface Configuration is Accomplished' expected_result = 'Interface Configuration is Accomplished'
@ -57,7 +56,7 @@ class TestCnosEthernetModule(TestCnosModule):
def test_cnos_ethernet_mtu(self): def test_cnos_ethernet_mtu(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceOption': 'ethernet', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceOption': 'ethernet', 'interfaceRange': '33',
'interfaceArg1': 'mtu', 'interfaceArg2': '1300'}) 'interfaceArg1': 'mtu', 'interfaceArg2': '1300'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Interface Configuration is Accomplished' expected_result = 'Interface Configuration is Accomplished'
@ -66,7 +65,7 @@ class TestCnosEthernetModule(TestCnosModule):
def test_cnos_ethernet_spanningtree(self): def test_cnos_ethernet_spanningtree(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceOption': 'ethernet', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceOption': 'ethernet', 'interfaceRange': '33',
'interfaceArg1': 'spanning-tree', 'interfaceArg2': 'mst', 'interfaceArg1': 'spanning-tree', 'interfaceArg2': 'mst',
'interfaceArg3': '33-35', 'interfaceArg4': 'cost', 'interfaceArg3': '33-35', 'interfaceArg4': 'cost',
'interfaceArg5': '33'}) 'interfaceArg5': '33'})
@ -77,7 +76,7 @@ class TestCnosEthernetModule(TestCnosModule):
def test_cnos_ethernet_ip(self): def test_cnos_ethernet_ip(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceOption': 'ethernet', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceOption': 'ethernet', 'interfaceRange': '33',
'interfaceArg1': 'ip', 'interfaceArg2': 'port', 'interfaceArg1': 'ip', 'interfaceArg2': 'port',
'interfaceArg3': 'anil'}) 'interfaceArg3': 'anil'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)

@ -22,7 +22,6 @@ class TestCnosPortchannelModule(TestCnosModule):
def tearDown(self): def tearDown(self):
super(TestCnosPortchannelModule, self).tearDown() super(TestCnosPortchannelModule, self).tearDown()
self.mock_run_cnos_commands.stop() self.mock_run_cnos_commands.stop()
os.remove('test.log')
def load_fixtures(self, commands=None, transport='cli'): def load_fixtures(self, commands=None, transport='cli'):
self.run_cnos_commands.return_value = [load_fixture('cnos_portchannel_config.cfg')] self.run_cnos_commands.return_value = [load_fixture('cnos_portchannel_config.cfg')]
@ -30,7 +29,7 @@ class TestCnosPortchannelModule(TestCnosModule):
def test_portchannel_channelgroup(self): def test_portchannel_channelgroup(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceRange': '33',
'interfaceArg1': 'channel-group', 'interfaceArg2': '33', 'interfaceArg3': 'on'}) 'interfaceArg1': 'channel-group', 'interfaceArg2': '33', 'interfaceArg3': 'on'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Port Channel Configuration is done' expected_result = 'Port Channel Configuration is done'
@ -39,7 +38,7 @@ class TestCnosPortchannelModule(TestCnosModule):
def test_cnos_portchannel_lacp(self): def test_cnos_portchannel_lacp(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceRange': '33',
'interfaceArg1': 'lacp', 'interfaceArg2': 'port-priority', 'interfaceArg3': '33'}) 'interfaceArg1': 'lacp', 'interfaceArg2': 'port-priority', 'interfaceArg3': '33'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Port Channel Configuration is done' expected_result = 'Port Channel Configuration is done'
@ -48,7 +47,7 @@ class TestCnosPortchannelModule(TestCnosModule):
def test_cnos_portchannel_duplex(self): def test_cnos_portchannel_duplex(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceRange': '2', 'outputfile': self.test_log, 'interfaceRange': '2',
'interfaceArg1': 'duplex', 'interfaceArg2': 'auto'}) 'interfaceArg1': 'duplex', 'interfaceArg2': 'auto'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Port Channel Configuration is done' expected_result = 'Port Channel Configuration is done'
@ -57,7 +56,7 @@ class TestCnosPortchannelModule(TestCnosModule):
def test_cnos_portchannel_mtu(self): def test_cnos_portchannel_mtu(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceRange': '33',
'interfaceArg1': 'mtu', 'interfaceArg2': '1300'}) 'interfaceArg1': 'mtu', 'interfaceArg2': '1300'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'Port Channel Configuration is done' expected_result = 'Port Channel Configuration is done'
@ -66,7 +65,7 @@ class TestCnosPortchannelModule(TestCnosModule):
def test_cnos_portchannel_spanningtree(self): def test_cnos_portchannel_spanningtree(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceRange': '33',
'interfaceArg1': 'spanning-tree', 'interfaceArg2': 'mst', 'interfaceArg1': 'spanning-tree', 'interfaceArg2': 'mst',
'interfaceArg3': '33-35', 'interfaceArg4': 'cost', 'interfaceArg3': '33-35', 'interfaceArg4': 'cost',
'interfaceArg5': '33'}) 'interfaceArg5': '33'})
@ -77,7 +76,7 @@ class TestCnosPortchannelModule(TestCnosModule):
def test_cnos_portchannel_ip(self): def test_cnos_portchannel_ip(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'interfaceRange': '33', 'outputfile': self.test_log, 'interfaceRange': '33',
'interfaceArg1': 'ip', 'interfaceArg2': 'port', 'interfaceArg1': 'ip', 'interfaceArg2': 'port',
'interfaceArg3': 'anil'}) 'interfaceArg3': 'anil'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)

@ -22,7 +22,6 @@ class TestCnosVlagModule(TestCnosModule):
def tearDown(self): def tearDown(self):
super(TestCnosVlagModule, self).tearDown() super(TestCnosVlagModule, self).tearDown()
self.mock_run_cnos_commands.stop() self.mock_run_cnos_commands.stop()
os.remove('test.log')
def load_fixtures(self, commands=None, transport='cli'): def load_fixtures(self, commands=None, transport='cli'):
self.run_cnos_commands.return_value = [load_fixture('cnos_vlag_config.cfg')] self.run_cnos_commands.return_value = [load_fixture('cnos_vlag_config.cfg')]
@ -30,7 +29,7 @@ class TestCnosVlagModule(TestCnosModule):
def test_cnos_vlag_enable(self): def test_cnos_vlag_enable(self):
set_module_args({'username': 'admin', 'password': 'admin', set_module_args({'username': 'admin', 'password': 'admin',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'vlagArg1': 'enable'}) 'outputfile': self.test_log, 'vlagArg1': 'enable'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'VLAG configurations accomplished' expected_result = 'VLAG configurations accomplished'
self.assertEqual(result['msg'], expected_result) self.assertEqual(result['msg'], expected_result)
@ -38,7 +37,7 @@ class TestCnosVlagModule(TestCnosModule):
def test_cnos_vlag_instance(self): def test_cnos_vlag_instance(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'vlagArg1': 'instance', 'outputfile': self.test_log, 'vlagArg1': 'instance',
'vlagArg2': '33', 'vlagArg3': '333'}) 'vlagArg2': '33', 'vlagArg3': '333'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'VLAG configurations accomplished' expected_result = 'VLAG configurations accomplished'
@ -47,7 +46,7 @@ class TestCnosVlagModule(TestCnosModule):
def test_cnos_vlag_hlthchk(self): def test_cnos_vlag_hlthchk(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'vlagArg1': 'hlthchk', 'outputfile': self.test_log, 'vlagArg1': 'hlthchk',
'vlagArg2': 'keepalive-interval', 'vlagArg3': '131'}) 'vlagArg2': 'keepalive-interval', 'vlagArg3': '131'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'VLAG configurations accomplished' expected_result = 'VLAG configurations accomplished'

@ -22,7 +22,6 @@ class TestCnosVlanModule(TestCnosModule):
def tearDown(self): def tearDown(self):
super(TestCnosVlanModule, self).tearDown() super(TestCnosVlanModule, self).tearDown()
self.mock_run_cnos_commands.stop() self.mock_run_cnos_commands.stop()
os.remove('test.log')
def load_fixtures(self, commands=None, transport='cli'): def load_fixtures(self, commands=None, transport='cli'):
self.run_cnos_commands.return_value = [load_fixture('cnos_vlan_config.cfg')] self.run_cnos_commands.return_value = [load_fixture('cnos_vlan_config.cfg')]
@ -30,7 +29,7 @@ class TestCnosVlanModule(TestCnosModule):
def test_cnos_vlan_create(self): def test_cnos_vlan_create(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'vlanArg1': '13', 'outputfile': self.test_log, 'vlanArg1': '13',
'vlanArg2': 'name', 'vlanArg3': 'anil'}) 'vlanArg2': 'name', 'vlanArg3': 'anil'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'VLAN configuration is accomplished' expected_result = 'VLAN configuration is accomplished'
@ -39,7 +38,7 @@ class TestCnosVlanModule(TestCnosModule):
def test_cnos_vlan_state(self): def test_cnos_vlan_state(self):
set_module_args({'username': 'admin', 'password': 'pass', set_module_args({'username': 'admin', 'password': 'pass',
'host': '10.241.107.39', 'deviceType': 'g8272_cnos', 'host': '10.241.107.39', 'deviceType': 'g8272_cnos',
'outputfile': 'test.log', 'vlanArg1': '13', 'outputfile': self.test_log, 'vlanArg1': '13',
'vlanArg2': 'state', 'vlanArg3': 'active'}) 'vlanArg2': 'state', 'vlanArg3': 'active'})
result = self.execute_module(changed=True) result = self.execute_module(changed=True)
expected_result = 'VLAN configuration is accomplished' expected_result = 'VLAN configuration is accomplished'

@ -1,6 +1,10 @@
# (c) 2018, NetApp Inc. # (c) 2018, NetApp Inc.
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
import os
import shutil
import tempfile
from ansible.modules.storage.netapp.netapp_e_ldap import Ldap from ansible.modules.storage.netapp.netapp_e_ldap import Ldap
from units.modules.utils import ModuleTestCase, set_module_args, AnsibleFailJson, AnsibleExitJson from units.modules.utils import ModuleTestCase, set_module_args, AnsibleFailJson, AnsibleExitJson
@ -15,11 +19,20 @@ class LdapTest(ModuleTestCase):
'api_url': 'http://localhost', 'api_url': 'http://localhost',
'ssid': '1', 'ssid': '1',
'state': 'absent', 'state': 'absent',
'log_path': './debug.log'
} }
REQ_FUNC = 'ansible.modules.storage.netapp.netapp_e_ldap.request' REQ_FUNC = 'ansible.modules.storage.netapp.netapp_e_ldap.request'
def setUp(self):
super(LdapTest, self).setUp()
self.temp_dir = tempfile.mkdtemp('ansible-test_netapp_e_ldap-')
self.REQUIRED_PARAMS['log_path'] = os.path.join(self.temp_dir, 'debug.log')
def tearDown(self):
super(LdapTest, self).tearDown()
shutil.rmtree(self.temp_dir)
def _make_ldap_instance(self): def _make_ldap_instance(self):
self._set_args() self._set_args()
ldap = Ldap() ldap = Ldap()

@ -23,6 +23,8 @@ import io
import inspect import inspect
from shutil import copyfile, move from shutil import copyfile, move
import difflib import difflib
import tempfile
import shutil
class AnsibleFailJson(Exception): class AnsibleFailJson(Exception):
@ -169,7 +171,10 @@ class TestInterfacesFileModule(unittest.TestCase):
} }
for testname, options_list in testcases.items(): for testname, options_list in testcases.items():
for testfile in self.getTestFiles(): for testfile in self.getTestFiles():
path = os.path.join(fixture_path, testfile) with tempfile.NamedTemporaryFile() as temp_file:
src_path = os.path.join(fixture_path, testfile)
path = temp_file.name
shutil.copy(src_path, path)
lines, ifaces = interfaces_file.read_interfaces_file(module, path) lines, ifaces = interfaces_file.read_interfaces_file(module, path)
backupp = module.backup_local(path) backupp = module.backup_local(path)
options = options_list[0] options = options_list[0]
@ -177,7 +182,8 @@ class TestInterfacesFileModule(unittest.TestCase):
fail_json_iterations = [] fail_json_iterations = []
options['state'] = state options['state'] = state
try: try:
_, lines = interfaces_file.setInterfaceOption(module, lines, options['iface'], options['option'], options['value'], options['state']) _, lines = interfaces_file.setInterfaceOption(module, lines,
options['iface'], options['option'], options['value'], options['state'])
except AnsibleFailJson as e: except AnsibleFailJson as e:
fail_json_iterations.append("fail_json message: %s\noptions:\n%s" % fail_json_iterations.append("fail_json message: %s\noptions:\n%s" %
(str(e), json.dumps(options, sort_keys=True, indent=4, separators=(',', ': ')))) (str(e), json.dumps(options, sort_keys=True, indent=4, separators=(',', ': '))))
@ -202,7 +208,10 @@ class TestInterfacesFileModule(unittest.TestCase):
} }
for testname, options_list in testcases.items(): for testname, options_list in testcases.items():
for testfile in self.getTestFiles(): for testfile in self.getTestFiles():
path = os.path.join(fixture_path, testfile) with tempfile.NamedTemporaryFile() as temp_file:
src_path = os.path.join(fixture_path, testfile)
path = temp_file.name
shutil.copy(src_path, path)
lines, ifaces = interfaces_file.read_interfaces_file(module, path) lines, ifaces = interfaces_file.read_interfaces_file(module, path)
backupp = module.backup_local(path) backupp = module.backup_local(path)
options = options_list[0] options = options_list[0]

Loading…
Cancel
Save