Skip to content
This repository has been archived by the owner on Mar 7, 2020. It is now read-only.

Commit

Permalink
cleaning up unnecessary methods
Browse files Browse the repository at this point in the history
  • Loading branch information
Waldemar Lammert committed Dec 29, 2019
1 parent b5e8335 commit a7da7b9
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 7 deletions.
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ dependencies {

testImplementation 'org.junit.jupiter:junit-jupiter:5.5.1'
testImplementation 'org.hamcrest:hamcrest-library:2.1'
testImplementation "org.mockito:mockito-junit-jupiter:3.2.4"

}

test {
Expand Down
12 changes: 8 additions & 4 deletions src/main/java/eu/dev089/components/RequestCreator.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,19 @@
public class RequestCreator {

private static final String URL = "https://www.bienenkorb-shop.de/index.php/rest/V1/";
private final String token;

private Request.Builder requestBuilder(String contextPath) {
var bk_token = System.getenv().get("BK_TOKEN");
if (bk_token == null || bk_token.isEmpty()) {
public RequestCreator(String token) {
if (token == null || token.isEmpty()) {
throw new IllegalArgumentException("please provide a bearer token via ENV");
}
this.token = token;
}

Request.Builder requestBuilder(String contextPath) {
return new Request.Builder()
.url(URL + contextPath)
.addHeader("Authorization", String.format("Bearer %s", bk_token))
.addHeader("Authorization", String.format("Bearer %s", token))
.addHeader("Cache-Control", "no-cache")
.addHeader("Connection", "keep-alive");
}
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/eu/dev089/components/Updater.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ public class Updater extends TimerTask {
private OkHttpClient client;

public Updater() {
this.creator = new RequestCreator();

this.creator = new RequestCreator(System.getenv().get("BK_TOKEN"));
}

@Override
Expand Down
62 changes: 62 additions & 0 deletions src/test/java/eu/dev089/components/RequestCreatorTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package eu.dev089.components;

import static eu.dev089.FeatureMatcher.createFeatureMatcher;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.jupiter.api.Assertions.assertThrows;

import java.util.stream.Stream;
import okhttp3.Request;
import okhttp3.Request.Builder;
import org.hamcrest.Matcher;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;

class RequestCreatorTest {

@Test
void setsBearerToken() {
var token = "THIS_IS_MY_TOKEN";
var creator = new RequestCreator(token);
var request = creator.requestBuilder("somePath").get().build();

assertThat(request, hasToken(token));
}

private static Matcher<Request> hasToken(String token) {
return createFeatureMatcher(hasItem("Bearer " + token), "token",
r -> r.headers().values("Authorization"));
}

@ParameterizedTest
@MethodSource("emptyTokens")
void reportsNoTokenSet(String token) {
assertThrows(IllegalArgumentException.class, () -> {
new RequestCreator(token);
});
}

static Stream<String> emptyTokens() {
return Stream.of(null, "");
}

@ParameterizedTest
@MethodSource("headers")
void setsHeaders(String header) {
var creator = new RequestCreator("token");
var builder = creator.requestBuilder("context");

assertThat(builder, hasHeaderProperty(header));
}

private static Matcher<Request.Builder> hasHeaderProperty(String header) {
return createFeatureMatcher(is(notNullValue()), "token", r -> r.build().headers().values(header));
}

static Stream<String> headers() {
return Stream.of("Authorization", "Cache-Control", "Connection");
}
}
2 changes: 1 addition & 1 deletion src/test/java/eu/dev089/components/UpdaterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
class UpdaterTest {

private Updater updater = new Updater();
private RequestCreator creator = new RequestCreator();
private RequestCreator creator = new RequestCreator(System.getenv().get("BK_TOKEN"));


void run() {
Expand Down

0 comments on commit a7da7b9

Please sign in to comment.