value=['test'])

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=True,
            ansible_facts=dict(network_set=patch_return),
            msg=NetworkSetModule.MSG_UPDATED
        )

    def test_should_do_nothing_when_scopes_are_the_same(self):
        params_to_scope = PARAMS_FOR_PRESENT.copy()
        params_to_scope['data']['scopeUris'] = ['test']
        self.mock_ansible_module.params = params_to_scope

        resource_data = NETWORK_SET.copy()
        resource_data['scopeUris'] = ['test']
        self.resource.get_by.return_value = [resource_data]

        NetworkSetModule().run()

        self.resource.patch.not_been_called()

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=False,
            ansible_facts=dict(network_set=resource_data),
            msg=NetworkSetModule.MSG_ALREADY_PRESENT
        )


if __name__ == '__main__':
    unittest.main()
        self.mock_ansible_module.params = PARAMS_GET_BY_NAME

        RackFactsModule().run()

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=False, ansible_facts=dict(racks=({
                "name": "Rack Name"
            })))

    def test_should_get_rack_device_topology(self):
        rack = [{"name": "Rack Name", "uri": "/rest/uri/123"}]
        self.resource.get_by.return_value = rack
        self.resource.get_device_topology.return_value = {"name": "Rack Name"}

        self.mock_ansible_module.params = PARAMS_GET_TOPOLOGY

        RackFactsModule().run()

        self.mock_ansible_module.exit_json.assert_called_once_with(
            changed=False,
            ansible_facts={
                'rack_device_topology': {
                    'name': 'Rack Name'
                },
                'racks': rack
            })


if __name__ == '__main__':
    unittest.main()
Beispiel #3
0
class ICspHelperSpec(unittest.TestCase):
    """
    ICspHelperSpec provides the mocks used in this test case.
    """
    def setUp(self):
        self.mock_connection = mock.Mock()
        self.mock_connection.login.return_value = {}

    def get_as_rest_collection(self, server):
        return {'members': server, 'count': len(server)}

    def test_get_build_plan_with_matching_result(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([DEFAULT_BUILD_PLAN])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        plan = icsphelper.get_build_plan('RHEL 7.2 x64')

        expected = {
            'name': 'RHEL 7.2 x64',
            'uri': '/rest/os-deployment-build-plans/222'
        }
        self.mock_connection.get.assert_called_once_with(
            '/rest/index/resources?filter="name=\'RHEL%207.2%20x64\'"&category=osdbuildplan'
        )

        self.assertEqual(plan, expected)

    def test_get_build_plan_with_non_matching_result(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([DEFAULT_BUILD_PLAN])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        plan = icsphelper.get_build_plan('BuildPlan')

        self.mock_connection.get.assert_called_once_with(
            '/rest/index/resources?filter="name=\'BuildPlan\'"&category=osdbuildplan'
        )

        self.assertIsNone(plan)

    def test_should_fail_when_os_build_plan_not_found(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        plan = icsphelper.get_build_plan('RHEL 7.2 x64')

        self.mock_connection.get.assert_called_once_with(
            '/rest/index/resources?filter="name=\'RHEL%207.2%20x64\'"&category=osdbuildplan'
        )

        self.assertIsNone(plan)

    def test_get_server_by_ilo_address_with_matching_result(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([DEFAULT_SERVER])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        server = icsphelper.get_server_by_ilo_address('16.124.135.239')

        self.mock_connection.get.assert_called_once_with(
            '/rest/os-deployment-servers/?count=-1')

        self.assertEqual(server, DEFAULT_SERVER)

    def test_get_server_by_ilo_address_with_non_matching_result(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([DEFAULT_SERVER])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        server = icsphelper.get_server_by_ilo_address('16.124.135.255')

        self.mock_connection.get.assert_called_once_with(
            '/rest/os-deployment-servers/?count=-1')

        self.assertIsNone(server)

    def test_get_server_by_ilo_address_with_servers_with_no_ilo(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([DEFAULT_SERVER_NO_ILO])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        server = icsphelper.get_server_by_ilo_address('16.124.135.239')

        self.mock_connection.get.assert_called_once_with(
            '/rest/os-deployment-servers/?count=-1')

        self.assertIsNone(server)

    def test_get_server_by_ilo_address_with_no_registered_servers(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        server = icsphelper.get_server_by_ilo_address('16.124.135.239')

        self.mock_connection.get.assert_called_once_with(
            '/rest/os-deployment-servers/?count=-1')

        self.assertIsNone(server)

    def test_get_server_by_serial_with_matching_result(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([DEFAULT_SERVER])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        server = icsphelper.get_server_by_serial('VCGYZ33007')

        expected = {'uri': '/rest/os-deployment-servers/123456'}
        self.mock_connection.get.assert_called_once_with(
            '/rest/index/resources?category=osdserver&query=\'osdServerSerialNumber:"VCGYZ33007"\''
        )

        self.assertEqual(server, expected)

    def test_get_server_by_serial_with_non_matching_result(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([DEFAULT_SERVER])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        server = icsphelper.get_server_by_serial('000')

        self.mock_connection.get.assert_called_once_with(
            '/rest/index/resources?category=osdserver&query=\'osdServerSerialNumber:"000"\''
        )

        self.assertIsNone(server)

    def test_get_server_by_serial_with_no_registered_servers(self):
        self.mock_connection.get.side_effect = [
            self.get_as_rest_collection([])
        ]

        icsphelper = ICspHelper(self.mock_connection)
        server = icsphelper.get_server_by_serial('000')

        self.mock_connection.get.assert_called_once_with(
            '/rest/index/resources?category=osdserver&query=\'osdServerSerialNumber:"000"\''
        )

        self.assertIsNone(server)

    if __name__ == '__main__':
        unittest.main()