From 92d0f64093be4d3e377694f1e191f24f2f2004d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20Savc=C4=B1?= Date: Wed, 8 May 2019 10:13:53 +0300 Subject: [PATCH] Feature/template unit test (#958) * add HeaderTemplate create tests for fail * - added expand test * - remove redundant public static identifier from Retryer inner class * - remove redundant public static identifier from Default inner class * add license to test * mvn clean install to format test file --- core/src/main/java/feign/Client.java | 2 +- core/src/main/java/feign/Retryer.java | 2 +- .../feign/template/HeaderTemplateTest.java | 60 +++++++++++++++++++ 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 core/src/test/java/feign/template/HeaderTemplateTest.java diff --git a/core/src/main/java/feign/Client.java b/core/src/main/java/feign/Client.java index 520317407..00a43f0eb 100644 --- a/core/src/main/java/feign/Client.java +++ b/core/src/main/java/feign/Client.java @@ -48,7 +48,7 @@ public interface Client { */ Response execute(Request request, Options options) throws IOException; - public static class Default implements Client { + class Default implements Client { private final SSLSocketFactory sslContextFactory; private final HostnameVerifier hostnameVerifier; diff --git a/core/src/main/java/feign/Retryer.java b/core/src/main/java/feign/Retryer.java index f79046781..526106459 100644 --- a/core/src/main/java/feign/Retryer.java +++ b/core/src/main/java/feign/Retryer.java @@ -26,7 +26,7 @@ public interface Retryer extends Cloneable { Retryer clone(); - public static class Default implements Retryer { + class Default implements Retryer { private final int maxAttempts; private final long period; diff --git a/core/src/test/java/feign/template/HeaderTemplateTest.java b/core/src/test/java/feign/template/HeaderTemplateTest.java new file mode 100644 index 000000000..98962fc1f --- /dev/null +++ b/core/src/test/java/feign/template/HeaderTemplateTest.java @@ -0,0 +1,60 @@ +/** + * Copyright 2012-2019 The Feign Authors + * + *

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + *

http://www.apache.org/licenses/LICENSE-2.0 + * + *

Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing permissions and + * limitations under the License. + */ +package feign.template; + +import static org.junit.Assert.assertEquals; + +import java.util.Arrays; +import java.util.Collections; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +public class HeaderTemplateTest { + + @Rule public ExpectedException exception = ExpectedException.none(); + + @Test(expected = IllegalArgumentException.class) + public void it_should_throw_exception_when_name_is_null() { + HeaderTemplate.create(null, Arrays.asList("test")); + exception.expectMessage("name is required."); + } + + @Test(expected = IllegalArgumentException.class) + public void it_should_throw_exception_when_name_is_empty() { + HeaderTemplate.create("", Arrays.asList("test")); + exception.expectMessage("name is required."); + } + + @Test(expected = IllegalArgumentException.class) + public void it_should_throw_exception_when_value_is_null() { + HeaderTemplate.create("test", null); + exception.expectMessage("values are required"); + } + + @Test + public void it_should_return_name() { + HeaderTemplate headerTemplate = + HeaderTemplate.create("test", Arrays.asList("test 1", "test 2")); + assertEquals("test", headerTemplate.getName()); + } + + @Test + public void it_should_return_expanded() { + HeaderTemplate headerTemplate = HeaderTemplate.create("hello", Arrays.asList("emre", "savci")); + assertEquals("hello emre, savci", headerTemplate.expand(Collections.emptyMap())); + assertEquals( + "hello emre, savci", headerTemplate.expand(Collections.singletonMap("name", "firsts"))); + } +}