From cd2af403f3e713af25cc0ca9c666351c431919c4 Mon Sep 17 00:00:00 2001 From: Konopliovas Ernestas Date: Tue, 8 Sep 2020 10:20:26 +0300 Subject: [PATCH 1/2] Fixed URL formatting issue --- src/main/java/com/icoderman/woocommerce/oauth/OAuthConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; } From 01f1a77be09db94b7dc6194a90bec3be6bb06225 Mon Sep 17 00:00:00 2001 From: Oleksandr Mandryk <2678920+omandryk@users.noreply.github.com> Date: Tue, 11 Aug 2026 11:34:16 -0400 Subject: [PATCH 2/2] Add regression tests for trailing slash handling --- .../woocommerce/oauth/OAuthConfigTest.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/test/java/com/icoderman/woocommerce/oauth/OAuthConfigTest.java 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()); + } +}