    @Test
    public void checkingOutTheHappyPath() {

        String seyrenUrl = clientDriver.getBaseUrl() + "/seyren";
        
        when(mockSeyrenConfig.getTwilioUrl()).thenReturn(clientDriver.getBaseUrl() + "/twilio");
        when(mockSeyrenConfig.getTwilioAccountSid()).thenReturn(ACCOUNT_SID);
        when(mockSeyrenConfig.getTwilioAuthToken()).thenReturn("5678");
        when(mockSeyrenConfig.getTwilioPhoneNumber()).thenReturn("+11234567890");
        when(mockSeyrenConfig.getBaseUrl()).thenReturn(seyrenUrl);
        
        Check check = new Check()
                .withEnabled(true)
                .withName("check-name")
                .withState(AlertType.ERROR);
        
        Subscription subscription = new Subscription()
                .withType(SubscriptionType.TWILIO)
                .withTarget("+10987654321");
        
        Alert alert = new Alert()
                .withTarget("the.target.name")
                .withValue(BigDecimal.valueOf(12))
                .withWarn(BigDecimal.valueOf(5))
                .withError(BigDecimal.valueOf(10))
                .withFromType(AlertType.WARN)
                .withToType(AlertType.ERROR);
        
        List<Alert> alerts = Arrays.asList(alert);
        
        BodyCapture<String> bodyCapture = new StringBodyCapture();
        
        clientDriver.addExpectation(
                onRequestTo("/twilio/"+ACCOUNT_SID+"/Messages")
                        .withMethod(Method.POST)
                        .capturingBodyIn(bodyCapture),
                giveResponse("Thanks for letting me know", "text/plain"));
        
        
        // This will fail with an NotificationFailedException if anything goes wrong.
        service.sendNotification(check, subscription, alerts);
    
        String body=bodyCapture.getContent();
        
        assertThat(body, containsString("To=%2B10987654321"));
        assertThat(body, containsString("From=%2B11234567890"));
        assertThat(body, containsString("Body=ERROR+Check+check-name+has+exceeded+its+threshold"));
        
        verify(mockSeyrenConfig).getTwilioUrl();
    }