def test_should_add_server(self):
        self.mock_connection.get.side_effect = [{'members': []}, SERVERS]
        self.mock_server_service.add_server.return_value = JOB_RESOURCE
        self.mock_icsp.jobs.return_value = ICSP_JOBS

        self.mock_icsp.common = mock.Mock()
        self.mock_icsp.common.monitor_execution.return_value = {}

        self.mock_ansible_instance.params = yaml.load(YAML_SERVER_PRESENT)

        hpe_icsp_server_main()

        ilo_body = {
            'ipAddress': "16.124.135.239",
            'username': "******",
            'password': "******",
            'port': 443
        }
        self.mock_server_service.add_server.assert_called_once_with(ilo_body)
        self.mock_icsp.common.monitor_execution.assert_called_once_with(
            JOB_RESOURCE, ICSP_JOBS)

        self.mock_ansible_instance.exit_json.assert_called_once_with(
            changed=True,
            msg="Server created: '/uri/239'",
            ansible_facts=dict(target_server=DEFAULT_SERVER))
    def test_expect_exception_not_caught_when_configure_network_raise_exception(self):
        self.mock_connection.get.return_value = SERVERS
        self.mock_connection.post.side_effect = Exception("message")

        self.mock_ansible_instance.params = yaml.load(YAML_NETWORK_CONFIGURED)

        try:
            hpe_icsp_server_main()
        except Exception as e:
            self.assertEqual("message", e.args[0])
        else:
            self.fail("Expected Exception was not raised")
    def test_should_add_server(self):
        self.mock_connection.get.side_effect = [{'members': []}, SERVERS]
        self.mock_server_service.add_server.return_value = JOB_RESOURCE
        self.mock_icsp.jobs.return_value = ICSP_JOBS

        self.mock_icsp.common = mock.Mock()
        self.mock_icsp.common.monitor_execution.return_value = {}

        self.mock_ansible_instance.params = yaml.load(YAML_SERVER_PRESENT)

        hpe_icsp_server_main()

        ilo_body = {'ipAddress': "16.124.135.239",
                    'username': "******",
                    'password': "******",
                    'port': 443}
        self.mock_server_service.add_server.assert_called_once_with(ilo_body)
        self.mock_icsp.common.monitor_execution.assert_called_once_with(JOB_RESOURCE, ICSP_JOBS)

        self.mock_ansible_instance.exit_json.assert_called_once_with(
            changed=True,
            msg="Server created: '/uri/239'",
            ansible_facts=dict(target_server=DEFAULT_SERVER)
        )