From 00c77327dc5e36ef70d0c100dfe75b0f63a4ff5f Mon Sep 17 00:00:00 2001 From: =?utf8?q?M=C3=A1rio=20Franco?= Date: Mon, 20 Jul 2015 20:57:51 +0100 Subject: [PATCH] Added test for DefaultPluginRepository --- README.md | 1 + .../pf4j/DefaultPluginRepositoryTest.java | 86 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginRepositoryTest.java diff --git a/README.md b/README.md index 044bb6a..8b91835 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ Plugin Framework for Java (PF4J) ===================== [![Travis CI Build Status](https://travis-ci.org/decebals/pf4j.png)](https://travis-ci.org/decebals/pf4j) +[![Coverage Status](https://coveralls.io/repos/decebals/pf4j/badge.svg?branch=master&service=github)](https://coveralls.io/github/decebals/pf4j?branch=master) [![Maven Central](http://img.shields.io/maven-central/v/ro.fortsoft.pf4j/pf4j.svg)](http://search.maven.org/#search|ga|1|pf4j) A plugin is a way for a third party to extend the functionality of an application. A plugin implements extension points diff --git a/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginRepositoryTest.java b/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginRepositoryTest.java new file mode 100644 index 0000000..5062d3c --- /dev/null +++ b/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginRepositoryTest.java @@ -0,0 +1,86 @@ +/* + * Copyright 2015 Mario Franco. + * + * Licensed 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 ro.fortsoft.pf4j; + +import java.io.File; +import java.io.IOException; +import java.util.List; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import ro.fortsoft.pf4j.util.ZipFileFilter; + +import static org.junit.Assert.*; + +/** + * + * @author Mario Franco + */ +public class DefaultPluginRepositoryTest { + + @Rule + public TemporaryFolder testFolder = new TemporaryFolder(); + + public DefaultPluginRepositoryTest() { + } + + @Before + public void setUp() throws IOException { + testFolder.newFile("plugin-1.zip"); + testFolder.newFile("plugin-2.zip"); + testFolder.newFile("plugin-3.zi_"); + } + + @After + public void tearDown() { + } + + /** + * Test of getPluginArchives method, of class DefaultPluginRepository. + */ + @Test + public void testGetPluginArchives() { + + DefaultPluginRepository instance = new DefaultPluginRepository(testFolder.getRoot(), new ZipFileFilter()); + + List result = instance.getPluginArchives(); + + assertEquals(2, result.size()); + assertEquals(result.get(0).getName(), "plugin-1.zip"); + assertEquals(result.get(1).getName(), "plugin-2.zip"); + } + + /** + * Test of deletePluginArchive method, of class DefaultPluginRepository. + */ + @Test + public void testDeletePluginArchive() { + DefaultPluginRepository instance = new DefaultPluginRepository(testFolder.getRoot(), new ZipFileFilter()); + + assertEquals(true, instance.deletePluginArchive("/plugin-1")); + + List result = instance.getPluginArchives(); + + assertEquals(1, result.size()); + assertEquals(result.get(0).getName(), "plugin-2.zip"); + + } + +} -- 2.39.5