############################################################################## # Copyright (c) 2016 Dan Radez (Red Hat) # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## from apex.network_settings import ( NetworkSettings, NetworkSettingsException, ) from nose.tools import ( assert_equal, assert_is_instance, assert_raises ) class TestNetworkSettings(object): @classmethod def setup_class(klass): """This method is run once for each class before any tests are run""" @classmethod def teardown_class(klass): """This method is run once for each class _after_ all tests are run""" def setUp(self): """This method is run once before _each_ test method is executed""" def teardown(self): """This method is run once after _each_ test method is executed""" def test_init(self): NetworkSettings('../config/network/network_settings.yaml', True) def test_dump_bash(self): ns = NetworkSettings('../config/network/network_settings.yaml', True) assert_equal(ns.dump_bash(), None) assert_equal(ns.dump_bash(path='/dev/null'), None) def test_get_network_settings(self): ns = NetworkSettings('../config/network/network_settings.yaml', True) assert_is_instance(ns, dict) for role in ['controller', 'compute']: nic_index = 1 for network in ['admin_network', 'private_network', 'public_network', 'storage_network']: nic = 'nic' + str(nic_index) assert_equal(ns.nics[role][network], nic) nic_index += 1 def test_get_network_settings_unspecified_nics(self): ns = NetworkSettings( '../tests/config/network_settings_nics_not_specified.yaml', True) assert_is_instance(ns, dict) for role in ['controller', 'compute']: nic_index = 1 for network in ['admin_network', 'private_network', 'public_network', 'storage_network']: nic = 'nic' + str(nic_index) assert_equal(ns.nics[role][network], nic) nic_index += 1 def test_get_enabled_networks(self): ns = NetworkSettings('../config/network/network_settings.yaml', True) assert_is_instance(ns.get_enabled_networks(), list) def test_negative_network_settings(self): assert_raises(NetworkSettingsException, NetworkSettings, '../tests/config/network_settings_duplicate_nic.yaml', True) assert_raises(NetworkSettingsException, NetworkSettings, '../tests/config/network_settings_nic1_reserved.yaml', True) assert_raises(NetworkSettingsException, NetworkSettings, '../tests/config/network_settings_missing_required_nic' '.yaml', True)