From 9ebb3b949f32d3dfb7b430365a3706e794d6924a Mon Sep 17 00:00:00 2001 From: Maciej Lew Date: Mon, 18 Mar 2024 11:22:14 +0100 Subject: [PATCH 1/5] Removes deprecated `pl.smsapi.proxy.Proxy#execute` method --- CHANGELOG.md | 4 ++++ src/main/java/pl/smsapi/proxy/Proxy.java | 3 +-- src/main/java/pl/smsapi/proxy/ProxyNative.java | 15 --------------- .../java/pl/smsapi/test/doubles/ProxyMock.java | 5 ----- 4 files changed, 5 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6116514..e741a05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [3.0.0-SNAPSHOT] +### Removed +- deprecated `pl.smsapi.proxy.Proxy#execute` method + ## [3.0.0-RC2] - 2024-03-04 ### Changed - build process diff --git a/src/main/java/pl/smsapi/proxy/Proxy.java b/src/main/java/pl/smsapi/proxy/Proxy.java index daaa390..7534143 100644 --- a/src/main/java/pl/smsapi/proxy/Proxy.java +++ b/src/main/java/pl/smsapi/proxy/Proxy.java @@ -7,6 +7,5 @@ public interface Proxy { - public String execute(String endpoint, Map data, Map files) throws Exception; - public String execute(String endpoint, Map data, Map files, String httpMethod, AuthenticationStrategy authenticationStrategy) throws Exception; + String execute(String endpoint, Map data, Map files, String httpMethod, AuthenticationStrategy authenticationStrategy) throws Exception; } diff --git a/src/main/java/pl/smsapi/proxy/ProxyNative.java b/src/main/java/pl/smsapi/proxy/ProxyNative.java index 61fe7e0..e800377 100644 --- a/src/main/java/pl/smsapi/proxy/ProxyNative.java +++ b/src/main/java/pl/smsapi/proxy/ProxyNative.java @@ -20,21 +20,6 @@ public ProxyNative(String url) { this.baseUrl = url; } - /** - * @deprecated - */ - public String execute(String endpoint, Map data, Map files) throws Exception { - String username = data.get("username"); - data.remove("username"); - - String password = data.get("password"); - data.remove("password"); - - AuthenticationStrategy authenticationStrategy = new BasicAuthenticationStrategy(username, password); - - return execute(endpoint, data, files, "POST", authenticationStrategy); - } - /** * Execute *

diff --git a/src/test/java/pl/smsapi/test/doubles/ProxyMock.java b/src/test/java/pl/smsapi/test/doubles/ProxyMock.java index 57f4ac3..2f23c50 100644 --- a/src/test/java/pl/smsapi/test/doubles/ProxyMock.java +++ b/src/test/java/pl/smsapi/test/doubles/ProxyMock.java @@ -9,11 +9,6 @@ public class ProxyMock implements Proxy { public AuthenticationStrategy lastUsedAuthenticationStrategy; - @Override - public String execute(String endpoint, Map data, Map files) throws Exception { - return null; - } - @Override public String execute(String endpoint, Map data, Map files, String httpMethod, AuthenticationStrategy authenticationStrategy) throws Exception { lastUsedAuthenticationStrategy = authenticationStrategy; From a19371c9a94afebe62b88f1f690f3f28fc2a9daa Mon Sep 17 00:00:00 2001 From: Maciej Lew Date: Mon, 18 Mar 2024 11:23:08 +0100 Subject: [PATCH 2/5] Removes deprecated `pl.smsapi.proxy.Proxy#execute` method --- src/main/java/pl/smsapi/proxy/ProxyNative.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/pl/smsapi/proxy/ProxyNative.java b/src/main/java/pl/smsapi/proxy/ProxyNative.java index e800377..eb4b362 100644 --- a/src/main/java/pl/smsapi/proxy/ProxyNative.java +++ b/src/main/java/pl/smsapi/proxy/ProxyNative.java @@ -1,7 +1,6 @@ package pl.smsapi.proxy; import pl.smsapi.api.authenticationStrategy.AuthenticationStrategy; -import pl.smsapi.api.authenticationStrategy.BasicAuthenticationStrategy; import java.io.*; import java.net.HttpURLConnection; From e5b40c8cbb64a9be8032f7b68423017cf183a9f7 Mon Sep 17 00:00:00 2001 From: Maciej Lew Date: Mon, 18 Mar 2024 13:29:34 +0100 Subject: [PATCH 3/5] Deprecates `pl.smsapi.BasicAuthClient` --- CHANGELOG.md | 5 ++- src/main/java/pl/smsapi/BasicAuthClient.java | 31 +------------- .../BasicAuthenticationStrategy.java | 1 + src/test/java/pl/smsapi/test/TestSmsapi.java | 40 ++++++++++++------- .../test/integration/AbstractActionTest.java | 2 +- src/test/java/pl/smsapi/test/run/MmsTest.java | 3 +- .../pl/smsapi/test/run/PhonebookTest.java | 3 +- .../java/pl/smsapi/test/run/SenderTest.java | 3 +- src/test/java/pl/smsapi/test/run/SmsTest.java | 3 +- .../java/pl/smsapi/test/run/UserTest.java | 8 ++-- src/test/java/pl/smsapi/test/run/VmsTest.java | 3 +- 11 files changed, 48 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e741a05..0b2fb4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). -## [3.0.0-SNAPSHOT] +## [3.0.0-RC3-SNAPSHOT] +### Changed +- `pl.smsapi.BasicAuthClient` marked as deprecated + ### Removed - deprecated `pl.smsapi.proxy.Proxy#execute` method diff --git a/src/main/java/pl/smsapi/BasicAuthClient.java b/src/main/java/pl/smsapi/BasicAuthClient.java index 61b4f1d..fb6c65c 100644 --- a/src/main/java/pl/smsapi/BasicAuthClient.java +++ b/src/main/java/pl/smsapi/BasicAuthClient.java @@ -1,46 +1,19 @@ package pl.smsapi; import pl.smsapi.api.authenticationStrategy.BasicAuthenticationStrategy; -import pl.smsapi.exception.ClientException; - -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; +@Deprecated public class BasicAuthClient implements Client { private final String username; private final String password; - public BasicAuthClient(String username, String password) throws ClientException { + public BasicAuthClient(String username, String password) { assert username != null && !username.isEmpty() : "Username is empty"; assert password != null && !password.isEmpty() : "Password is empty"; this.username = username; this.password = password; } - public static String MD5Digest(String str) throws ClientException { - try { - MessageDigest md = MessageDigest.getInstance("MD5"); - - md.update(str.getBytes()); - - byte byteData[] = md.digest(); - - StringBuilder sb = new StringBuilder(); - for (byte b : byteData) { - sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1)); - } - - return sb.toString(); - - } catch (NoSuchAlgorithmException ex) { - throw new ClientException(ex); - } - } - - public static BasicAuthClient createFromRawPassword(String username, String password) throws ClientException { - return new BasicAuthClient(username, MD5Digest(password)); - } - public String getUsername() { return username; } diff --git a/src/main/java/pl/smsapi/api/authenticationStrategy/BasicAuthenticationStrategy.java b/src/main/java/pl/smsapi/api/authenticationStrategy/BasicAuthenticationStrategy.java index 94168c4..c9e7c0b 100644 --- a/src/main/java/pl/smsapi/api/authenticationStrategy/BasicAuthenticationStrategy.java +++ b/src/main/java/pl/smsapi/api/authenticationStrategy/BasicAuthenticationStrategy.java @@ -2,6 +2,7 @@ import org.apache.commons.codec.binary.Base64; +@Deprecated public class BasicAuthenticationStrategy implements AuthenticationStrategy { private String username; private String password; diff --git a/src/test/java/pl/smsapi/test/TestSmsapi.java b/src/test/java/pl/smsapi/test/TestSmsapi.java index 07db706..ea0556f 100644 --- a/src/test/java/pl/smsapi/test/TestSmsapi.java +++ b/src/test/java/pl/smsapi/test/TestSmsapi.java @@ -1,31 +1,23 @@ package pl.smsapi.test; import org.junit.Ignore; -import pl.smsapi.BasicAuthClient; +import pl.smsapi.Client; +import pl.smsapi.OAuthClient; import pl.smsapi.api.response.MessageResponse; import pl.smsapi.exception.ClientException; import pl.smsapi.proxy.Proxy; import pl.smsapi.proxy.ProxyNative; import java.io.*; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; @Ignore public class TestSmsapi { protected String fileToIds = "_ids_test.txt"; - protected BasicAuthClient getAuthorizationClient() { - - try { - return BasicAuthClient.createFromRawPassword("", ""); - } catch (ClientException ex) { - /* - * 101 Niepoprawne lub brak danych autoryzacji. 102 Nieprawidłowy login lub hasło 103 Brak punków dla tego - * użytkownika 105 Błędny adres IP 110 Usługa nie jest dostępna na danym koncie 1000 Akcja dostępna tylko - * dla użytkownika głównego 1001 Nieprawidłowa akcja - */ - System.out.println(ex.getMessage()); - } - return null; + protected Client getAuthorizationClient() throws ClientException { + return new OAuthClient(""); } protected String[] readIds() { @@ -106,4 +98,24 @@ protected void renderMessageItem(MessageResponse item) { protected Proxy getProxy() { return new ProxyNative("http://api.smsapi.pl/"); } + + public static String MD5Digest(String str) throws ClientException { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + + md.update(str.getBytes()); + + byte[] byteData = md.digest(); + + StringBuilder sb = new StringBuilder(); + for (byte b : byteData) { + sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1)); + } + + return sb.toString(); + + } catch (NoSuchAlgorithmException ex) { + throw new ClientException(ex); + } + } } diff --git a/src/test/java/pl/smsapi/test/integration/AbstractActionTest.java b/src/test/java/pl/smsapi/test/integration/AbstractActionTest.java index d476747..b724c78 100644 --- a/src/test/java/pl/smsapi/test/integration/AbstractActionTest.java +++ b/src/test/java/pl/smsapi/test/integration/AbstractActionTest.java @@ -14,7 +14,7 @@ public class AbstractActionTest { @Test public void testItShouldAuthenticateUsingBasicStrategyWhenUsingBasicAuthClient() throws SmsapiException { - BasicAuthClient client = BasicAuthClient.createFromRawPassword("", ""); + BasicAuthClient client = new BasicAuthClient("", ""); ProxyMock proxy = new ProxyMock(); ActionMock action = new ActionMock(); diff --git a/src/test/java/pl/smsapi/test/run/MmsTest.java b/src/test/java/pl/smsapi/test/run/MmsTest.java index 9968148..4c314d3 100644 --- a/src/test/java/pl/smsapi/test/run/MmsTest.java +++ b/src/test/java/pl/smsapi/test/run/MmsTest.java @@ -10,6 +10,7 @@ import pl.smsapi.api.response.CountableResponse; import pl.smsapi.api.response.MessageResponse; import pl.smsapi.api.response.StatusResponse; +import pl.smsapi.exception.ClientException; import pl.smsapi.exception.SmsapiException; import pl.smsapi.test.TestSmsapi; @@ -23,7 +24,7 @@ public class MmsTest extends TestSmsapi { MmsFactory apiFactory; @Before - public void setUp() { + public void setUp() throws ClientException { apiFactory = new MmsFactory(getAuthorizationClient(), getProxy()); } diff --git a/src/test/java/pl/smsapi/test/run/PhonebookTest.java b/src/test/java/pl/smsapi/test/run/PhonebookTest.java index a688ed5..7751550 100644 --- a/src/test/java/pl/smsapi/test/run/PhonebookTest.java +++ b/src/test/java/pl/smsapi/test/run/PhonebookTest.java @@ -6,6 +6,7 @@ import pl.smsapi.api.PhonebookFactory; import pl.smsapi.api.action.phonebook.*; import pl.smsapi.api.response.*; +import pl.smsapi.exception.ClientException; import pl.smsapi.exception.SmsapiException; import pl.smsapi.test.TestSmsapi; @@ -21,7 +22,7 @@ public class PhonebookTest extends TestSmsapi { PhonebookFactory apiFactory; @Before - public void setUp() { + public void setUp() throws ClientException { apiFactory = new PhonebookFactory(getAuthorizationClient(), getProxy()); } diff --git a/src/test/java/pl/smsapi/test/run/SenderTest.java b/src/test/java/pl/smsapi/test/run/SenderTest.java index e180e47..047963a 100644 --- a/src/test/java/pl/smsapi/test/run/SenderTest.java +++ b/src/test/java/pl/smsapi/test/run/SenderTest.java @@ -7,6 +7,7 @@ import pl.smsapi.api.response.CountableResponse; import pl.smsapi.api.response.SenderResponse; import pl.smsapi.api.response.SendersResponse; +import pl.smsapi.exception.ClientException; import pl.smsapi.exception.SmsapiException; import pl.smsapi.test.TestSmsapi; @@ -17,7 +18,7 @@ public class SenderTest extends TestSmsapi { SenderFactory apiFactory; @Before - public void setUp() { + public void setUp() throws ClientException { apiFactory = new SenderFactory(getAuthorizationClient(), getProxy()); } diff --git a/src/test/java/pl/smsapi/test/run/SmsTest.java b/src/test/java/pl/smsapi/test/run/SmsTest.java index 9fed276..e4bcdd2 100644 --- a/src/test/java/pl/smsapi/test/run/SmsTest.java +++ b/src/test/java/pl/smsapi/test/run/SmsTest.java @@ -11,6 +11,7 @@ import pl.smsapi.api.response.MessageResponse; import pl.smsapi.api.response.SendStatusResponse; import pl.smsapi.api.response.StatusResponse; +import pl.smsapi.exception.ClientException; import pl.smsapi.exception.SmsapiException; import pl.smsapi.test.TestSmsapi; @@ -25,7 +26,7 @@ public class SmsTest extends TestSmsapi { private String[] ids; @Before - public void setUp() { + public void setUp() throws ClientException { apiFactory = new SmsFactory(getAuthorizationClient(), getProxy()); } diff --git a/src/test/java/pl/smsapi/test/run/UserTest.java b/src/test/java/pl/smsapi/test/run/UserTest.java index a84bab6..8c51394 100644 --- a/src/test/java/pl/smsapi/test/run/UserTest.java +++ b/src/test/java/pl/smsapi/test/run/UserTest.java @@ -3,12 +3,12 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import pl.smsapi.BasicAuthClient; import pl.smsapi.api.UserFactory; import pl.smsapi.api.action.user.UserAdd; import pl.smsapi.api.response.PointsResponse; import pl.smsapi.api.response.UserResponse; import pl.smsapi.api.response.UsersResponse; +import pl.smsapi.exception.ClientException; import pl.smsapi.exception.SmsapiException; import pl.smsapi.test.TestSmsapi; @@ -21,7 +21,7 @@ public class UserTest extends TestSmsapi { UserFactory apiFactory; @Before - public void setUp() { + public void setUp() throws ClientException { apiFactory = new UserFactory(getAuthorizationClient(), getProxy()); } @@ -43,8 +43,8 @@ private void renderUserItem(UserResponse item) { public void userAddTest() throws SmsapiException { UserAdd action = apiFactory.actionAdd() .setUsername(userTest + new Random().nextLong()) - .setPassword(BasicAuthClient.MD5Digest("100costma100")) - .setPasswordApi(BasicAuthClient.MD5Digest("200costam200")) + .setPassword(TestSmsapi.MD5Digest("100costma100")) + .setPasswordApi(TestSmsapi.MD5Digest("200costam200")) .setActive(true) .setLimit(5.5) .setFullAccessPhoneBook(true); diff --git a/src/test/java/pl/smsapi/test/run/VmsTest.java b/src/test/java/pl/smsapi/test/run/VmsTest.java index 2b5ebb7..5894e7a 100644 --- a/src/test/java/pl/smsapi/test/run/VmsTest.java +++ b/src/test/java/pl/smsapi/test/run/VmsTest.java @@ -10,6 +10,7 @@ import pl.smsapi.api.response.CountableResponse; import pl.smsapi.api.response.MessageResponse; import pl.smsapi.api.response.StatusResponse; +import pl.smsapi.exception.ClientException; import pl.smsapi.exception.SmsapiException; import pl.smsapi.test.TestSmsapi; @@ -25,7 +26,7 @@ public class VmsTest extends TestSmsapi { VmsFactory apiFactory; @Before - public void setUp() { + public void setUp() throws ClientException { apiFactory = new VmsFactory(getAuthorizationClient(), getProxy()); } From 1e409dfac6ed93fb493e04cdb28138fbf63b6da0 Mon Sep 17 00:00:00 2001 From: Maciej Lew Date: Wed, 20 Mar 2024 08:28:42 +0100 Subject: [PATCH 4/5] Deprecates `pl.smsapi.BasicAuthClient` --- src/main/java/pl/smsapi/BasicAuthClient.java | 28 +++++++++++++++++++ src/test/java/pl/smsapi/test/TestSmsapi.java | 22 --------------- .../java/pl/smsapi/test/run/UserTest.java | 5 ++-- 3 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/main/java/pl/smsapi/BasicAuthClient.java b/src/main/java/pl/smsapi/BasicAuthClient.java index fb6c65c..284f280 100644 --- a/src/main/java/pl/smsapi/BasicAuthClient.java +++ b/src/main/java/pl/smsapi/BasicAuthClient.java @@ -1,6 +1,10 @@ package pl.smsapi; import pl.smsapi.api.authenticationStrategy.BasicAuthenticationStrategy; +import pl.smsapi.exception.ClientException; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; @Deprecated public class BasicAuthClient implements Client { @@ -18,6 +22,30 @@ public String getUsername() { return username; } + public static String MD5Digest(String str) throws ClientException { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + + md.update(str.getBytes()); + + byte[] byteData = md.digest(); + + StringBuilder sb = new StringBuilder(); + for (byte b : byteData) { + sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1)); + } + + return sb.toString(); + + } catch (NoSuchAlgorithmException ex) { + throw new ClientException(ex); + } + } + + public static BasicAuthClient createFromRawPassword(String username, String password) throws ClientException { + return new BasicAuthClient(username, MD5Digest(password)); + } + @Override public BasicAuthenticationStrategy getAuthenticationStrategy() { return new BasicAuthenticationStrategy(username, password); diff --git a/src/test/java/pl/smsapi/test/TestSmsapi.java b/src/test/java/pl/smsapi/test/TestSmsapi.java index ea0556f..220ddf1 100644 --- a/src/test/java/pl/smsapi/test/TestSmsapi.java +++ b/src/test/java/pl/smsapi/test/TestSmsapi.java @@ -9,8 +9,6 @@ import pl.smsapi.proxy.ProxyNative; import java.io.*; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; @Ignore public class TestSmsapi { @@ -98,24 +96,4 @@ protected void renderMessageItem(MessageResponse item) { protected Proxy getProxy() { return new ProxyNative("http://api.smsapi.pl/"); } - - public static String MD5Digest(String str) throws ClientException { - try { - MessageDigest md = MessageDigest.getInstance("MD5"); - - md.update(str.getBytes()); - - byte[] byteData = md.digest(); - - StringBuilder sb = new StringBuilder(); - for (byte b : byteData) { - sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1)); - } - - return sb.toString(); - - } catch (NoSuchAlgorithmException ex) { - throw new ClientException(ex); - } - } } diff --git a/src/test/java/pl/smsapi/test/run/UserTest.java b/src/test/java/pl/smsapi/test/run/UserTest.java index 8c51394..383cfeb 100644 --- a/src/test/java/pl/smsapi/test/run/UserTest.java +++ b/src/test/java/pl/smsapi/test/run/UserTest.java @@ -3,6 +3,7 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; +import pl.smsapi.BasicAuthClient; import pl.smsapi.api.UserFactory; import pl.smsapi.api.action.user.UserAdd; import pl.smsapi.api.response.PointsResponse; @@ -43,8 +44,8 @@ private void renderUserItem(UserResponse item) { public void userAddTest() throws SmsapiException { UserAdd action = apiFactory.actionAdd() .setUsername(userTest + new Random().nextLong()) - .setPassword(TestSmsapi.MD5Digest("100costma100")) - .setPasswordApi(TestSmsapi.MD5Digest("200costam200")) + .setPassword(BasicAuthClient.MD5Digest("100costma100")) + .setPasswordApi(BasicAuthClient.MD5Digest("200costam200")) .setActive(true) .setLimit(5.5) .setFullAccessPhoneBook(true); From b0b9ae0fe6a569674cea89a2846d3172eb1acf2a Mon Sep 17 00:00:00 2001 From: Maciej Lew Date: Wed, 20 Mar 2024 08:33:00 +0100 Subject: [PATCH 5/5] Deprecates `pl.smsapi.BasicAuthClient` --- src/main/java/pl/smsapi/BasicAuthClient.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/pl/smsapi/BasicAuthClient.java b/src/main/java/pl/smsapi/BasicAuthClient.java index 284f280..8b7cd15 100644 --- a/src/main/java/pl/smsapi/BasicAuthClient.java +++ b/src/main/java/pl/smsapi/BasicAuthClient.java @@ -6,6 +6,9 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +/** + * @deprecated use {@link OAuthClient} instead + */ @Deprecated public class BasicAuthClient implements Client { private final String username;