Merge "Update model-loader dependencies"
[aai/model-loader.git] / src / test / java / org / onap / aai / modelloader / util / ArtifactTestUtils.java
index c7a1506..50074f1 100644 (file)
@@ -1,34 +1,63 @@
 /**
- * ============LICENSE_START==========================================
+ * ============LICENSE_START=======================================================
  * org.onap.aai
- * ===================================================================
+ * ================================================================================
  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2018 Amdocs
- * ===================================================================
+ * Copyright © 2017-2018 European Software Marketing Ltd.
+ * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *        http://www.apache.org/licenses/LICENSE-2.0
+ *       http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * ============LICENSE_END============================================
+ * ============LICENSE_END=========================================================
  */
 package org.onap.aai.modelloader.util;
 
 import java.io.IOException;
+import java.net.URL;
 import org.apache.commons.io.IOUtils;
+import org.onap.aai.babel.service.data.BabelArtifact;
 
 /**
  * This class provides some utilities to assist with running tests.
  */
 public class ArtifactTestUtils {
+    public static BabelArtifact loadModelArtifact(String resource) throws IOException {
+        return new BabelArtifact("ModelArtifact", BabelArtifact.ArtifactType.MODEL,
+                ArtifactTestUtils.loadResourceAsString(resource));
+    }
 
+    /**
+     * Finds the resource with the given name and returns it as an array of bytes.
+     *
+     * @param resourceName
+     *        the /-separated path to the resource
+     * @return the requested resource contents as a byte array
+     * @throws IOException
+     *         if the resource could not be found (using current privileges)
+     */
     public byte[] loadResource(String resourceName) throws IOException {
-        return IOUtils.toByteArray(ArtifactTestUtils.class.getClassLoader().getResource(resourceName));
+        URL resource = getResource(resourceName);
+        if (resource != null) {
+            return IOUtils.toByteArray(resource);
+        } else {
+            throw new IOException("Cannot locate resource: " + resourceName);
+        }
+    }
+
+    public static String loadResourceAsString(String resourceName) throws IOException {
+        return IOUtils.toString(getResource(resourceName));
     }
+
+    private static URL getResource(String resourceName) {
+        return ArtifactTestUtils.class.getClassLoader().getResource(resourceName);
+    }
+
 }