1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.plugins;
21
22 import static org.hamcrest.Matchers.hasItem;
23 import static org.junit.Assert.assertNotNull;
24 import static org.junit.Assert.assertThat;
25
26 import java.util.List;
27 import java.util.Map;
28
29 import javax.ws.rs.core.MediaType;
30
31 import org.junit.AfterClass;
32 import org.junit.BeforeClass;
33 import org.junit.Test;
34 import org.neo4j.graphdb.GraphDatabaseService;
35 import org.neo4j.kernel.AbstractGraphDatabase;
36 import org.neo4j.kernel.ImpermanentGraphDatabase;
37 import org.neo4j.server.rest.repr.formats.NullFormat;
38
39 public class PluginManagerTest
40 {
41 private static PluginManager manager;
42 private static AbstractGraphDatabase graphDb;
43
44 @BeforeClass
45 public static void loadExtensionManager() throws Exception
46 {
47 graphDb = new ImpermanentGraphDatabase();
48 manager = new PluginManager( null );
49 }
50
51 @AfterClass
52 public static void destroyExtensionManager()
53 {
54 manager = null;
55 if ( graphDb != null ) graphDb.shutdown();
56 graphDb = null;
57 }
58
59 @Test
60 public void canGetUrisForNode() throws Exception
61 {
62 Map<String, List<String>> extensions = manager.getExensionsFor( GraphDatabaseService.class );
63 List<String> methods = extensions.get( Plugin.class.getSimpleName() );
64 assertNotNull( methods );
65 assertThat( methods, hasItem( Plugin.GET_REFERENCE_NODE ) );
66 }
67
68 @Test
69 public void canInvokeExtension() throws Exception
70 {
71 manager.invoke( graphDb, Plugin.class.getSimpleName(), GraphDatabaseService.class,
72 Plugin.GET_REFERENCE_NODE, graphDb,
73 new NullFormat( null, (MediaType[]) null ).readParameterList( "" ) );
74 }
75 }