mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 13:22:48 +00:00
NetworkSetFactsModule for HPE OneView (#28730)
* Add NetworkSetFactsModule for retrieving HPE OneView Network Sets - Allow querying for Network Set resources in HPE OneView - Adds unit tests to new module - Updates oneview_module_loader copyright header to short GPL3 version * Adding possibility to pass in credentials as parameters * Removed required false and changed format of filter_by_name declaration * Updated examples in docs to reflect new way to pass in credentials - All examples of the oneview_network_set_facts updated to use credential parameters - All required=False from oneview base module removed - Shared docs updated to bring attention to API version being used
This commit is contained in:
committed by
Dag Wieers
parent
b3dbd1bca8
commit
a4ae8536d9
@@ -1,19 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (2016-2017) Hewlett Packard Enterprise Development LP
|
||||
#
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
# Copyright (c) 2016-2017 Hewlett Packard Enterprise Development LP
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
import sys
|
||||
from ansible.compat.tests.mock import patch, Mock
|
||||
@@ -34,3 +20,4 @@ from ansible.modules.remote_management.oneview.oneview_fc_network import FcNetwo
|
||||
from ansible.modules.remote_management.oneview.oneview_fc_network_facts import FcNetworkFactsModule
|
||||
from ansible.modules.remote_management.oneview.oneview_fcoe_network import FcoeNetworkModule
|
||||
from ansible.modules.remote_management.oneview.oneview_network_set import NetworkSetModule
|
||||
from ansible.modules.remote_management.oneview.oneview_network_set_facts import NetworkSetFactsModule
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
# Copyright (c) 2016-2017 Hewlett Packard Enterprise Development LP
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from ansible.compat.tests import unittest
|
||||
from oneview_module_loader import NetworkSetFactsModule
|
||||
from hpe_test_utils import FactsParamsTestCase
|
||||
|
||||
ERROR_MSG = 'Fake message error'
|
||||
|
||||
PARAMS_GET_ALL = dict(
|
||||
config='config.json',
|
||||
name=None
|
||||
)
|
||||
|
||||
PARAMS_GET_ALL_WITHOUT_ETHERNET = dict(
|
||||
config='config.json',
|
||||
name=None,
|
||||
options=['withoutEthernet']
|
||||
)
|
||||
|
||||
PARAMS_GET_BY_NAME = dict(
|
||||
config='config.json',
|
||||
name='Network Set 1'
|
||||
)
|
||||
|
||||
PARAMS_GET_BY_NAME_WITHOUT_ETHERNET = dict(
|
||||
config='config.json',
|
||||
name='Network Set 1',
|
||||
options=['withoutEthernet']
|
||||
)
|
||||
|
||||
|
||||
class NetworkSetFactsSpec(unittest.TestCase,
|
||||
FactsParamsTestCase):
|
||||
def setUp(self):
|
||||
self.configure_mocks(self, NetworkSetFactsModule)
|
||||
self.network_sets = self.mock_ov_client.network_sets
|
||||
FactsParamsTestCase.configure_client_mock(self, self.network_sets)
|
||||
|
||||
def test_should_get_all_network_sets(self):
|
||||
network_sets = [{
|
||||
"name": "Network Set 1",
|
||||
"networkUris": ['/rest/ethernet-networks/aaa-bbb-ccc']
|
||||
}, {
|
||||
"name": "Network Set 2",
|
||||
"networkUris": ['/rest/ethernet-networks/ddd-eee-fff', '/rest/ethernet-networks/ggg-hhh-fff']
|
||||
}]
|
||||
|
||||
self.network_sets.get_all.return_value = network_sets
|
||||
self.mock_ansible_module.params = PARAMS_GET_ALL
|
||||
|
||||
NetworkSetFactsModule().run()
|
||||
|
||||
self.network_sets.get_all.assert_called_once_with()
|
||||
|
||||
self.mock_ansible_module.exit_json.assert_called_once_with(
|
||||
changed=False,
|
||||
ansible_facts=dict(network_sets=network_sets))
|
||||
|
||||
def test_should_get_all_network_sets_without_ethernet(self):
|
||||
network_sets = [{
|
||||
"name": "Network Set 1",
|
||||
"networkUris": []
|
||||
}, {
|
||||
"name": "Network Set 2",
|
||||
"networkUris": []
|
||||
}]
|
||||
|
||||
self.network_sets.get_all.return_value = network_sets
|
||||
self.mock_ansible_module.params = PARAMS_GET_ALL
|
||||
|
||||
NetworkSetFactsModule().run()
|
||||
|
||||
self.network_sets.get_all.assert_called_once_with()
|
||||
|
||||
self.mock_ansible_module.exit_json.assert_called_once_with(
|
||||
changed=False,
|
||||
ansible_facts=dict(network_sets=network_sets))
|
||||
|
||||
def test_should_get_network_set_by_name(self):
|
||||
network_sets = [{
|
||||
"name": "Network Set 1",
|
||||
"networkUris": ['/rest/ethernet-networks/aaa-bbb-ccc']
|
||||
}]
|
||||
|
||||
self.network_sets.get_by.return_value = network_sets
|
||||
self.mock_ansible_module.params = PARAMS_GET_BY_NAME
|
||||
|
||||
NetworkSetFactsModule().run()
|
||||
|
||||
self.network_sets.get_by.assert_called_once_with('name', 'Network Set 1')
|
||||
|
||||
self.mock_ansible_module.exit_json.assert_called_once_with(
|
||||
changed=False,
|
||||
ansible_facts=dict(network_sets=network_sets))
|
||||
|
||||
def test_should_get_network_set_by_name_without_ethernet(self):
|
||||
network_sets = [{
|
||||
"name": "Network Set 1",
|
||||
"networkUris": []
|
||||
}]
|
||||
|
||||
self.network_sets.get_all_without_ethernet.return_value = network_sets
|
||||
self.mock_ansible_module.params = PARAMS_GET_BY_NAME_WITHOUT_ETHERNET
|
||||
|
||||
NetworkSetFactsModule().run()
|
||||
|
||||
expected_filter = "\"'name'='Network Set 1'\""
|
||||
self.network_sets.get_all_without_ethernet.assert_called_once_with(filter=expected_filter)
|
||||
|
||||
self.mock_ansible_module.exit_json.assert_called_once_with(
|
||||
changed=False,
|
||||
ansible_facts=dict(network_sets=network_sets))
|
||||
Reference in New Issue
Block a user