diff --git a/CHANGELOG.md b/CHANGELOG.md index 99777ee..418cdbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a ## [3.0.0-RC3-SNAPSHOT] ### Added +- new Sendernames API - new Contacts API - Subusers API - `pl.smsapi.exception.SmsapiErrorException` to handle API error responses @@ -41,6 +42,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a - `pl.smsapi.api.SmsFactory.actionDelete` without parameters marked as deprecated - `pl.smsapi.api.action.sms.SMSDelete` without parameters marked as deprecated - `pl.smsapi.api.action.hlr.HLRCheckNumber` without parameters marked as deprecated +- `pl.smsapi.api.action.sender.SenderAdd` marked as deprecated, use `pl.smsapi.api.action.sms.sendernames.SendernameAdd` instead +- `pl.smsapi.api.action.sender.SenderDefault` marked as deprecated, use `pl.smsapi.api.action.sms.sendernames.SendernameMakeDefault` instead +- `pl.smsapi.api.action.sender.SenderDelete` marked as deprecated, use `pl.smsapi.api.action.sms.sendernames.SendernameDelete` instead +- `pl.smsapi.api.action.sender.SenderList` marked as deprecated, use `pl.smsapi.api.action.sms.sendernames.SendernamesList` instead +- `pl.smsapi.api.SenderFactory` marked as deprecated, use `pl.smsapi.api.action.sms.sendernames.SendernamesFactory` instead ### Removed - legacy `phonebook.do` contacts API support diff --git a/src/main/java/pl/smsapi/api/SenderFactory.java b/src/main/java/pl/smsapi/api/SenderFactory.java index 920ce4a..a3a3ea9 100644 --- a/src/main/java/pl/smsapi/api/SenderFactory.java +++ b/src/main/java/pl/smsapi/api/SenderFactory.java @@ -7,6 +7,9 @@ import pl.smsapi.api.action.sender.SenderList; import pl.smsapi.proxy.Proxy; +/** + * @deprecated use {@link pl.smsapi.api.action.sms.sendernames.SendernamesFactory} instead + */ public class SenderFactory extends ActionFactory { /** diff --git a/src/main/java/pl/smsapi/api/action/sender/SenderAdd.java b/src/main/java/pl/smsapi/api/action/sender/SenderAdd.java index ed1d3f9..1bfb814 100644 --- a/src/main/java/pl/smsapi/api/action/sender/SenderAdd.java +++ b/src/main/java/pl/smsapi/api/action/sender/SenderAdd.java @@ -4,6 +4,9 @@ import pl.smsapi.api.action.AbstractAction; import pl.smsapi.api.response.CountableResponse; +/** + * @deprecated use {@link pl.smsapi.api.action.sms.sendernames.SendernameAdd} instead + */ public class SenderAdd extends AbstractAction { public SenderAdd() { diff --git a/src/main/java/pl/smsapi/api/action/sender/SenderDefault.java b/src/main/java/pl/smsapi/api/action/sender/SenderDefault.java index d351e9f..c3fb320 100644 --- a/src/main/java/pl/smsapi/api/action/sender/SenderDefault.java +++ b/src/main/java/pl/smsapi/api/action/sender/SenderDefault.java @@ -4,6 +4,9 @@ import pl.smsapi.api.action.AbstractAction; import pl.smsapi.api.response.CountableResponse; +/** + * @deprecated use {@link pl.smsapi.api.action.sms.sendernames.SendernameMakeDefault} instead + */ public class SenderDefault extends AbstractAction { public SenderDefault() { diff --git a/src/main/java/pl/smsapi/api/action/sender/SenderDelete.java b/src/main/java/pl/smsapi/api/action/sender/SenderDelete.java index f1f2570..2b8d71f 100644 --- a/src/main/java/pl/smsapi/api/action/sender/SenderDelete.java +++ b/src/main/java/pl/smsapi/api/action/sender/SenderDelete.java @@ -4,6 +4,9 @@ import pl.smsapi.api.action.AbstractAction; import pl.smsapi.api.response.CountableResponse; +/** + * @deprecated use {@link pl.smsapi.api.action.sms.sendernames.SendernameDelete} instead + */ public class SenderDelete extends AbstractAction { public SenderDelete() { diff --git a/src/main/java/pl/smsapi/api/action/sender/SenderList.java b/src/main/java/pl/smsapi/api/action/sender/SenderList.java index 12559b5..2a12433 100644 --- a/src/main/java/pl/smsapi/api/action/sender/SenderList.java +++ b/src/main/java/pl/smsapi/api/action/sender/SenderList.java @@ -3,7 +3,9 @@ import pl.smsapi.api.action.AbstractAction; import pl.smsapi.api.response.SendersResponse; - +/** + * @deprecated use {@link pl.smsapi.api.action.sms.sendernames.SendernamesList} instead + */ public class SenderList extends AbstractAction { public SenderList() { diff --git a/src/main/java/pl/smsapi/api/action/sms/sendernames/Sendername.java b/src/main/java/pl/smsapi/api/action/sms/sendernames/Sendername.java new file mode 100644 index 0000000..49719c8 --- /dev/null +++ b/src/main/java/pl/smsapi/api/action/sms/sendernames/Sendername.java @@ -0,0 +1,30 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.json.JSONObject; +import pl.smsapi.api.response.Response; + +public class Sendername implements Response { + + public final String sender; + public final String status; + public final boolean isDefault; + public final String createdAt; + + private Sendername(String sender, String status, boolean isDefault, String createdAt) { + this.sender = sender; + this.status = status; + this.isDefault = isDefault; + this.createdAt = createdAt; + } + + static class SendernameFactory { + public Sendername createFrom(JSONObject jsonObject) { + return new Sendername( + jsonObject.getString("sender"), + jsonObject.getString("status"), + jsonObject.getBoolean("is_default"), + jsonObject.getString("created_at") + ); + } + } +} diff --git a/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameAdd.java b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameAdd.java new file mode 100644 index 0000000..36ea6bc --- /dev/null +++ b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameAdd.java @@ -0,0 +1,21 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.json.JSONObject; +import pl.smsapi.api.action.AbstractAction; + +public class SendernameAdd extends AbstractAction { + + public SendernameAdd(String sender) { + params.put("sender", sender); + } + + @Override + protected String endPoint() { + return "sms/sendernames"; + } + + @Override + protected Sendername createResponse(String data) { + return new Sendername.SendernameFactory().createFrom(new JSONObject(data)); + } +} diff --git a/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameDelete.java b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameDelete.java new file mode 100644 index 0000000..54f1963 --- /dev/null +++ b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameDelete.java @@ -0,0 +1,28 @@ +package pl.smsapi.api.action.sms.sendernames; + +import pl.smsapi.api.action.AbstractAction; +import pl.smsapi.api.response.RawResponse; + +public class SendernameDelete extends AbstractAction { + + private final String sender; + + public SendernameDelete(String sender) { + this.sender = sender; + } + + @Override + protected String endPoint() { + return "sms/sendernames/" + sender; + } + + @Override + protected String httpMethod() { + return "DELETE"; + } + + @Override + protected RawResponse createResponse(String data) { + return new RawResponse(data); + } +} diff --git a/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameMakeDefault.java b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameMakeDefault.java new file mode 100644 index 0000000..550d139 --- /dev/null +++ b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernameMakeDefault.java @@ -0,0 +1,23 @@ +package pl.smsapi.api.action.sms.sendernames; + +import pl.smsapi.api.action.AbstractAction; +import pl.smsapi.api.response.RawResponse; + +public class SendernameMakeDefault extends AbstractAction { + + private final String sender; + + public SendernameMakeDefault(String sender) { + this.sender = sender; + } + + @Override + protected String endPoint() { + return "sms/sendernames/" + sender + "/commands/make_default"; + } + + @Override + protected RawResponse createResponse(String data) { + return new RawResponse(data); + } +} diff --git a/src/main/java/pl/smsapi/api/action/sms/sendernames/Sendernames.java b/src/main/java/pl/smsapi/api/action/sms/sendernames/Sendernames.java new file mode 100644 index 0000000..2aa4433 --- /dev/null +++ b/src/main/java/pl/smsapi/api/action/sms/sendernames/Sendernames.java @@ -0,0 +1,25 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.json.JSONArray; +import org.json.JSONObject; +import pl.smsapi.api.response.ListResponse; + +public class Sendernames extends ListResponse { + private Sendernames(int count, JSONArray jsonArray) { + super(count, jsonArray); + } + + @Override + protected Sendername buildItem(JSONObject jsonObject) { + return new Sendername.SendernameFactory().createFrom(jsonObject); + } + + static class SendernamesFromJsonFactory { + public Sendernames createFrom(JSONObject jsonObject) { + return new Sendernames( + jsonObject.getInt("size"), + jsonObject.getJSONArray("collection") + ); + } + } +} diff --git a/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernamesFactory.java b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernamesFactory.java new file mode 100644 index 0000000..051e16b --- /dev/null +++ b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernamesFactory.java @@ -0,0 +1,40 @@ +package pl.smsapi.api.action.sms.sendernames; + +import pl.smsapi.Client; +import pl.smsapi.api.ActionFactory; +import pl.smsapi.proxy.Proxy; + +public class SendernamesFactory extends ActionFactory { + + public SendernamesFactory(Client client, Proxy proxy) { + super(client, proxy); + } + + public SendernameAdd actionAdd(String sender) { + SendernameAdd action = new SendernameAdd(sender); + action.client(client); + action.proxy(proxy); + return action; + } + + public SendernameDelete actionDelete(String sender) { + SendernameDelete action = new SendernameDelete(sender); + action.client(client); + action.proxy(proxy); + return action; + } + + public SendernameMakeDefault actionMakeDefault(String sender) { + SendernameMakeDefault action = new SendernameMakeDefault(sender); + action.client(client); + action.proxy(proxy); + return action; + } + + public SendernamesList actionList() { + SendernamesList action = new SendernamesList(); + action.client(client); + action.proxy(proxy); + return action; + } +} diff --git a/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernamesList.java b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernamesList.java new file mode 100644 index 0000000..b332e17 --- /dev/null +++ b/src/main/java/pl/smsapi/api/action/sms/sendernames/SendernamesList.java @@ -0,0 +1,21 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.json.JSONObject; +import pl.smsapi.api.action.AbstractAction; + +public class SendernamesList extends AbstractAction { + @Override + protected String endPoint() { + return "sms/sendernames"; + } + + @Override + protected String httpMethod() { + return "GET"; + } + + @Override + protected Sendernames createResponse(String data) { + return new Sendernames.SendernamesFromJsonFactory().createFrom(new JSONObject(data)); + } +} diff --git a/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameAddTest.java b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameAddTest.java new file mode 100644 index 0000000..3346b2b --- /dev/null +++ b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameAddTest.java @@ -0,0 +1,34 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.junit.Test; +import pl.smsapi.exception.SmsapiException; +import pl.smsapi.test.doubles.ClientStub; +import pl.smsapi.test.doubles.ProxyRequestSpy; + +import java.util.HashMap; + +import static org.junit.Assert.assertEquals; + +public class SendernameAddTest { + + @Test + public void executeAddSendernameRequest() throws SmsapiException { + SendernameAdd action = new SendernameAdd("java-client"); + + ProxyRequestSpy requestSpy = executeAction(action); + + assertEquals("POST", requestSpy.requestMethod); + assertEquals("sms/sendernames", requestSpy.requestEndpoint); + HashMap expectedRequestPayload = new HashMap<>(); + expectedRequestPayload.put("sender", "java-client"); + assertEquals(expectedRequestPayload, requestSpy.requestPayload); + } + + private ProxyRequestSpy executeAction(SendernameAdd action) throws SmsapiException { + ProxyRequestSpy requestStub = new ProxyRequestSpy(SendernameJsonMother.create()); + action.client(new ClientStub()); + action.proxy(requestStub); + action.execute(); + return requestStub; + } +} diff --git a/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameDeleteTest.java b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameDeleteTest.java new file mode 100644 index 0000000..f4591c7 --- /dev/null +++ b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameDeleteTest.java @@ -0,0 +1,33 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.junit.Test; +import pl.smsapi.exception.SmsapiException; +import pl.smsapi.test.doubles.ClientStub; +import pl.smsapi.test.doubles.ProxyRequestSpy; + +import java.util.HashMap; + +import static org.junit.Assert.assertEquals; + +public class SendernameDeleteTest { + + @Test + public void executeDeleteSendernameRequest() throws SmsapiException { + SendernameDelete action = new SendernameDelete("java-client"); + + ProxyRequestSpy requestSpy = executeAction(action); + + assertEquals("DELETE", requestSpy.requestMethod); + assertEquals("sms/sendernames/java-client", requestSpy.requestEndpoint); + HashMap expectedRequestPayload = new HashMap<>(); + assertEquals(expectedRequestPayload, requestSpy.requestPayload); + } + + private ProxyRequestSpy executeAction(SendernameDelete action) throws SmsapiException { + ProxyRequestSpy requestStub = new ProxyRequestSpy(""); + action.client(new ClientStub()); + action.proxy(requestStub); + action.execute(); + return requestStub; + } +} diff --git a/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameJsonMother.java b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameJsonMother.java new file mode 100644 index 0000000..3e1428c --- /dev/null +++ b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameJsonMother.java @@ -0,0 +1,14 @@ +package pl.smsapi.api.action.sms.sendernames; + +public class SendernameJsonMother { + + public static String create() { + return + "{" + + " \"created_at\": \"2024-08-02T07:16:35.877Z\"," + + " \"is_default\": true," + + " \"sender\": \"dVpWyv 2K\"," + + " \"status\": \"active\"" + + "}"; + } +} diff --git a/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameMakeDefaultTest.java b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameMakeDefaultTest.java new file mode 100644 index 0000000..44cfe1e --- /dev/null +++ b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernameMakeDefaultTest.java @@ -0,0 +1,33 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.junit.Test; +import pl.smsapi.exception.SmsapiException; +import pl.smsapi.test.doubles.ClientStub; +import pl.smsapi.test.doubles.ProxyRequestSpy; + +import java.util.HashMap; + +import static org.junit.Assert.assertEquals; + +public class SendernameMakeDefaultTest { + + @Test + public void executeMakeDefaultSendernameRequest() throws SmsapiException { + SendernameMakeDefault action = new SendernameMakeDefault("java-client"); + + ProxyRequestSpy requestSpy = executeAction(action); + + assertEquals("POST", requestSpy.requestMethod); + assertEquals("sms/sendernames/java-client/commands/make_default", requestSpy.requestEndpoint); + HashMap expectedRequestPayload = new HashMap<>(); + assertEquals(expectedRequestPayload, requestSpy.requestPayload); + } + + private ProxyRequestSpy executeAction(SendernameMakeDefault action) throws SmsapiException { + ProxyRequestSpy requestStub = new ProxyRequestSpy(""); + action.client(new ClientStub()); + action.proxy(requestStub); + action.execute(); + return requestStub; + } +} diff --git a/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesFactoryTest.java b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesFactoryTest.java new file mode 100644 index 0000000..eb651a4 --- /dev/null +++ b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesFactoryTest.java @@ -0,0 +1,110 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.junit.Before; +import org.junit.Test; +import pl.smsapi.api.response.RawResponse; +import pl.smsapi.exception.SmsapiErrorException; +import pl.smsapi.exception.SmsapiException; +import pl.smsapi.test.TestSmsapi; + +import java.util.Random; + +import static org.junit.Assert.*; +import static org.junit.Assert.assertTrue; + +public class SendernamesFactoryTest extends TestSmsapi { + + SendernamesFactory apiFactory; + + @Before + public void setUp() { + super.setUp(); + apiFactory = new SendernamesFactory(client, proxy); + } + + @Test + public void addSendername() throws SmsapiException { + String sender = SenderMother.createRandomValid(); + + SendernameAdd actionAdd = apiFactory.actionAdd(sender); + Sendername responseAdd = actionAdd.execute(); + + assertNotNull(responseAdd); + assertEquals(sender, responseAdd.sender); + assertNotNull(responseAdd.status); + assertFalse(responseAdd.isDefault); + assertNotNull(responseAdd.createdAt); + } + + @Test + public void addSendernameWithError() throws SmsapiException { + String sender = SenderMother.createInvalid(); + SendernameAdd actionAdd = apiFactory.actionAdd(sender); + boolean errorCatch = false; + + try { + actionAdd.execute(); + } catch (SmsapiErrorException badRequest) { + assertEquals("Sendername is not valid", badRequest.getMessage()); + assertEquals("invalid_sender", badRequest.getError()); + errorCatch = true; + } + + assertTrue(errorCatch); + } + + @Test + public void deleteSendername() throws SmsapiException { + SendernameAdd actionAdd = apiFactory.actionAdd(SenderMother.createRandomValid()); + Sendername responseAdd = actionAdd.execute(); + + SendernameDelete actionDelete = apiFactory.actionDelete(responseAdd.sender); + RawResponse responseDelete = actionDelete.execute(); + + assertNotNull(responseDelete); + } + + @Test + public void makeDefaultSendername() throws SmsapiException { + SendernameAdd actionAdd = apiFactory.actionAdd(SenderMother.createRandomValid()); + Sendername responseAdd = actionAdd.execute(); + + SendernameMakeDefault actionMakeDefault = apiFactory.actionMakeDefault(responseAdd.sender); + boolean errorCatch = false; + + try { + actionMakeDefault.execute(); + } catch (SmsapiErrorException badRequest) { + assertEquals("Cannot set to default not active sendername", badRequest.getMessage()); + assertEquals("sender_not_active", badRequest.getError()); + errorCatch = true; + } + + assertTrue(errorCatch); + } + + @Test + public void listSendernames() throws SmsapiException { + String sender = SenderMother.createRandomValid(); + SendernameAdd actionAdd = apiFactory.actionAdd(sender); + actionAdd.execute(); + + SendernamesList actionList = apiFactory.actionList(); + Sendernames responseList = actionList.execute(); + + assertNotNull(responseList); + assertTrue(responseList.count >= 1); + assertTrue(responseList.list.stream().anyMatch(sendernameResponse -> sendernameResponse.sender.equals(sender))); + } + + private static class SenderMother { + + static String createRandomValid() { + return "test-" + new Random().nextInt(100000); + } + + static String createInvalid() { + return "test-too-long-sender"; + } + } +} diff --git a/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesJsonMother.java b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesJsonMother.java new file mode 100644 index 0000000..04d702b --- /dev/null +++ b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesJsonMother.java @@ -0,0 +1,14 @@ +package pl.smsapi.api.action.sms.sendernames; + +public class SendernamesJsonMother { + + public static String create() { + return + "{" + + " \"size\": 1," + + " \"collection\": [" + + SendernameJsonMother.create() + + " ]" + + "}"; + } +} diff --git a/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesListTest.java b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesListTest.java new file mode 100644 index 0000000..7efa803 --- /dev/null +++ b/src/test/java/pl/smsapi/api/action/sms/sendernames/SendernamesListTest.java @@ -0,0 +1,33 @@ +package pl.smsapi.api.action.sms.sendernames; + +import org.junit.Test; +import pl.smsapi.exception.SmsapiException; +import pl.smsapi.test.doubles.ClientStub; +import pl.smsapi.test.doubles.ProxyRequestSpy; + +import java.util.HashMap; + +import static org.junit.Assert.assertEquals; + +public class SendernamesListTest { + + @Test + public void executeListSendernamesRequest() throws SmsapiException { + SendernamesList action = new SendernamesList(); + + ProxyRequestSpy requestSpy = executeAction(action); + + assertEquals("GET", requestSpy.requestMethod); + assertEquals("sms/sendernames", requestSpy.requestEndpoint); + HashMap expectedRequestPayload = new HashMap<>(); + assertEquals(expectedRequestPayload, requestSpy.requestPayload); + } + + private ProxyRequestSpy executeAction(SendernamesList action) throws SmsapiException { + ProxyRequestSpy requestStub = new ProxyRequestSpy(SendernamesJsonMother.create()); + action.client(new ClientStub()); + action.proxy(requestStub); + action.execute(); + return requestStub; + } +} diff --git a/src/test/java/pl/smsapi/test/run/SenderTest.java b/src/test/java/pl/smsapi/test/run/SenderTest.java deleted file mode 100644 index 8c5a498..0000000 --- a/src/test/java/pl/smsapi/test/run/SenderTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package pl.smsapi.test.run; - -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import pl.smsapi.api.SenderFactory; -import pl.smsapi.api.response.CountableResponse; -import pl.smsapi.api.response.SenderResponse; -import pl.smsapi.api.response.SendersResponse; -import pl.smsapi.exception.SmsapiException; -import pl.smsapi.test.TestSmsapi; - -@Ignore -public class SenderTest extends TestSmsapi { - private String senderTest = "test"; - - SenderFactory apiFactory; - - @Before - public void setUp() { - super.setUp(); - apiFactory = new SenderFactory(client, proxy); - } - - private void renderSenderItem(SenderResponse item) { - if (item != null) { - System.out.println("Sendername: " + item.getName() - + " Status: " + item.getStatus() - + " Default:" + item.isDefault()); - } else { - System.out.println("Item is null"); - } - } - - @Test - public void senderAdd() throws SmsapiException { - CountableResponse item = apiFactory.actionAdd(senderTest).execute(); - - System.out.println("SenderAdd:" + item.getCount()); - } - - @Test - public void senderDefault() throws SmsapiException { - CountableResponse item = apiFactory.actionSetDefault("ECO").execute(); - - System.out.println("SenderAdd:" + item.getCount()); - } - - @Test - public void senderList() throws SmsapiException { - SendersResponse result = apiFactory.actionList().execute(); - - System.out.println("SenderList:"); - - for (SenderResponse item : result.getList()) { - renderSenderItem(item); - } - } - - @Test - public void senderDelete() throws SmsapiException { - CountableResponse item = apiFactory.actionDelete(senderTest).execute(); - - System.out.println("SenderDelete:"); - - if (item != null) { - System.out.println("Sender: " + item.getCount()); - } else { - System.out.println("Item is null"); - } - } -}