root / trunk / Pithos.Network.Test / FolderTests.cs @ c28a075a
History | View | Annotate | Download (6.7 kB)
1 | 10523ad9 | Panagiotis Kanavos | using System; |
---|---|---|---|
2 | 10523ad9 | Panagiotis Kanavos | using System.Collections.Generic; |
3 | 10523ad9 | Panagiotis Kanavos | using System.Diagnostics; |
4 | 10523ad9 | Panagiotis Kanavos | using System.Diagnostics.Contracts; |
5 | 10523ad9 | Panagiotis Kanavos | using System.Linq; |
6 | 10523ad9 | Panagiotis Kanavos | using System.Text; |
7 | 10523ad9 | Panagiotis Kanavos | using NUnit.Framework; |
8 | 10523ad9 | Panagiotis Kanavos | using Pithos.Interfaces; |
9 | 10523ad9 | Panagiotis Kanavos | using System.IO; |
10 | 10523ad9 | Panagiotis Kanavos | |
11 | 10523ad9 | Panagiotis Kanavos | |
12 | 10523ad9 | Panagiotis Kanavos | namespace Pithos.Network.Test |
13 | 10523ad9 | Panagiotis Kanavos | { |
14 | 10523ad9 | Panagiotis Kanavos | [TestFixture] |
15 | 10523ad9 | Panagiotis Kanavos | class FolderTests |
16 | 10523ad9 | Panagiotis Kanavos | { |
17 | 10523ad9 | Panagiotis Kanavos | private string _apiKey = "9d3cb7b231e96f72ebe96af1c6cd5112"; |
18 | 10523ad9 | Panagiotis Kanavos | private string _userName = "pkanavos"; |
19 | 10523ad9 | Panagiotis Kanavos | |
20 | 10523ad9 | Panagiotis Kanavos | [SetUp] |
21 | 10523ad9 | Panagiotis Kanavos | public void Setup() |
22 | 10523ad9 | Panagiotis Kanavos | { |
23 | 10523ad9 | Panagiotis Kanavos | Directory.CreateDirectory("RootFolder"); |
24 | 10523ad9 | Panagiotis Kanavos | File.WriteAllText(@"RootFolder\TestFile1.txt", "This is a test file"); |
25 | 10523ad9 | Panagiotis Kanavos | Directory.CreateDirectory(@"RootFolder\Folder1"); |
26 | 10523ad9 | Panagiotis Kanavos | File.WriteAllText(@"RootFolder\Folder1\TestFile1.txt", "This is a test file"); |
27 | 10523ad9 | Panagiotis Kanavos | Directory.CreateDirectory(@"RootFolder\Folder1\Subfolder1"); |
28 | 10523ad9 | Panagiotis Kanavos | File.WriteAllText(@"RootFolder\Folder1\Subfolder1\TestFile1.txt", "This is a test file"); |
29 | 10523ad9 | Panagiotis Kanavos | Directory.CreateDirectory(@"RootFolder\Folder2"); |
30 | 10523ad9 | Panagiotis Kanavos | File.WriteAllText(@"RootFolder\Folder2\TestFile1.txt", "This is a test file"); |
31 | 10523ad9 | Panagiotis Kanavos | |
32 | 10523ad9 | Panagiotis Kanavos | } |
33 | 10523ad9 | Panagiotis Kanavos | |
34 | 10523ad9 | Panagiotis Kanavos | [TearDown] |
35 | 10523ad9 | Panagiotis Kanavos | public void TearDown() |
36 | 10523ad9 | Panagiotis Kanavos | { |
37 | 10523ad9 | Panagiotis Kanavos | Directory.Delete("RootFolder",true); |
38 | 10523ad9 | Panagiotis Kanavos | } |
39 | 10523ad9 | Panagiotis Kanavos | |
40 | 10523ad9 | Panagiotis Kanavos | [Test] |
41 | 10523ad9 | Panagiotis Kanavos | public void TestCreateSingleFolder([Values(true, false)]bool usePithos) |
42 | 10523ad9 | Panagiotis Kanavos | { |
43 | c53aa229 | Panagiotis Kanavos | var account = "890329@vho.grnet.gr"; |
44 | c53aa229 | Panagiotis Kanavos | var apiKey = "24989dce4e0fcb072f8cb60c8922be19"; |
45 | c53aa229 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey){ UsePithos = usePithos }; |
46 | c53aa229 | Panagiotis Kanavos | client.Authenticate(); |
47 | 10523ad9 | Panagiotis Kanavos | |
48 | cfed7823 | Panagiotis Kanavos | client.CreateContainer(null, "Pithos"); |
49 | 10523ad9 | Panagiotis Kanavos | |
50 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder"); |
51 | 10523ad9 | Panagiotis Kanavos | |
52 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos","RootFolder")); |
53 | cfed7823 | Panagiotis Kanavos | var info = client.GetObjectInfo(null, "Pithos", "RootFolder"); |
54 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/directory",info.Content_Type); |
55 | 10523ad9 | Panagiotis Kanavos | |
56 | 10523ad9 | Panagiotis Kanavos | } |
57 | 10523ad9 | Panagiotis Kanavos | |
58 | 10523ad9 | Panagiotis Kanavos | [Test] |
59 | 10523ad9 | Panagiotis Kanavos | public void TestCreateSubFolders([Values(true, false)]bool usePithos) |
60 | 10523ad9 | Panagiotis Kanavos | { |
61 | c53aa229 | Panagiotis Kanavos | var account = "890329@vho.grnet.gr"; |
62 | c53aa229 | Panagiotis Kanavos | var apiKey = "24989dce4e0fcb072f8cb60c8922be19"; |
63 | c53aa229 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos }; |
64 | c53aa229 | Panagiotis Kanavos | client.Authenticate(); |
65 | 10523ad9 | Panagiotis Kanavos | |
66 | cfed7823 | Panagiotis Kanavos | client.CreateContainer(null, "Pithos"); |
67 | 10523ad9 | Panagiotis Kanavos | |
68 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder"); |
69 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder/Folder1"); |
70 | cfed7823 | Panagiotis Kanavos | client.PutObject(null, "Pithos","RootFolder/Folder1/test.txt","test.txt"); |
71 | 10523ad9 | Panagiotis Kanavos | |
72 | 10523ad9 | Panagiotis Kanavos | |
73 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder/Folder1")); |
74 | cfed7823 | Panagiotis Kanavos | var folderInfo = client.GetObjectInfo(null, "Pithos", "RootFolder/Folder1"); |
75 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/directory",folderInfo.Content_Type); |
76 | 10523ad9 | Panagiotis Kanavos | |
77 | 10523ad9 | Panagiotis Kanavos | |
78 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder/Folder1/test.txt")); |
79 | cfed7823 | Panagiotis Kanavos | var fileInfo = client.GetObjectInfo(null, "Pithos", "RootFolder/Folder1/test.txt"); |
80 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/octet-stream", fileInfo.Content_Type); |
81 | 10523ad9 | Panagiotis Kanavos | |
82 | 10523ad9 | Panagiotis Kanavos | } |
83 | 10523ad9 | Panagiotis Kanavos | |
84 | 10523ad9 | Panagiotis Kanavos | [Test] |
85 | 10523ad9 | Panagiotis Kanavos | public void TestDeleteSubFolders([Values(true, false)]bool usePithos) |
86 | 10523ad9 | Panagiotis Kanavos | { |
87 | c53aa229 | Panagiotis Kanavos | var account = "890329@vho.grnet.gr"; |
88 | c53aa229 | Panagiotis Kanavos | var apiKey = "24989dce4e0fcb072f8cb60c8922be19"; |
89 | c53aa229 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos }; |
90 | c53aa229 | Panagiotis Kanavos | client.Authenticate(); |
91 | 10523ad9 | Panagiotis Kanavos | |
92 | cfed7823 | Panagiotis Kanavos | client.CreateContainer(null, "Pithos"); |
93 | 10523ad9 | Panagiotis Kanavos | |
94 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder"); |
95 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder/Folder1"); |
96 | 10523ad9 | Panagiotis Kanavos | var localInfo = new FileInfo("test.txt"); |
97 | cfed7823 | Panagiotis Kanavos | client.PutObject(null, "Pithos","RootFolder/Folder1/test.txt","test.txt"); |
98 | 10523ad9 | Panagiotis Kanavos | |
99 | c53aa229 | Panagiotis Kanavos | client.DeleteObject(null, "pithos", "RootFolder/Folder1"); |
100 | 10523ad9 | Panagiotis Kanavos | |
101 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder/Folder1")); |
102 | cfed7823 | Panagiotis Kanavos | var folderInfo = client.GetObjectInfo(null, "Pithos", "RootFolder/Folder1"); |
103 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/directory",folderInfo.Content_Type); |
104 | 10523ad9 | Panagiotis Kanavos | |
105 | 10523ad9 | Panagiotis Kanavos | |
106 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder/Folder1/test.txt")); |
107 | cfed7823 | Panagiotis Kanavos | var fileInfo = client.GetObjectInfo(null, "Pithos", "RootFolder/Folder1/test.txt"); |
108 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/octet-stream", fileInfo.Content_Type); |
109 | 10523ad9 | Panagiotis Kanavos | |
110 | 10523ad9 | Panagiotis Kanavos | } |
111 | 637bc368 | Panagiotis Kanavos | |
112 | 637bc368 | Panagiotis Kanavos | [Test] |
113 | 637bc368 | Panagiotis Kanavos | public void ListFolderContents([Values(true, false)]bool usePithos) |
114 | 637bc368 | Panagiotis Kanavos | { |
115 | c53aa229 | Panagiotis Kanavos | var account = "890329@vho.grnet.gr"; |
116 | c53aa229 | Panagiotis Kanavos | var apiKey = "24989dce4e0fcb072f8cb60c8922be19"; |
117 | c53aa229 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos }; |
118 | c53aa229 | Panagiotis Kanavos | client.Authenticate(); |
119 | 637bc368 | Panagiotis Kanavos | |
120 | cfed7823 | Panagiotis Kanavos | client.CreateContainer(null, "Pithos"); |
121 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder3"); |
122 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder3/Folder1"); |
123 | 637bc368 | Panagiotis Kanavos | |
124 | 637bc368 | Panagiotis Kanavos | |
125 | cfed7823 | Panagiotis Kanavos | client.PutObject(null, "Pithos", "RootFolder3/test1.txt", "test.txt"); |
126 | cfed7823 | Panagiotis Kanavos | client.PutObject(null, "Pithos", "RootFolder3/test2.txt", "test.txt"); |
127 | cfed7823 | Panagiotis Kanavos | client.PutObject(null, "Pithos", "RootFolder3/Folder1/test2.txt", "test.txt"); |
128 | 637bc368 | Panagiotis Kanavos | |
129 | 637bc368 | Panagiotis Kanavos | var files=client.ListObjects("Pithos", "RootFolder3"); |
130 | 637bc368 | Panagiotis Kanavos | Assert.AreEqual(3,files.Count,"Unexpected number of root items"); |
131 | 637bc368 | Panagiotis Kanavos | |
132 | 637bc368 | Panagiotis Kanavos | files = client.ListObjects("Pithos", "RootFolder3/Folder1"); |
133 | 637bc368 | Panagiotis Kanavos | Assert.AreEqual(1, files.Count, "Unexpected number of subfolder items"); |
134 | 637bc368 | Panagiotis Kanavos | |
135 | 637bc368 | Panagiotis Kanavos | |
136 | 637bc368 | Panagiotis Kanavos | |
137 | 637bc368 | Panagiotis Kanavos | } |
138 | 10523ad9 | Panagiotis Kanavos | |
139 | 10523ad9 | Panagiotis Kanavos | [Test] |
140 | 10523ad9 | Panagiotis Kanavos | public void TestCreateSubFoldersInOneStep([Values(true, false)]bool usePithos) |
141 | 10523ad9 | Panagiotis Kanavos | { |
142 | c53aa229 | Panagiotis Kanavos | var account = "890329@vho.grnet.gr"; |
143 | c53aa229 | Panagiotis Kanavos | var apiKey = "24989dce4e0fcb072f8cb60c8922be19"; |
144 | c53aa229 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos }; |
145 | c53aa229 | Panagiotis Kanavos | client.Authenticate(); |
146 | 10523ad9 | Panagiotis Kanavos | |
147 | cfed7823 | Panagiotis Kanavos | client.CreateContainer(null, "Pithos"); |
148 | 10523ad9 | Panagiotis Kanavos | |
149 | cfed7823 | Panagiotis Kanavos | client.CreateFolder(null, "Pithos", "RootFolder2/Folder1"); |
150 | 10523ad9 | Panagiotis Kanavos | |
151 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder2/Folder1")); |
152 | cfed7823 | Panagiotis Kanavos | var folderInfo = client.GetObjectInfo(null, "Pithos", "RootFolder2/Folder1"); |
153 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/directory",folderInfo.Content_Type); |
154 | 10523ad9 | Panagiotis Kanavos | |
155 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder2")); |
156 | cfed7823 | Panagiotis Kanavos | folderInfo = client.GetObjectInfo(null, "Pithos", "RootFolder2"); |
157 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/directory", folderInfo.Content_Type); |
158 | 10523ad9 | Panagiotis Kanavos | |
159 | 10523ad9 | Panagiotis Kanavos | |
160 | cfed7823 | Panagiotis Kanavos | Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder2/Folder1/test.txt")); |
161 | cfed7823 | Panagiotis Kanavos | var fileInfo = client.GetObjectInfo(null, "Pithos", "RootFolder2/Folder1/test.txt"); |
162 | 10523ad9 | Panagiotis Kanavos | Assert.AreEqual(@"application/octet-stream", fileInfo.Content_Type); |
163 | 10523ad9 | Panagiotis Kanavos | |
164 | 10523ad9 | Panagiotis Kanavos | } |
165 | 10523ad9 | Panagiotis Kanavos | } |
166 | 10523ad9 | Panagiotis Kanavos | } |