You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by di...@apache.org on 2019/05/14 07:21:32 UTC

[rocketmq] branch develop updated: [RIP-10]Add test cases for IOTinyUtilsTest (#853)

This is an automated email from the ASF dual-hosted git repository.

dinglei pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new b8e882f  [RIP-10]Add test cases for IOTinyUtilsTest (#853)
b8e882f is described below

commit b8e882f8e06d290039db01ad4efff83eed3cb32a
Author: wangjuneng <wa...@gmail.com>
AuthorDate: Tue May 14 15:21:27 2019 +0800

    [RIP-10]Add test cases for IOTinyUtilsTest (#853)
---
 .../rocketmq/common/utils/IOTinyUtilsTest.java     | 163 +++++++++++++++++++++
 1 file changed, 163 insertions(+)

diff --git a/common/src/test/java/org/apache/rocketmq/common/utils/IOTinyUtilsTest.java b/common/src/test/java/org/apache/rocketmq/common/utils/IOTinyUtilsTest.java
new file mode 100644
index 0000000..e03e0b9
--- /dev/null
+++ b/common/src/test/java/org/apache/rocketmq/common/utils/IOTinyUtilsTest.java
@@ -0,0 +1,163 @@
+/*
+ * 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.rocketmq.common.utils;
+
+import org.apache.rocketmq.common.UtilAll;
+import org.apache.rocketmq.remoting.common.RemotingHelper;
+
+import static org.junit.Assert.*;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.*;
+import java.lang.reflect.Method;
+import java.util.List;
+
+public class IOTinyUtilsTest {
+
+    private String testRootDir = System.getProperty("user.home") + File.separator + "iotinyutilstest";
+
+    @Before
+    public void init() {
+        File dir = new File(testRootDir);
+        if (dir.exists()) {
+            UtilAll.deleteFile(dir);
+        }
+
+        dir.mkdirs();
+    }
+
+    @After
+    public void destory() {
+        File file = new File(testRootDir);
+        UtilAll.deleteFile(file);
+    }
+
+
+    @Test
+    public void testToString() throws Exception {
+        byte[] b = "testToString".getBytes(RemotingHelper.DEFAULT_CHARSET);
+        InputStream is = new ByteArrayInputStream(b);
+
+        String str = IOTinyUtils.toString(is, null);
+        assertEquals("testToString", str);
+
+        is = new ByteArrayInputStream(b);
+        str = IOTinyUtils.toString(is, RemotingHelper.DEFAULT_CHARSET);
+        assertEquals("testToString", str);
+
+        is = new ByteArrayInputStream(b);
+        Reader isr = new InputStreamReader(is, RemotingHelper.DEFAULT_CHARSET);
+        str = IOTinyUtils.toString(isr);
+        assertEquals("testToString", str);
+    }
+
+
+    @Test
+    public void testCopy() throws Exception {
+        char[] arr = "testToString".toCharArray();
+        Reader reader = new CharArrayReader(arr);
+        Writer writer = new CharArrayWriter();
+
+        long count = IOTinyUtils.copy(reader, writer);
+        assertEquals(arr.length, count);
+    }
+
+    @Test
+    public void testReadLines() throws Exception {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < 10; i++) {
+            sb.append("testReadLines").append("\n");
+        }
+
+        StringReader reader = new StringReader(sb.toString());
+        List<String> lines = IOTinyUtils.readLines(reader);
+
+        assertEquals(10, lines.size());
+    }
+
+    @Test
+    public void testToBufferedReader() throws Exception {
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < 10; i++) {
+            sb.append("testToBufferedReader").append("\n");
+        }
+
+        StringReader reader = new StringReader(sb.toString());
+        Method method = IOTinyUtils.class.getDeclaredMethod("toBufferedReader", new Class[]{Reader.class});
+        method.setAccessible(true);
+        Object bReader = method.invoke(IOTinyUtils.class, reader);
+
+        assertTrue(bReader instanceof BufferedReader);
+    }
+
+    @Test
+    public void testWriteStringToFile() throws Exception {
+        File file = new File(testRootDir, "testWriteStringToFile");
+        assertTrue(!file.exists());
+
+        IOTinyUtils.writeStringToFile(file, "testWriteStringToFile", RemotingHelper.DEFAULT_CHARSET);
+
+        assertTrue(file.exists());
+    }
+
+    @Test
+    public void testCleanDirectory() throws Exception {
+        for (int i = 0; i < 10; i++) {
+            IOTinyUtils.writeStringToFile(new File(testRootDir, "testCleanDirectory" + i), "testCleanDirectory", RemotingHelper.DEFAULT_CHARSET);
+        }
+
+        File dir = new File(testRootDir);
+        assertTrue(dir.exists() && dir.isDirectory());
+        assertTrue(dir.listFiles().length > 0);
+
+        IOTinyUtils.cleanDirectory(new File(testRootDir));
+
+        assertTrue(dir.listFiles().length == 0);
+    }
+
+    @Test
+    public void testDelete() throws Exception {
+        for (int i = 0; i < 10; i++) {
+            IOTinyUtils.writeStringToFile(new File(testRootDir, "testDelete" + i), "testCleanDirectory", RemotingHelper.DEFAULT_CHARSET);
+        }
+
+        File dir = new File(testRootDir);
+        assertTrue(dir.exists() && dir.isDirectory());
+        assertTrue(dir.listFiles().length > 0);
+
+        IOTinyUtils.delete(new File(testRootDir));
+
+        assertTrue(!dir.exists());
+    }
+
+    @Test
+    public void testCopyFile() throws Exception {
+        File source = new File(testRootDir, "soruce");
+        String target = testRootDir + File.separator + "dest";
+
+        IOTinyUtils.writeStringToFile(source, "testCopyFile", RemotingHelper.DEFAULT_CHARSET);
+
+        IOTinyUtils.copyFile(source.getCanonicalPath(), target);
+
+        File dest = new File(target);
+        assertTrue(dest.exists());
+    }
+}