root / trunk / Pithos.Network.Test / CloudFilesClientTest.cs @ c875d683
History | View | Annotate | Download (3.6 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 | c875d683 | pkanavos | using System.Threading; |
8 | 422c9598 | Panagiotis Kanavos | using System.Threading.Tasks; |
9 | 1caef52e | Panagiotis Kanavos | using NUnit.Framework; |
10 | 1caef52e | Panagiotis Kanavos | |
11 | 1caef52e | Panagiotis Kanavos | namespace Pithos.Network.Test |
12 | 1caef52e | Panagiotis Kanavos | { |
13 | 1caef52e | Panagiotis Kanavos | [TestFixture] |
14 | 1caef52e | Panagiotis Kanavos | class CloudFilesClientTest |
15 | 1caef52e | Panagiotis Kanavos | { |
16 | 1caef52e | Panagiotis Kanavos | [Test] |
17 | 1caef52e | Panagiotis Kanavos | public void TestPutHashMap() |
18 | 1caef52e | Panagiotis Kanavos | { |
19 | c53aa229 | Panagiotis Kanavos | var account = "890329@vho.grnet.gr"; |
20 | c53aa229 | Panagiotis Kanavos | var apiKey = "24989dce4e0fcb072f8cb60c8922be19"; |
21 | c53aa229 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) |
22 | c53aa229 | Panagiotis Kanavos | { |
23 | a27aa447 | Panagiotis Kanavos | AuthenticationUrl = @"https://pithos.dev.grnet.gr", |
24 | a27aa447 | Panagiotis Kanavos | UsePithos = true |
25 | a27aa447 | Panagiotis Kanavos | }; |
26 | c53aa229 | Panagiotis Kanavos | client.Authenticate(); |
27 | a27aa447 | Panagiotis Kanavos | var fileName = @"vlc-1.1.11-win32.exe"; |
28 | c875d683 | pkanavos | var treeHash = Signature.CalculateTreeHashAsync(Path.Combine(@"e:\pithos\", fileName), 4 * 1024 * 1024, "sha256", 2,CancellationToken.None, new Progress<double>()); |
29 | cfed7823 | Panagiotis Kanavos | var result = client.PutHashMap(account, "pithos", fileName, treeHash).Result; |
30 | 1caef52e | Panagiotis Kanavos | |
31 | a27aa447 | Panagiotis Kanavos | Assert.AreEqual(0,result.Count); |
32 | 1caef52e | Panagiotis Kanavos | } |
33 | f734ab5b | Panagiotis Kanavos | |
34 | f734ab5b | Panagiotis Kanavos | [Test] |
35 | f734ab5b | Panagiotis Kanavos | public void TestAuthentication() |
36 | f734ab5b | Panagiotis Kanavos | { |
37 | f734ab5b | Panagiotis Kanavos | var account = "ikons@cslab.ece.ntua.gr"; |
38 | f734ab5b | Panagiotis Kanavos | var apiKey = "fKzKaRd7Uhov+xca4B4rOQ=="; |
39 | f734ab5b | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) |
40 | f734ab5b | Panagiotis Kanavos | { |
41 | f734ab5b | Panagiotis Kanavos | AuthenticationUrl = @"https://plus.pithos.grnet.gr", |
42 | f734ab5b | Panagiotis Kanavos | UsePithos = true |
43 | f734ab5b | Panagiotis Kanavos | }; |
44 | f734ab5b | Panagiotis Kanavos | var accountInfo=client.Authenticate(); |
45 | f734ab5b | Panagiotis Kanavos | var containers=client.ListContainers(accountInfo.UserName); |
46 | f734ab5b | Panagiotis Kanavos | Assert.IsNotNull(containers); |
47 | f734ab5b | Panagiotis Kanavos | var result=client.GetAccountPolicies(accountInfo); |
48 | f734ab5b | Panagiotis Kanavos | |
49 | f734ab5b | Panagiotis Kanavos | Assert.IsNotNull(accountInfo); |
50 | f734ab5b | Panagiotis Kanavos | Assert.IsNotNull(result); |
51 | f734ab5b | Panagiotis Kanavos | } |
52 | a27aa447 | Panagiotis Kanavos | |
53 | a27aa447 | Panagiotis Kanavos | |
54 | 93dc3a84 | Panagiotis Kanavos | [Test] |
55 | 93dc3a84 | Panagiotis Kanavos | public void TestFolders() |
56 | 93dc3a84 | Panagiotis Kanavos | { |
57 | 93dc3a84 | Panagiotis Kanavos | var account = "pkanavos@gmail.com"; |
58 | 93dc3a84 | Panagiotis Kanavos | var apiKey = "kAhnqSZwzzCMMjtPHkuFhw=="; |
59 | 93dc3a84 | Panagiotis Kanavos | |
60 | 93dc3a84 | Panagiotis Kanavos | var client = new CloudFilesClient(account, apiKey) |
61 | 93dc3a84 | Panagiotis Kanavos | { |
62 | 93dc3a84 | Panagiotis Kanavos | AuthenticationUrl = @"https://pithos.dev.grnet.gr", |
63 | 93dc3a84 | Panagiotis Kanavos | UsePithos = true |
64 | 93dc3a84 | Panagiotis Kanavos | }; |
65 | 93dc3a84 | Panagiotis Kanavos | var accountInfo = client.Authenticate(); |
66 | 93dc3a84 | Panagiotis Kanavos | var containers = client.ListContainers(accountInfo.UserName); |
67 | 93dc3a84 | Panagiotis Kanavos | Assert.IsNotNull(containers); |
68 | 93dc3a84 | Panagiotis Kanavos | var result = client.GetAccountPolicies(accountInfo); |
69 | 93dc3a84 | Panagiotis Kanavos | |
70 | 93dc3a84 | Panagiotis Kanavos | Assert.IsNotNull(accountInfo); |
71 | 93dc3a84 | Panagiotis Kanavos | Assert.IsNotNull(result); |
72 | 93dc3a84 | Panagiotis Kanavos | |
73 | 93dc3a84 | Panagiotis Kanavos | |
74 | 93dc3a84 | Panagiotis Kanavos | var pithos=containers.First(c => c.Name == "pithos"); |
75 | 268bec7f | pkanavos | var directories=client.ListObjects(account,"pithos","").Where(info=>info.IsDirectory); |
76 | 93dc3a84 | Panagiotis Kanavos | Assert.That(directories,!Is.Empty); |
77 | 268bec7f | pkanavos | Assert.IsTrue(directories.All(info=>info.IsDirectory)); |
78 | 93dc3a84 | Panagiotis Kanavos | } |
79 | 93dc3a84 | Panagiotis Kanavos | |
80 | 93dc3a84 | Panagiotis Kanavos | |
81 | 2b0ec5b8 | pkanavos | [Test] |
82 | 2b0ec5b8 | pkanavos | public void TestBlockRange() |
83 | 2b0ec5b8 | pkanavos | { |
84 | 2b0ec5b8 | pkanavos | var account = "--"; |
85 | 2b0ec5b8 | pkanavos | var apiKey = "--"; |
86 | 2b0ec5b8 | pkanavos | |
87 | 2b0ec5b8 | pkanavos | var client = new CloudFilesClient(account, apiKey) |
88 | 2b0ec5b8 | pkanavos | { |
89 | 2b0ec5b8 | pkanavos | AuthenticationUrl = @"https://pithos.dev.grnet.gr", |
90 | 2b0ec5b8 | pkanavos | UsePithos = true |
91 | 2b0ec5b8 | pkanavos | }; |
92 | 2b0ec5b8 | pkanavos | |
93 | 2b0ec5b8 | pkanavos | var blockSize = 4*1024*1024L; |
94 | 2b0ec5b8 | pkanavos | |
95 | 2b0ec5b8 | pkanavos | long endBlock = 512*blockSize; |
96 | 2b0ec5b8 | pkanavos | //ulong endBlokcL = 512*blockSize; |
97 | 2b0ec5b8 | pkanavos | |
98 | 2b0ec5b8 | pkanavos | Assert.That(endBlock,Is.GreaterThan(0)); |
99 | 2b0ec5b8 | pkanavos | /* |
100 | 2b0ec5b8 | pkanavos | client.GetBlock(account,"Pithos",new Uri("somefile"),) |
101 | 2b0ec5b8 | pkanavos | //var accountInfo = client.Authenticate(); |
102 | 2b0ec5b8 | pkanavos | var containers = client.ListContainers(accountInfo.UserName); |
103 | 2b0ec5b8 | pkanavos | */ |
104 | 2b0ec5b8 | pkanavos | } |
105 | 2b0ec5b8 | pkanavos | |
106 | 93dc3a84 | Panagiotis Kanavos | |
107 | a27aa447 | Panagiotis Kanavos | |
108 | 1caef52e | Panagiotis Kanavos | } |
109 | 1caef52e | Panagiotis Kanavos | } |