Statistics
| Branch: | Revision:

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
}