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