916795debfb01bc2ea252628c5e2127f491fd6ad
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-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.executor.test.script.engine;
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.core.engine.EngineParameters;
33 import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
34 import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
35 import org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters;
36 import org.onap.policy.common.parameters.ParameterService;
37
38 public class TestApexEngineJRuby {
39     private SchemaParameters schemaParameters;
40     private ContextParameters contextParameters;
41     private EngineParameters engineParameters;
42
43     @Before
44     public void beforeTest() {
45         schemaParameters = new SchemaParameters();
46         
47         schemaParameters.setName(ContextParameterConstants.SCHEMA_GROUP_NAME);
48         schemaParameters.getSchemaHelperParameterMap().put("JAVA", new JavaSchemaHelperParameters());
49
50         ParameterService.register(schemaParameters);
51         
52         contextParameters = new ContextParameters();
53
54         contextParameters.setName(ContextParameterConstants.MAIN_GROUP_NAME);
55         contextParameters.getDistributorParameters().setName(ContextParameterConstants.DISTRIBUTOR_GROUP_NAME);
56         contextParameters.getLockManagerParameters().setName(ContextParameterConstants.LOCKING_GROUP_NAME);
57         contextParameters.getPersistorParameters().setName(ContextParameterConstants.PERSISTENCE_GROUP_NAME);
58
59         ParameterService.register(contextParameters);
60         ParameterService.register(contextParameters.getDistributorParameters());
61         ParameterService.register(contextParameters.getLockManagerParameters());
62         ParameterService.register(contextParameters.getPersistorParameters());
63         
64         engineParameters = new EngineParameters();
65         engineParameters.getExecutorParameterMap().put("JRUBY", new JrubyExecutorParameters());
66         ParameterService.register(engineParameters);
67     }
68
69     @After
70     public void afterTest() {
71         ParameterService.deregister(engineParameters);
72         
73         ParameterService.deregister(contextParameters.getDistributorParameters());
74         ParameterService.deregister(contextParameters.getLockManagerParameters());
75         ParameterService.deregister(contextParameters.getPersistorParameters());
76         ParameterService.deregister(contextParameters);
77
78         ParameterService.deregister(schemaParameters);
79     }
80
81     /**
82      * Test apex engine.
83      *
84      * @throws ApexException the apex exception
85      * @throws InterruptedException the interrupted exception
86      * @throws IOException Signals that an I/O exception has occurred.
87      */
88     @Test
89     public void testApexEngineJRuby() throws ApexException, InterruptedException, IOException {
90         new TestApexEngine("JRUBY", engineParameters);
91         ThreadUtilities.sleep(5000);
92         new TestApexEngine("JRUBY", engineParameters);
93     }
94 }