blob: 5a297d9b17cf129a9f27674da0af00a890371160 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
*
* 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.
*/
package org.apache.nifi.components.resource;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.util.Collections;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class TestStandardResourceReferenceFactory {
private final StandardResourceReferenceFactory subject = new StandardResourceReferenceFactory();
@Test
public void testCreateResourceReferences() {
String value = "/dir1/test1.jar,/dir2/test2.jar";
ResourceDefinition resourceDefinition = createResourceDefinition();
ResourceReferences resourceReferences = subject.createResourceReferences(value, resourceDefinition);
assertNotNull(resourceReferences);
List<ResourceReference> resourceReferencesList = resourceReferences.asList();
assertNotNull(resourceReferencesList);
assertEquals(2, resourceReferencesList.size());
assertResourceReference(resourceReferencesList.get(0), "/dir1/test1.jar");
assertResourceReference(resourceReferencesList.get(1), "/dir2/test2.jar");
}
@Test
public void testCreateResourceReferencesWhenValueIsNull() {
String value = null;
ResourceDefinition resourceDefinition = createResourceDefinition();
ResourceReferences resourceReferences = subject.createResourceReferences(value, resourceDefinition);
assertEmptyResourceReferences(resourceReferences);
}
@Test
public void testCreateResourceReferencesWhenValueIsEmpty() {
String value = "";
ResourceDefinition resourceDefinition = createResourceDefinition();
ResourceReferences resourceReferences = subject.createResourceReferences(value, resourceDefinition);
assertEmptyResourceReferences(resourceReferences);
}
@Test
public void testCreateResourceReferencesWhenResourceDefinitionIsNull() {
String value = "/dir1/test1.jar";
ResourceDefinition resourceDefinition = null;
ResourceReferences resourceReferences = subject.createResourceReferences(value, resourceDefinition);
assertEmptyResourceReferences(resourceReferences);
}
private StandardResourceDefinition createResourceDefinition() {
return new StandardResourceDefinition(ResourceCardinality.SINGLE, Collections.singleton(ResourceType.FILE));
}
private void assertResourceReference(ResourceReference resourceReference, String location) {
assertEquals(new File(location).getAbsolutePath(), resourceReference.getLocation());
assertEquals(ResourceType.FILE, resourceReference.getResourceType());
}
private void assertEmptyResourceReferences(ResourceReferences resourceReferences) {
assertNotNull(resourceReferences);
assertNotNull(resourceReferences.asList());
assertTrue(resourceReferences.asList().isEmpty());
}
}