ONOS-2091 Installing app when already installed will now raise an error
Change-Id: I4dacd63bf4a99244b23b932d35dd9cbd088548c1
diff --git a/core/store/trivial/src/test/java/org/onosproject/store/trivial/impl/SimpleApplicationStoreTest.java b/core/store/trivial/src/test/java/org/onosproject/store/trivial/impl/SimpleApplicationStoreTest.java
index a6fb24c..0e7a16e 100644
--- a/core/store/trivial/src/test/java/org/onosproject/store/trivial/impl/SimpleApplicationStoreTest.java
+++ b/core/store/trivial/src/test/java/org/onosproject/store/trivial/impl/SimpleApplicationStoreTest.java
@@ -19,6 +19,7 @@
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onlab.util.Tools;
import org.onosproject.app.ApplicationEvent;
import org.onosproject.app.ApplicationStoreDelegate;
import org.onosproject.common.app.ApplicationArchive;
@@ -28,6 +29,10 @@
import org.onosproject.core.ApplicationIdStoreAdapter;
import org.onosproject.core.DefaultApplicationId;
+import java.io.File;
+import java.io.IOException;
+import java.util.Random;
+
import static org.junit.Assert.assertEquals;
import static org.onosproject.app.ApplicationEvent.Type.APP_INSTALLED;
import static org.onosproject.app.ApplicationEvent.Type.APP_DEACTIVATED;
@@ -42,23 +47,33 @@
*/
public class SimpleApplicationStoreTest {
- private SimpleApplicationStore store = new SimpleApplicationStore();
+ static final String ROOT = "/tmp/app-junit/";
+ static final String STORE = ROOT + new Random().nextInt(1000) + "/foo";
+
+ private TestApplicationStore store = new TestApplicationStore();
private TestDelegate delegate = new TestDelegate();
+ private static final Object LOCK = new Object();
@Before
public void setUp() {
store.idStore = new TestIdStore();
+ store.setRootPath(STORE);
store.setDelegate(delegate);
store.activate();
}
@After
- public void tearDown() {
+ public void tearDown() throws IOException {
+ if (new File(ROOT).exists()) {
+ Tools.removeDirectory(ROOT);
+ }
store.deactivate();
}
private Application createTestApp() {
- return store.create(ApplicationArchive.class.getResourceAsStream("app.zip"));
+ synchronized (LOCK) {
+ return store.create(ApplicationArchive.class.getResourceAsStream("app.zip"));
+ }
}
@Test
@@ -132,4 +147,11 @@
this.event = event;
}
}
+
+ private class TestApplicationStore extends SimpleApplicationStore {
+ @Override
+ public void setRootPath(String root) {
+ super.setRootPath(root);
+ }
+ }
}
\ No newline at end of file