diff --git a/src/main/java/com/icoderman/woocommerce/oauth/OAuthConfig.java b/src/main/java/com/icoderman/woocommerce/oauth/OAuthConfig.java index 5d9dd77..a0de8f8 100644 --- a/src/main/java/com/icoderman/woocommerce/oauth/OAuthConfig.java +++ b/src/main/java/com/icoderman/woocommerce/oauth/OAuthConfig.java @@ -12,7 +12,7 @@ public OAuthConfig(String url, String consumerKey, String consumerSecret) { consumerSecret == null || consumerSecret.isEmpty()) { throw new IllegalArgumentException("All arguments are required"); } - this.url = url; + this.url = url.endsWith("/") ? url.substring(0, url.lastIndexOf("/")) : url; this.consumerKey = consumerKey; this.consumerSecret = consumerSecret; } diff --git a/src/test/java/com/icoderman/woocommerce/oauth/OAuthConfigTest.java b/src/test/java/com/icoderman/woocommerce/oauth/OAuthConfigTest.java new file mode 100644 index 0000000..9f26a16 --- /dev/null +++ b/src/test/java/com/icoderman/woocommerce/oauth/OAuthConfigTest.java @@ -0,0 +1,30 @@ +package com.icoderman.woocommerce.oauth; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class OAuthConfigTest { + + @Test + public void removesOneTrailingSlashFromStoreUrl() { + OAuthConfig config = new OAuthConfig( + "https://store.example.com/", + "consumer-key", + "consumer-secret" + ); + + assertEquals("https://store.example.com", config.getUrl()); + } + + @Test + public void preservesStoreUrlWithoutTrailingSlash() { + OAuthConfig config = new OAuthConfig( + "https://store.example.com", + "consumer-key", + "consumer-secret" + ); + + assertEquals("https://store.example.com", config.getUrl()); + } +}