Statistics
| Branch: | Revision:

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
}