Merge "Be sure to shutdown instance when destroyed"
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / test / java / org / opendaylight / controller / cluster / raft / AbstractActorTest.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.cluster.raft;
10
11 import akka.actor.ActorSystem;
12 import akka.testkit.JavaTestKit;
13 import org.apache.commons.io.FileUtils;
14 import org.junit.AfterClass;
15 import org.junit.BeforeClass;
16
17 import java.io.File;
18 import java.io.IOException;
19
20 public abstract class AbstractActorTest {
21     private static ActorSystem system;
22
23     @BeforeClass
24     public static void setUpClass() throws Exception{
25         deleteJournal();
26         System.setProperty("shard.persistent", "false");
27         system = ActorSystem.create("test");
28     }
29
30     @AfterClass
31     public static void tearDownClass() throws Exception{
32         deleteJournal();
33         JavaTestKit.shutdownActorSystem(system);
34         system = null;
35     }
36
37     protected ActorSystem getSystem() {
38         return system;
39     }
40
41     protected static void deleteJournal() throws IOException {
42         File journal = new File("journal");
43
44         if(journal.exists()) {
45             FileUtils.deleteDirectory(journal);
46         }
47     }
48
49 }