Skip to content

Commit

Permalink
extract utils, clean dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
leleuj committed Nov 27, 2023
1 parent e7aa10b commit 12dde05
Show file tree
Hide file tree
Showing 8 changed files with 81 additions and 44 deletions.
7 changes: 1 addition & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,10 @@
</developers>

<dependencies>
<dependency>
<groupId>org.pac4j</groupId>
<artifactId>pac4j-core</artifactId>
<version>5.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.13.0</version>
<version>3.14.0</version>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import com.casinthecloud.simpleperf.test.CasTest;
import lombok.val;

import static com.casinthecloud.simpleperf.util.Utils.addUrlParameter;
import static com.casinthecloud.simpleperf.util.Utils.after;

/**
* A test performing a CAS login in the CAS server.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import lombok.val;

import static com.casinthecloud.simpleperf.util.Utils.*;

/**
* A test performing an OIDC login in the CAS server.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import com.casinthecloud.simpleperf.test.CasTest;
import lombok.val;

import static com.casinthecloud.simpleperf.util.Utils.between;
import static com.casinthecloud.simpleperf.util.Utils.htmlDecode;

/**
* A test performing a SAML2 login in the CAS server (pac4j client).
*
Expand Down
40 changes: 2 additions & 38 deletions src/main/java/com/casinthecloud/simpleperf/test/BaseTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,21 @@
import lombok.Getter;
import lombok.Setter;
import lombok.val;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import org.pac4j.core.util.CommonHelper;

import java.net.URI;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;

import static com.casinthecloud.simpleperf.util.Utils.*;

/**
* The base test.
*
Expand Down Expand Up @@ -64,10 +60,6 @@ public abstract class BaseTest {

public abstract void run() throws Exception;

protected int random(final int max) {
return (int)(Math.random() * max);
}

protected void saveTimer() {
long t1 = System.currentTimeMillis();
time.addAndGet(t1 - t0);
Expand Down Expand Up @@ -150,34 +142,6 @@ protected HttpRequest get(final String url) throws Exception {
return builder.build();
}

protected String between(final String s1, final String s2, final String s3) {
return StringUtils.substringBetween(s1, s2, s3);
}

protected String after(final String s1, final String s2) {
return StringUtils.substringAfter(s1, s2);
}

protected String before(final String s1, final String s2) {
return StringUtils.substringBefore(s1, s2);
}

protected String urlEncode(final String s) {
return URLEncoder.encode(s, StandardCharsets.UTF_8);
}

protected String urlDecode(final String s) {
return URLDecoder.decode(s, StandardCharsets.UTF_8);
}

protected String htmlDecode(final String s) {
return StringEscapeUtils.unescapeHtml4(s);
}

protected String addUrlParameter(final String url, final String key, final String value) {
return CommonHelper.addParameter(url, key, value);
}

protected void assertStatus(final int s) {
if (_response.statusCode() != s) {
throw new IllegalStateException("Expected HTTP " + s + " / Received: " + _response.statusCode());
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/casinthecloud/simpleperf/test/CasTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import lombok.val;

import static com.casinthecloud.simpleperf.util.Utils.between;

/**
* A test for CAS.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import java.net.http.HttpClient;
import java.util.concurrent.atomic.AtomicLong;

import static com.casinthecloud.simpleperf.util.Utils.random;

/**
* Randomly run test.
*
Expand Down
66 changes: 66 additions & 0 deletions src/main/java/com/casinthecloud/simpleperf/util/Utils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package com.casinthecloud.simpleperf.util;

import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;

import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

/**
* An utility class.
*
* @author Jerome LELEU
* @since 1.0.0
*/
public final class Utils {

public static int random(final int max) {
return (int)(Math.random() * max);
}

public static String between(final String s1, final String s2, final String s3) {
return StringUtils.substringBetween(s1, s2, s3);
}

public static String after(final String s1, final String s2) {
return StringUtils.substringAfter(s1, s2);
}

public static String before(final String s1, final String s2) {
return StringUtils.substringBefore(s1, s2);
}

public static String urlEncode(final String s) {
return URLEncoder.encode(s, StandardCharsets.UTF_8);
}

public static String urlDecode(final String s) {
return URLDecoder.decode(s, StandardCharsets.UTF_8);
}

public static String htmlDecode(final String s) {
return StringEscapeUtils.unescapeHtml4(s);
}

public static String addUrlParameter(final String url, final String name, final String value) {
if (url != null) {
final var sb = new StringBuilder();
sb.append(url);
if (name != null) {
if (url.indexOf("?") >= 0) {
sb.append("&");
} else {
sb.append("?");
}
sb.append(name);
sb.append("=");
if (value != null) {
sb.append(urlEncode(value));
}
}
return sb.toString();
}
return null;
}
}

0 comments on commit 12dde05

Please sign in to comment.