2 using System.Collections.Concurrent;
3 using System.Collections.Generic;
7 using System.Threading.Tasks;
10 namespace Pithos.Network.Test
13 class CloudFilesClientTest
16 public void TestPutHashMap()
18 var account = "890329@vho.grnet.gr";
19 var apiKey = "24989dce4e0fcb072f8cb60c8922be19";
20 var client = new CloudFilesClient(account, apiKey)
22 AuthenticationUrl = @"https://pithos.dev.grnet.gr",
25 client.Authenticate();
26 var fileName = @"vlc-1.1.11-win32.exe";
27 var treeHash=Signature.CalculateTreeHashAsync(Path.Combine(@"e:\pithos\" ,fileName), 4*1024*1024 , "sha256", 2).Result;
28 var result = client.PutHashMap(account, "pithos", fileName, treeHash).Result;
30 Assert.AreEqual(0,result.Count);
34 public void TestAuthentication()
36 var account = "ikons@cslab.ece.ntua.gr";
37 var apiKey = "fKzKaRd7Uhov+xca4B4rOQ==";
38 var client = new CloudFilesClient(account, apiKey)
40 AuthenticationUrl = @"https://plus.pithos.grnet.gr",
43 var accountInfo=client.Authenticate();
44 var containers=client.ListContainers(accountInfo.UserName);
45 Assert.IsNotNull(containers);
46 var result=client.GetAccountPolicies(accountInfo);
48 Assert.IsNotNull(accountInfo);
49 Assert.IsNotNull(result);
54 public void TestFolders()
56 var account = "pkanavos@gmail.com";
57 var apiKey = "kAhnqSZwzzCMMjtPHkuFhw==";
59 var client = new CloudFilesClient(account, apiKey)
61 AuthenticationUrl = @"https://pithos.dev.grnet.gr",
64 var accountInfo = client.Authenticate();
65 var containers = client.ListContainers(accountInfo.UserName);
66 Assert.IsNotNull(containers);
67 var result = client.GetAccountPolicies(accountInfo);
69 Assert.IsNotNull(accountInfo);
70 Assert.IsNotNull(result);
73 var pithos=containers.First(c => c.Name == "pithos");
74 var directories=client.ListObjects(account,"pithos","").Where(info=>info.Content_Type=="application/directory");
75 Assert.That(directories,!Is.Empty);
76 Assert.IsTrue(directories.All(info=>info.Content_Type=="application/directory"));