root / trunk / Pithos.Network.Test / CloudFilesClientTest.cs @ 70c12416
History | View | Annotate | Download (2.8 kB)
1 | 1caef52e | Panagiotis Kanavos | using System; |
---|---|---|---|
2 | 422c9598 | Panagiotis Kanavos | using System.Collections.Concurrent; |
3 | 1caef52e | Panagiotis Kanavos | using System.Collections.Generic; |
4 | 1caef52e | Panagiotis Kanavos | using System.IO; |
5 | 1caef52e | Panagiotis Kanavos | using System.Linq; |
6 | 1caef52e | Panagiotis Kanavos | using System.Text; |
7 | 422c9598 | Panagiotis Kanavos | using System.Threading.Tasks; |
8 | 1caef52e | Panagiotis Kanavos | using NUnit.Framework; |
9 | 1caef52e | Panagiotis Kanavos | |
10 | 1caef52e | Panagiotis Kanavos | namespace Pithos.Network.Test |
11 | 1caef52e | Panagiotis Kanavos | { |
12 | 1caef52e | Panagiotis Kanavos | [TestFixture] |
13 | 1caef52e | Panagiotis Kanavos | class CloudFilesClientTest |
14 | 1caef52e | Panagiotis Kanavos | { |
15 | 1caef52e | Panagiotis Kanavos | [Test] |
16 | 1caef52e | Panagiotis Kanavos | public void TestPutHashMap() |
17 | 1caef52e | Panagiotis Kanavos | { |
18 | c53aa229 | Panagiotis Kanavos | var account = "890329@vho.grnet.gr"; |
19 | c53aa229 | Panagiotis Kanavos | var apiKey = "24989dce4e0fcb072f8cb60c8922be19"; |
20 | c53aa229 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) |
21 | c53aa229 | Panagiotis Kanavos | { |
22 | a27aa447 | Panagiotis Kanavos | AuthenticationUrl = @"https://pithos.dev.grnet.gr", |
23 | a27aa447 | Panagiotis Kanavos | UsePithos = true |
24 | a27aa447 | Panagiotis Kanavos | }; |
25 | c53aa229 | Panagiotis Kanavos | client.Authenticate(); |
26 | a27aa447 | Panagiotis Kanavos | var fileName = @"vlc-1.1.11-win32.exe"; |
27 | 422c9598 | Panagiotis Kanavos | var treeHash=Signature.CalculateTreeHashAsync(Path.Combine(@"e:\pithos\" ,fileName), 4*1024*1024 , "sha256", 2).Result; |
28 | cfed7823 | Panagiotis Kanavos | var result = client.PutHashMap(account, "pithos", fileName, treeHash).Result; |
29 | 1caef52e | Panagiotis Kanavos | |
30 | a27aa447 | Panagiotis Kanavos | Assert.AreEqual(0,result.Count); |
31 | 1caef52e | Panagiotis Kanavos | } |
32 | f734ab5b | Panagiotis Kanavos | |
33 | f734ab5b | Panagiotis Kanavos | [Test] |
34 | f734ab5b | Panagiotis Kanavos | public void TestAuthentication() |
35 | f734ab5b | Panagiotis Kanavos | { |
36 | f734ab5b | Panagiotis Kanavos | var account = "ikons@cslab.ece.ntua.gr"; |
37 | f734ab5b | Panagiotis Kanavos | var apiKey = "fKzKaRd7Uhov+xca4B4rOQ=="; |
38 | f734ab5b | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) |
39 | f734ab5b | Panagiotis Kanavos | { |
40 | f734ab5b | Panagiotis Kanavos | AuthenticationUrl = @"https://plus.pithos.grnet.gr", |
41 | f734ab5b | Panagiotis Kanavos | UsePithos = true |
42 | f734ab5b | Panagiotis Kanavos | }; |
43 | f734ab5b | Panagiotis Kanavos | var accountInfo=client.Authenticate(); |
44 | f734ab5b | Panagiotis Kanavos | var containers=client.ListContainers(accountInfo.UserName); |
45 | f734ab5b | Panagiotis Kanavos | Assert.IsNotNull(containers); |
46 | f734ab5b | Panagiotis Kanavos | var result=client.GetAccountPolicies(accountInfo); |
47 | f734ab5b | Panagiotis Kanavos | |
48 | f734ab5b | Panagiotis Kanavos | Assert.IsNotNull(accountInfo); |
49 | f734ab5b | Panagiotis Kanavos | Assert.IsNotNull(result); |
50 | f734ab5b | Panagiotis Kanavos | } |
51 | a27aa447 | Panagiotis Kanavos | |
52 | a27aa447 | Panagiotis Kanavos | |
53 | 93dc3a84 | Panagiotis Kanavos | [Test] |
54 | 93dc3a84 | Panagiotis Kanavos | public void TestFolders() |
55 | 93dc3a84 | Panagiotis Kanavos | { |
56 | 93dc3a84 | Panagiotis Kanavos | var account = "pkanavos@gmail.com"; |
57 | 93dc3a84 | Panagiotis Kanavos | var apiKey = "kAhnqSZwzzCMMjtPHkuFhw=="; |
58 | 93dc3a84 | Panagiotis Kanavos | |
59 | 93dc3a84 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) |
60 | 93dc3a84 | Panagiotis Kanavos | { |
61 | 93dc3a84 | Panagiotis Kanavos | AuthenticationUrl = @"https://pithos.dev.grnet.gr", |
62 | 93dc3a84 | Panagiotis Kanavos | UsePithos = true |
63 | 93dc3a84 | Panagiotis Kanavos | }; |
64 | 93dc3a84 | Panagiotis Kanavos | var accountInfo = client.Authenticate(); |
65 | 93dc3a84 | Panagiotis Kanavos | var containers = client.ListContainers(accountInfo.UserName); |
66 | 93dc3a84 | Panagiotis Kanavos | Assert.IsNotNull(containers); |
67 | 93dc3a84 | Panagiotis Kanavos | var result = client.GetAccountPolicies(accountInfo); |
68 | 93dc3a84 | Panagiotis Kanavos | |
69 | 93dc3a84 | Panagiotis Kanavos | Assert.IsNotNull(accountInfo); |
70 | 93dc3a84 | Panagiotis Kanavos | Assert.IsNotNull(result); |
71 | 93dc3a84 | Panagiotis Kanavos | |
72 | 93dc3a84 | Panagiotis Kanavos | |
73 | 93dc3a84 | Panagiotis Kanavos | var pithos=containers.First(c => c.Name == "pithos"); |
74 | 93dc3a84 | Panagiotis Kanavos | var directories=client.ListObjects(account,"pithos","").Where(info=>info.Content_Type=="application/directory"); |
75 | 93dc3a84 | Panagiotis Kanavos | Assert.That(directories,!Is.Empty); |
76 | 93dc3a84 | Panagiotis Kanavos | Assert.IsTrue(directories.All(info=>info.Content_Type=="application/directory")); |
77 | 93dc3a84 | Panagiotis Kanavos | } |
78 | 93dc3a84 | Panagiotis Kanavos | |
79 | 93dc3a84 | Panagiotis Kanavos | |
80 | 93dc3a84 | Panagiotis Kanavos | |
81 | a27aa447 | Panagiotis Kanavos | |
82 | 1caef52e | Panagiotis Kanavos | } |
83 | 1caef52e | Panagiotis Kanavos | } |