3da1cf509837ff75315bed7351b18b8c102eba1f
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.plugins.context.distribution.infinispan;
22
23 import java.io.IOException;
24
25 import org.junit.After;
26 import org.junit.Before;
27 import org.junit.Test;
28 import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters;
29 import org.onap.policy.apex.context.parameters.ContextParameterConstants;
30 import org.onap.policy.apex.context.parameters.ContextParameters;
31 import org.onap.policy.apex.context.parameters.SchemaParameters;
32 import org.onap.policy.apex.context.test.distribution.ContextAlbumUpdate;
33 import org.onap.policy.apex.context.test.distribution.ContextInstantiation;
34 import org.onap.policy.apex.context.test.distribution.ContextUpdate;
35 import org.onap.policy.apex.context.test.distribution.SequentialContextInstantiation;
36 import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
37 import org.onap.policy.apex.model.basicmodel.handling.ApexModelException;
38 import org.onap.policy.common.parameters.ParameterService;
39 import org.slf4j.ext.XLogger;
40 import org.slf4j.ext.XLoggerFactory;
41
42 /**
43  * The Class InfinispanContextDistributorTest.
44  */
45 public class InfinispanContextDistributorTest {
46     private static final XLogger logger = XLoggerFactory.getXLogger(InfinispanContextDistributorTest.class);
47
48     private static final String PLUGIN_CLASS = InfinispanContextDistributor.class.getCanonicalName();
49
50     private SchemaParameters schemaParameters;
51     private ContextParameters contextParameters;
52
53     /**
54      * Before test.
55      */
56     @Before
57     public void beforeTest() {
58         contextParameters = new ContextParameters();
59
60         contextParameters.setName(ContextParameterConstants.MAIN_GROUP_NAME);
61         InfinispanDistributorParameters inifinispanDistributorParameters = new InfinispanDistributorParameters();
62         inifinispanDistributorParameters.setName(ContextParameterConstants.DISTRIBUTOR_GROUP_NAME);
63         inifinispanDistributorParameters.setPluginClass(PLUGIN_CLASS);
64         contextParameters.setDistributorParameters(inifinispanDistributorParameters);
65         contextParameters.getLockManagerParameters().setName(ContextParameterConstants.LOCKING_GROUP_NAME);
66         contextParameters.getPersistorParameters().setName(ContextParameterConstants.PERSISTENCE_GROUP_NAME);
67
68         ParameterService.register(contextParameters);
69         ParameterService.register(contextParameters.getDistributorParameters());
70         ParameterService.register(contextParameters.getLockManagerParameters());
71         ParameterService.register(contextParameters.getPersistorParameters());
72         
73         schemaParameters = new SchemaParameters();
74         schemaParameters.setName(ContextParameterConstants.SCHEMA_GROUP_NAME);
75         schemaParameters.getSchemaHelperParameterMap().put("JAVA", new JavaSchemaHelperParameters());
76
77         ParameterService.register(schemaParameters);
78     }
79
80     /**
81      * After test.
82      */
83     @After
84     public void afterTest() {
85         ParameterService.deregister(schemaParameters);
86
87         ParameterService.deregister(contextParameters.getDistributorParameters());
88         ParameterService.deregister(contextParameters.getLockManagerParameters());
89         ParameterService.deregister(contextParameters.getPersistorParameters());
90         ParameterService.deregister(contextParameters);
91     }
92
93     /**
94      * Test context album update infinispan.
95      *
96      * @throws ApexModelException the apex model exception
97      * @throws IOException Signals that an I/O exception has occurred.
98      * @throws ApexException the apex exception
99      */
100     @Test
101     public void testContextAlbumUpdateInfinispan() throws ApexModelException, IOException, ApexException {
102         logger.debug("Running testContextAlbumUpdateInfinispan test . . .");
103
104         new ContextAlbumUpdate().testContextAlbumUpdate();
105
106         logger.debug("Ran testContextAlbumUpdateInfinispan test");
107     }
108
109     /**
110      * Test context instantiation infinispan.
111      *
112      * @throws ApexModelException the apex model exception
113      * @throws IOException Signals that an I/O exception has occurred.
114      * @throws ApexException the apex exception
115      */
116     @Test
117     public void testContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException {
118         logger.debug("Running testContextInstantiationInfinispan test . . .");
119
120         new ContextInstantiation().testContextInstantiation();
121
122         logger.debug("Ran testContextInstantiationInfinispan test");
123     }
124
125     /**
126      * Test context update infinispan.
127      *
128      * @throws ApexModelException the apex model exception
129      * @throws IOException Signals that an I/O exception has occurred.
130      * @throws ApexException the apex exception
131      */
132     @Test
133     public void testContextUpdateInfinispan() throws ApexModelException, IOException, ApexException {
134         logger.debug("Running testContextUpdateInfinispan test . . .");
135
136         new ContextUpdate().testContextUpdate();
137
138         logger.debug("Ran testContextUpdateInfinispan test");
139     }
140
141     /**
142      * Test sequential context instantiation infinispan.
143      *
144      * @throws ApexModelException the apex model exception
145      * @throws IOException Signals that an I/O exception has occurred.
146      * @throws ApexException the apex exception
147      */
148     @Test
149     public void testSequentialContextInstantiationInfinispan() throws ApexModelException, IOException, ApexException {
150         logger.debug("Running testSequentialContextInstantiationInfinispan test . . .");
151
152         new SequentialContextInstantiation().testSequentialContextInstantiation();
153
154         logger.debug("Ran testSequentialContextInstantiationInfinispan test");
155     }
156 }