小编Div*_*hor的帖子

使用云形成终止EMR群集

我有一个jenkins工作,它使用云形成模板来创建EMR.EMR执行多个蜂巢/猪步骤.我希望在步骤完成后终止该EMR,我可以在云形成模板中执行此操作吗?

我知道我们可以使用CLI,Console和SDK来做到这一点,但CLOUD FORMATION中是否有一个提供的参数如KeepJobAliveWhenNoSteps = FALSE?

hadoop amazon-web-services amazon-emr jenkins aws-sdk

7
推荐指数
0
解决办法
415
查看次数

模拟新的 HttpClientErrorException.NotFound

我有一个返回的第三方服务HttpClientErrorException.NotFound。当它返回此异常时,我从应用程序中抛出异常,表示输入无效,但对于所有其他异常(例如服务不可用等),我需要使用默认值并进一步继续。

我的代码块如下:

public String callService(String input)
    {
        String value = "";
        try
        {
            value = service.callMethod(input);
        }
        catch(HttpClientErrorException.NotFound e1)
        {
            throw new ApplicationException("Invalid Input")
        }
        catch(Exception e)
        {
            value = "US";
        }
        return value;
    }
Run Code Online (Sandbox Code Playgroud)

当我为此编写 JUnit 时,如何模拟 service.callMethod(input) 的调用并返回HttpClientErrorException.NotFound

我尝试模拟并发送如下状态代码,但它不起作用。

Junit测试用例方法如下:

@Test(expected = ApplicationException.class)
public void callServiceInvalidInput() throws ApplicationException 
{
    String inputValue = "JLR";
    when(externalService.callMethod(inputValue))        
    .thenThrow(new HttpClientErrorException(HttpStatus.NOT_FOUND));
    
    String result = handler.callService(inputValue);
}
Run Code Online (Sandbox Code Playgroud)

当我模拟服务调用时,执行的 catch 子句是 Exception e 而不是前一个。原因是对象e在模拟时是instanceof HttpClientErrorException;但是当实际的服务调用发生时,它是 HttpClientErrorException$NotFound 的实例

java rest junit mockito http-status-code-404

2
推荐指数
1
解决办法
5906
查看次数