eb729ad6d1a015ac92e5db3bfb2d320b24cd103b
[policy/drools-applications.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.controlloop.common.rules.test;
22
23 import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
24 import org.onap.policy.common.endpoints.http.client.HttpClientFactory;
25 import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
26 import org.onap.policy.drools.persistence.SystemPersistenceConstants;
27
28 /**
29  * Mechanism by which junit tests can manage HTTP Clients.
30  */
31 public class HttpClients {
32
33     /**
34      * Constructs the object.
35      */
36     public HttpClients() {
37         super();
38     }
39
40
41     /**
42      * Adds Http Clients specified in the property file.
43      *
44      * @param propFilePrefix prefix prepended to "-http-client.properties" to yield the
45      *        full name of the property file containing http client properties
46      */
47     public void addClients(String propFilePrefix) {
48         try {
49             getClientFactory().build(SystemPersistenceConstants.getManager().getHttpClientProperties(propFilePrefix));
50         } catch (HttpClientConfigException e) {
51             throw new IllegalArgumentException("cannot initialize HTTP clients", e);
52         }
53     }
54
55     /**
56      * Destroys all Http Clients.
57      */
58     public void destroy() {
59         getClientFactory().destroy();
60     }
61
62     // these methods may be overridden by junit tests
63
64     protected HttpClientFactory getClientFactory() {
65         return HttpClientFactoryInstance.getClientFactory();
66     }
67 }