@Test
public void testSendWakeUpSms() throws Exception {

    // given
    final Source requestPayload = new StringSource(
            // @formatter:off
            "<ns2:SendSMSRequest "
                    + "xmlns:ns2=\"http://api.jasperwireless.com/ws/schema\" messageTextEncoding=\"\">"
                    + "<ns2:messageId>" + WKAEWUPSMS_CORRID + "</ns2:messageId>" + "<ns2:version>" + API_VERSION
                    + "</ns2:version>" + "<ns2:licenseKey>" + LICENSEKEY + "</ns2:licenseKey>" + "<ns2:sentToIccid>"
                    + ICC_ID + "</ns2:sentToIccid>" + "<ns2:messageText/>" + "</ns2:SendSMSRequest>");
    // @formatter:on
    final Source responsePayload = new StringSource(
            // @formatter:off
            "<ns2:SendSMSResponse "
                    + "ns2:requestId=\"IfBlIDGkzgTkWqa3\" xmlns:ns2=\"http://api.jasperwireless.com/ws/schema\">"
                    + "<ns2:correlationId>" + WKAEWUPSMS_CORRID + "</ns2:correlationId>" + "<ns2:version>"
                    + API_VERSION + "</ns2:version>" + "<ns2:build>jasper_release_6.29-160108-154179</ns2:build>"
                    + "<ns2:timestamp>2016-01-18T12:22:05.082Z</ns2:timestamp>" + "<ns2:smsMsgId>" + SMS_MSG_ID
                    + "</ns2:smsMsgId>" + "</ns2:SendSMSResponse>");
    // @formatter:on
    // when
    when(this.correlationIdProviderService.getCorrelationId("wakeupsms", ICC_ID)).thenReturn(WKAEWUPSMS_CORRID);
    // then
    this.mockServer.expect(payload(requestPayload)).andRespond(withPayload(responsePayload));
    final SendSMSResponse response = this.wsClientService.sendWakeUpSMS(ICC_ID);
    this.mockServer.verify();
    assertThat(String.valueOf(response.getSmsMsgId())).isEqualTo(SMS_MSG_ID);
}