1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.io.build;
18
19 import static org.junit.jupiter.api.Assertions.assertNotEquals;
20
21 import java.io.IOException;
22 import java.io.InputStream;
23 import java.net.URI;
24 import java.nio.file.Files;
25 import java.nio.file.Path;
26 import java.nio.file.Paths;
27 import java.nio.file.StandardOpenOption;
28
29 import org.apache.commons.io.build.AbstractOrigin.URIOrigin;
30 import org.apache.commons.lang3.ArrayUtils;
31 import org.junit.jupiter.api.Test;
32 import org.junit.jupiter.params.ParameterizedTest;
33 import org.junit.jupiter.params.provider.ValueSource;
34
35
36
37
38
39
40
41
42 class URIOriginTest extends AbstractOriginTest<URI, URIOrigin> {
43
44 @Override
45 protected URIOrigin newOriginRo() {
46 return new URIOrigin(Paths.get(FILE_NAME_RO).toUri());
47 }
48
49 @Override
50 protected URIOrigin newOriginRw() {
51 return new URIOrigin(tempPath.resolve(FILE_NAME_RW).toUri());
52 }
53
54 @Override
55 protected void resetOriginRw() throws IOException {
56
57 final Path rwPath = tempPath.resolve(FILE_NAME_RW);
58 Files.write(rwPath, ArrayUtils.EMPTY_BYTE_ARRAY, StandardOpenOption.CREATE);
59 }
60
61 @ParameterizedTest
62 @ValueSource(strings = {
63 "http://apache.com",
64 "https://apache.com"
65 })
66 void testGetInputStream(final String uri) throws Exception {
67 final AbstractOrigin.URIOrigin origin = new AbstractOrigin.URIOrigin(new URI(uri));
68 try (InputStream in = origin.getInputStream()) {
69 assertNotEquals(-1, in.read());
70 }
71 }
72
73 @Test
74 void testGetInputStreamFileURI() throws Exception {
75 final AbstractOrigin.URIOrigin origin = getOriginRo().asThis();
76 try (InputStream in = origin.getInputStream()) {
77 assertNotEquals(-1, in.read());
78 }
79 }
80 }