Added oparent to sdc main
[sdc.git] / catalog-dao / src / test / java / org / openecomp / sdc / be / utils / FixtureHelpers.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 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.openecomp.sdc.be.utils;
22
23 import com.google.common.io.Resources;
24
25 import java.io.IOException;
26 import java.net.URL;
27 import java.nio.charset.Charset;
28 import java.nio.charset.StandardCharsets;
29
30 /**
31  * A set of helper method for fixture files.
32  */
33 public class FixtureHelpers {
34
35     private FixtureHelpers() {
36         // singleton
37     }
38
39     /**
40      * Reads the given fixture file from the classpath (e. g. {@code src/test/resources})
41      * and returns its contents as a UTF-8 string.
42      *
43      * @param filename the filename of the fixture file
44      * @return the contents of {@code src/test/resources/{filename}}
45      * @throws IllegalArgumentException if an I/O error occurs.
46      */
47     public static String fixture(String filename) {
48         return fixture(filename, StandardCharsets.UTF_8);
49     }
50
51     /**
52      * Reads the given fixture file from the classpath (e. g. {@code src/test/resources})
53      * and returns its contents as a string.
54      *
55      * @param filename the filename of the fixture file
56      * @param charset the character set of {@code filename}
57      * @return the contents of {@code src/test/resources/{filename}}
58      * @throws IllegalArgumentException if an I/O error occurs.
59      */
60     private static String fixture(String filename, Charset charset) {
61         try {
62             URL url = Resources.getResource(filename);
63             String text = Resources.toString(url, charset);
64             return text.trim();
65         }
66         catch (IOException e) {
67             throw new IllegalArgumentException(e);
68         }
69     }
70 }