1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider.tar;
18
19 import static org.apache.commons.vfs2.VfsTestUtils.getTestResource;
20
21 import junit.framework.Test;
22
23 import org.apache.commons.vfs2.AbstractProviderTestConfig;
24 import org.apache.commons.vfs2.FileObject;
25 import org.apache.commons.vfs2.FileSystemManager;
26 import org.apache.commons.vfs2.FileSystemOptions;
27 import org.apache.commons.vfs2.ProviderTestSuite;
28 import org.apache.commons.vfs2.auth.StaticUserAuthenticator;
29 import org.apache.commons.vfs2.impl.DefaultFileSystemConfigBuilder;
30 import org.apache.commons.vfs2.impl.DefaultFileSystemManager;
31
32
33
34
35 public class NestedTarTestCase extends AbstractProviderTestConfig {
36
37
38
39
40 public static Test suite() throws Exception {
41 return new ProviderTestSuite(new NestedTarTestCase(), true);
42 }
43
44
45
46
47 @Override
48 public FileObject getBaseTestFolder(final FileSystemManager manager) throws Exception {
49
50 final FileSystemOptions opts = new FileSystemOptions();
51 DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts,
52 new StaticUserAuthenticator("domain", null, null));
53
54
55 final String tarFilePath = getTestResource("nested.tar").getAbsolutePath();
56
57
58 final String uri = "tar:file:" + tarFilePath + "!/test.tar";
59 final FileObject tarFile = manager.resolveFile(uri, opts);
60 final FileObject nestedFS = manager.createFileSystem(tarFile);
61 return nestedFS.resolveFile("/");
62 }
63
64
65
66
67 @Override
68 public void prepare(final DefaultFileSystemManager manager) throws Exception {
69 manager.addProvider("tar", new TarFileProvider());
70 manager.addExtensionMap("tar", "tar");
71 manager.addMimeTypeMap(MIME_TYPE_APPLICATION_X_TAR, "tar");
72 }
73
74 }