resource-manager/resource-manager-api/src/test/java/de/nclazz/resources/ResourceTest.java

52 lines
1.5 KiB
Java

package de.nclazz.resources;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
class ResourceTest {
@Test
void testResourceFromFile() {
Resource resource = Resource.fromFile(new File("src/test/resources/data/airplane.png"));
assertResource(resource, "from File");
}
@Test
void testResourceFromResourceStream() {
Resource resource = Resource.fromStream(ResourceTest.class.getResourceAsStream("/data/airplane.png"));
assertResource(resource, "from Stream");
}
@Test
void testResourceFromResource() {
Resource resource = Resource.fromClasspath("/data/airplane.png");
assertResource(resource, "from Resource");
}
static List<String> urls = Arrays.asList("https://homepages.cae.wisc.edu/~ece533/images/airplane.png",
"file:///" + System.getProperty("user.dir") + "/src/test/resources/data/airplane.png",
"classpath:/data/airplane.png");
@Test
void testResourceFromURL() throws Exception {
for (String url : urls) {
assertResource(Resource.fromURL(new URL(url)), url);
}
}
void assertResource(Resource resource, String message) {
assertNotNull(resource, message);
assertTrue(resource.exists(), message);
assertTrue(resource.getInputStream().isPresent(), message);
}
}