2 using System.Collections.Generic;
3 using System.Diagnostics;
4 using System.Diagnostics.Contracts;
8 using Pithos.Interfaces;
12 namespace Pithos.Network.Test
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");
32 public void TearDown()
34 Directory.Delete("RootFolder",true);
38 public void TestCreateSingleFolder([Values(true, false)]bool usePithos)
40 var account = "890329@vho.grnet.gr";
41 var apiKey = "24989dce4e0fcb072f8cb60c8922be19";
42 var client = new CloudFilesClient(account, apiKey){ UsePithos = usePithos };
43 client.Authenticate();
45 client.CreateContainer(null, "Pithos");
47 client.CreateFolder(null, "Pithos", "RootFolder");
49 Assert.IsTrue(client.ObjectExists(null, "Pithos","RootFolder"));
50 var info = client.GetObjectInfo(null, "Pithos", "RootFolder");
51 Assert.AreEqual(@"application/directory",info.Content_Type);
56 public void TestCreateSubFolders([Values(true, false)]bool usePithos)
58 var account = "890329@vho.grnet.gr";
59 var apiKey = "24989dce4e0fcb072f8cb60c8922be19";
60 var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos };
61 client.Authenticate();
63 client.CreateContainer(null, "Pithos");
65 client.CreateFolder(null, "Pithos", "RootFolder");
66 client.CreateFolder(null, "Pithos", "RootFolder/Folder1");
67 client.PutObject(null, "Pithos","RootFolder/Folder1/test.txt","test.txt");
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);
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);
82 public void TestDeleteSubFolders([Values(true, false)]bool usePithos)
84 var account = "890329@vho.grnet.gr";
85 var apiKey = "24989dce4e0fcb072f8cb60c8922be19";
86 var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos };
87 client.Authenticate();
89 client.CreateContainer(null, "Pithos");
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");
96 client.DeleteObject(null, "pithos", "RootFolder/Folder1", false);
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);
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);
110 public void ListFolderContents([Values(true, false)]bool usePithos)
112 var account = "890329@vho.grnet.gr";
113 var apiKey = "24989dce4e0fcb072f8cb60c8922be19";
114 var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos };
115 client.Authenticate();
117 client.CreateContainer(null, "Pithos");
118 client.CreateFolder(null, "Pithos", "RootFolder3");
119 client.CreateFolder(null, "Pithos", "RootFolder3/Folder1");
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");
126 var files=client.ListObjects("Pithos", "RootFolder3");
127 Assert.AreEqual(3,files.Count,"Unexpected number of root items");
129 files = client.ListObjects("Pithos", "RootFolder3/Folder1");
130 Assert.AreEqual(1, files.Count, "Unexpected number of subfolder items");
137 public void TestCreateSubFoldersInOneStep([Values(true, false)]bool usePithos)
139 var account = "890329@vho.grnet.gr";
140 var apiKey = "24989dce4e0fcb072f8cb60c8922be19";
141 var client = new CloudFilesClient(account, apiKey) { UsePithos = usePithos };
142 client.Authenticate();
144 client.CreateContainer(null, "Pithos");
146 client.CreateFolder(null, "Pithos", "RootFolder2/Folder1");
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);
152 Assert.IsTrue(client.ObjectExists(null, "Pithos", "RootFolder2"));
153 folderInfo = client.GetObjectInfo(null, "Pithos", "RootFolder2");
154 Assert.AreEqual(@"application/directory", folderInfo.Content_Type);
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);