Repository: incubator-tamaya Updated Branches: refs/heads/master 29a83d9e0 -> 4ae00e176
[TAMAYA-164] Added some tests. Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/4ae00e17 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/4ae00e17 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/4ae00e17 Branch: refs/heads/master Commit: 4ae00e17659ece2b2af8d0dd9e1884448fc669f2 Parents: 29a83d9 Author: Oliver B. Fischer <[email protected]> Authored: Sat Nov 19 21:15:34 2016 +0100 Committer: Oliver B. Fischer <[email protected]> Committed: Sat Nov 19 21:15:34 2016 +0100 ---------------------------------------------------------------------- code/api/pom.xml | 4 ++ .../tamaya/banner/AbstractBannerPrinter.java | 2 +- .../org/apache/tamaya/banner/BannerManager.java | 5 +- .../tamaya/banner/ConsoleBannerPrinter.java | 2 +- .../tamaya/banner/LoggingBannerPrinter.java | 4 +- .../apache/tamaya/banner/BannerManagerTest.java | 74 ++++++++++++++++++++ code/pom.xml | 6 +- pom.xml | 6 ++ 8 files changed, 96 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/code/api/pom.xml ---------------------------------------------------------------------- diff --git a/code/api/pom.xml b/code/api/pom.xml index 087a3a7..074aeb8 100644 --- a/code/api/pom.xml +++ b/code/api/pom.xml @@ -43,6 +43,10 @@ under the License. <groupId>org.hamcrest</groupId> <artifactId>java-hamcrest</artifactId> </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + </dependency> </dependencies> http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/code/api/src/main/java/org/apache/tamaya/banner/AbstractBannerPrinter.java ---------------------------------------------------------------------- diff --git a/code/api/src/main/java/org/apache/tamaya/banner/AbstractBannerPrinter.java b/code/api/src/main/java/org/apache/tamaya/banner/AbstractBannerPrinter.java index 1cab9d9..5ad975c 100644 --- a/code/api/src/main/java/org/apache/tamaya/banner/AbstractBannerPrinter.java +++ b/code/api/src/main/java/org/apache/tamaya/banner/AbstractBannerPrinter.java @@ -55,5 +55,5 @@ abstract class AbstractBannerPrinter implements BannerPrinter { } } - abstract void outputSingleLine(CharSequence line); + abstract void outputSingleLine(String line); } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/code/api/src/main/java/org/apache/tamaya/banner/BannerManager.java ---------------------------------------------------------------------- diff --git a/code/api/src/main/java/org/apache/tamaya/banner/BannerManager.java b/code/api/src/main/java/org/apache/tamaya/banner/BannerManager.java index a63b7c2..79e3ce4 100644 --- a/code/api/src/main/java/org/apache/tamaya/banner/BannerManager.java +++ b/code/api/src/main/java/org/apache/tamaya/banner/BannerManager.java @@ -18,6 +18,8 @@ */ package org.apache.tamaya.banner; +import java.util.Locale; +import java.util.Objects; public class BannerManager { enum BannerTarget { @@ -27,6 +29,8 @@ public class BannerManager { private BannerTarget bannerTarget; public BannerManager(String value) { + value = Objects.requireNonNull(value).toUpperCase(Locale.getDefault()); + try { bannerTarget = BannerTarget.valueOf(value); } catch (NullPointerException | IllegalArgumentException e) { @@ -51,5 +55,4 @@ public class BannerManager { bp.outputBanner(); } - } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/code/api/src/main/java/org/apache/tamaya/banner/ConsoleBannerPrinter.java ---------------------------------------------------------------------- diff --git a/code/api/src/main/java/org/apache/tamaya/banner/ConsoleBannerPrinter.java b/code/api/src/main/java/org/apache/tamaya/banner/ConsoleBannerPrinter.java index 07ec961..37ee424 100644 --- a/code/api/src/main/java/org/apache/tamaya/banner/ConsoleBannerPrinter.java +++ b/code/api/src/main/java/org/apache/tamaya/banner/ConsoleBannerPrinter.java @@ -23,7 +23,7 @@ package org.apache.tamaya.banner; */ public class ConsoleBannerPrinter extends AbstractBannerPrinter { @Override - void outputSingleLine(CharSequence line) { + void outputSingleLine(String line) { System.out.println(line); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/code/api/src/main/java/org/apache/tamaya/banner/LoggingBannerPrinter.java ---------------------------------------------------------------------- diff --git a/code/api/src/main/java/org/apache/tamaya/banner/LoggingBannerPrinter.java b/code/api/src/main/java/org/apache/tamaya/banner/LoggingBannerPrinter.java index eb2d79b..26cbbb2 100644 --- a/code/api/src/main/java/org/apache/tamaya/banner/LoggingBannerPrinter.java +++ b/code/api/src/main/java/org/apache/tamaya/banner/LoggingBannerPrinter.java @@ -27,7 +27,7 @@ import java.util.logging.Logger; public class LoggingBannerPrinter extends AbstractBannerPrinter { private static final Logger log = Logger.getLogger(LoggingBannerPrinter.class.getName()); @Override - void outputSingleLine(CharSequence line) { - log.log(Level.INFO, line.toString()); + void outputSingleLine(String line) { + log.log(Level.INFO, line); } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/code/api/src/test/java/org/apache/tamaya/banner/BannerManagerTest.java ---------------------------------------------------------------------- diff --git a/code/api/src/test/java/org/apache/tamaya/banner/BannerManagerTest.java b/code/api/src/test/java/org/apache/tamaya/banner/BannerManagerTest.java new file mode 100644 index 0000000..e5ba859 --- /dev/null +++ b/code/api/src/test/java/org/apache/tamaya/banner/BannerManagerTest.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.tamaya.banner; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.runners.MockitoJUnitRunner; + +import java.io.PrintStream; +import java.util.logging.Logger; + +@RunWith(MockitoJUnitRunner.class) +public class BannerManagerTest { + + @Mock + private PrintStream printStream; + + @Mock + private Logger logger; + + @Test + public void valueConsoleSendsBannerToSystemOut() { + PrintStream standard = System.out; + + System.setOut(printStream); + + try { + BannerManager bm = new BannerManager("console"); + bm.outputBanner(); + + } finally { + System.setOut(standard); + } + + Mockito.verify(printStream, Mockito.atLeastOnce()).println(Mockito.anyString()); + } + + @Test + public void invalidValueAvoidsLoggingToConsonle() { + + PrintStream standard = System.out; + + System.setOut(printStream); + + try { + BannerManager bm = new BannerManager("snafu"); + bm.outputBanner(); + + } finally { + System.setOut(standard); + } + + Mockito.verify(printStream, Mockito.never()).println(Mockito.anyString()); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/code/pom.xml ---------------------------------------------------------------------- diff --git a/code/pom.xml b/code/pom.xml index de68cb5..7f94fbb 100644 --- a/code/pom.xml +++ b/code/pom.xml @@ -17,7 +17,9 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -44,4 +46,4 @@ under the License. </plugins> </build> -</project> \ No newline at end of file +</project> http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4ae00e17/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 4c2f975..266c132 100644 --- a/pom.xml +++ b/pom.xml @@ -218,6 +218,12 @@ under the License. <dependencyManagement> <dependencies> <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version>
