summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDecebal Suiu <decebal.suiu@gmail.com>2015-10-06 11:09:25 +0300
committerDecebal Suiu <decebal.suiu@gmail.com>2015-10-06 11:09:25 +0300
commit57c9474e207806e5e2b72b19a5a53dce1a62cee3 (patch)
tree7b09a54ee409d90cab2a33f176ba2d046c07497a
parent26530ea1390b56ac38cf22321d56da89cac6b23e (diff)
downloadpf4j-57c9474e207806e5e2b72b19a5a53dce1a62cee3.tar.gz
pf4j-57c9474e207806e5e2b72b19a5a53dce1a62cee3.zip
fix #78
-rw-r--r--pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java11
-rw-r--r--pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java74
2 files changed, 51 insertions, 34 deletions
diff --git a/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java b/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java
index c3c81b0..0c3f534 100644
--- a/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java
+++ b/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java
@@ -12,10 +12,14 @@
*/
package ro.fortsoft.pf4j.util;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
/**
@@ -25,7 +29,7 @@ public class FileUtils {
public static List<String> readLines(File file, boolean ignoreComments) throws IOException {
if (!file.exists() || !file.isFile()) {
- return Collections.emptyList();
+ return new ArrayList<>();
}
List<String> lines = new ArrayList<>();
@@ -87,4 +91,5 @@ public class FileUtils {
return success;
}
+
}
diff --git a/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java b/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java
index 72ef17b..9ee6ca6 100644
--- a/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java
+++ b/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java
@@ -15,21 +15,18 @@
*/
package ro.fortsoft.pf4j;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
/**
*
@@ -40,30 +37,13 @@ public class DefaultPluginStatusProviderTest {
@Rule
public TemporaryFolder testFolder = new TemporaryFolder();
- @Before
- public void setUp() throws IOException {
- File file = testFolder.newFile("disabled.txt");
- try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) {
- writer.write("plugin-2\r\n");
- }
- file.createNewFile();
- }
-
- private void setUpEnabled() throws IOException {
- File file = testFolder.newFile("enabled.txt");
- file.createNewFile();
- try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) {
- writer.write("plugin-1\r\n");
- writer.write("plugin-2\r\n");
- }
- }
-
/**
* Test of isPluginDisabled method, of class DefaultPluginStatusProvider.
*/
@Test
public void testIsPluginDisabled() throws IOException {
- setUpEnabled();
+ createEnabledFile();
+ createDisabledFile();
DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot());
assertFalse(instance.isPluginDisabled("plugin-1"));
@@ -75,7 +55,8 @@ public class DefaultPluginStatusProviderTest {
* Test of isPluginDisabled method, of class DefaultPluginStatusProvider.
*/
@Test
- public void testIsPluginDisabledWithEnableEmpty() {
+ public void testIsPluginDisabledWithEnableEmpty() throws IOException {
+ createDisabledFile();
DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot());
assertFalse(instance.isPluginDisabled("plugin-1"));
@@ -88,7 +69,8 @@ public class DefaultPluginStatusProviderTest {
*/
@Test
public void testDisablePlugin() throws IOException {
- setUpEnabled();
+ createEnabledFile();
+ createDisabledFile();
DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot());
assertTrue(instance.disablePlugin("plugin-1"));
@@ -101,7 +83,8 @@ public class DefaultPluginStatusProviderTest {
* Test of disablePlugin method, of class DefaultPluginStatusProvider.
*/
@Test
- public void testDisablePluginWithEnableEmpty() {
+ public void testDisablePluginWithEnableEmpty() throws IOException {
+ createDisabledFile();
DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot());
assertTrue(instance.disablePlugin("plugin-1"));
@@ -115,7 +98,7 @@ public class DefaultPluginStatusProviderTest {
*/
@Test
public void testEnablePlugin() throws IOException {
- setUpEnabled();
+ createEnabledFile();
DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot());
assertTrue(instance.enablePlugin("plugin-2"));
@@ -137,4 +120,33 @@ public class DefaultPluginStatusProviderTest {
assertFalse(instance.isPluginDisabled("plugin-3"));
}
+ /**
+ * Test of disablePlugin method without a disabled.txt file.
+ */
+ @Test
+ public void testDisablePluginWithoutDisabledFile() throws IOException {
+ DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot());
+
+ assertFalse(instance.isPluginDisabled("plugin-1"));
+ assertTrue(instance.disablePlugin("plugin-1"));
+ assertTrue(instance.isPluginDisabled("plugin-1"));
+ }
+
+ private void createDisabledFile() throws IOException {
+ File file = testFolder.newFile("disabled.txt");
+ try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) {
+ writer.write("plugin-2\r\n");
+ }
+ file.createNewFile();
+ }
+
+ private void createEnabledFile() throws IOException {
+ File file = testFolder.newFile("enabled.txt");
+ file.createNewFile();
+ try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) {
+ writer.write("plugin-1\r\n");
+ writer.write("plugin-2\r\n");
+ }
+ }
+
}