You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by pl...@apache.org on 2016/11/19 20:15:41 UTC

incubator-tamaya git commit: [TAMAYA-164] Added some tests.

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 <pl...@apache.org>
Authored: Sat Nov 19 21:15:34 2016 +0100
Committer: Oliver B. Fischer <pl...@apache.org>
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>