def test_get_template_error(self, http_connection):
        mock_pm = MagicMock(powermanager)
        mock_pm._get_inf_id.return_value = 'TEST_ID'
        mock_pm._get_auth_header.return_value = None

        mock_response = MagicMock(httplib.HTTPResponse)
        mock_response.status = 404
        mock_response.read.return_value = 'test'
        http_connection.getresponse.return_value = mock_response
        mock_pm._get_http_connection.return_value = http_connection

        mock_pm._find_wn_nodetemplate_name.return_value = 'torque_wn'
        powermanager._get_template(mock_pm, 0, [], [])

        self.assertIn(
            'ERROR getting deployment template: test', self.log.getvalue())
    def test_get_template_no_node_changes(self, http_connection):
        mock_pm = MagicMock(powermanager)
        mock_pm._get_inf_id.return_value = 'TEST_ID'
        mock_pm._get_auth_header.return_value = None

        mock_response = MagicMock(httplib.HTTPResponse)
        mock_response.status = 200
        mock_response.read.return_value = read_file_as_string(
            'test-files/tosca_template.yaml')
        http_connection.getresponse.return_value = mock_response
        mock_pm._get_http_connection.return_value = http_connection

        mock_pm._find_wn_nodetemplate_name.return_value = 'torque_wn'
        self.assertEquals(powermanager._get_template(mock_pm, 0, [], []),
                          read_file_as_string('test-files/template_result_no_node_changes'))
        self.assertEquals(http_connection.request.call_args_list,
                          [call('GET', '/orchestrator/deployments/TEST_ID/template',
                                headers={'Connection': 'close', 'Accept': 'text/plain'})])