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

panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 4a9964d  add unit test of FileRepository (#12373)
4a9964d is described below

commit 4a9964dc5b100f665e65eef27deafc572614b4d2
Author: fwhdzh <[email protected]>
AuthorDate: Sun Sep 12 16:45:22 2021 +0800

    add unit test of FileRepository (#12373)
---
 .../standalone/file/FileRepositoryTest.java        | 66 ++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git 
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-repository/shardingsphere-standalone-mode-repository-provider/shardingsphere-standalone-mode-repository-file/src/test/java/org/apache/shardingsphere/mode/repository/standalone/file/FileRepositoryTest.java
 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-repository/shardingsphere-standalone-mode-repository-provid
 [...]
new file mode 100644
index 0000000..097c7db
--- /dev/null
+++ 
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-repository/shardingsphere-standalone-mode-repository-provider/shardingsphere-standalone-mode-repository-file/src/test/java/org/apache/shardingsphere/mode/repository/standalone/file/FileRepositoryTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.shardingsphere.mode.repository.standalone.file;
+
+import org.junit.Test;
+import java.io.File;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+
+public final class FileRepositoryTest {
+
+    private FileRepository fileRepository = new FileRepository();
+
+    private void assertSetProperty() {
+        Properties props = new Properties();
+        props.setProperty("path", "target");
+        fileRepository.setProps(props);
+    }
+
+    private void assertPersistAndGet() {
+        fileRepository.persist("test1", "test1_content");
+        assertThat(fileRepository.get("test1"), is("test1_content" + 
System.lineSeparator()));
+        fileRepository.persist("test1", "modify_content");
+        assertThat(fileRepository.get("test1"), is("modify_content" + 
System.lineSeparator()));
+    }
+
+    private void assertPersistAndGetChildrenKeys() {
+        fileRepository.persist("testDir/test1", "testDirTest");
+        assertThat(fileRepository.getChildrenKeys("testDir").get(0), 
is("test1"));
+        assertThat(fileRepository.get("testDir/test1"), is("testDirTest" + 
System.lineSeparator()));
+    }
+
+    private void assertDelete() {
+        fileRepository.delete("test1");
+        assertFalse((new File("target/test1")).exists());
+        fileRepository.delete("testDir");
+        assertFalse((new File("target/testDir")).exists());
+    }
+
+    @Test
+    public void assertMethod() {
+        assertThat(fileRepository.getType(), is("File"));
+        assertSetProperty();
+        assertPersistAndGet();
+        assertPersistAndGetChildrenKeys();
+        assertDelete();
+    }
+}

Reply via email to