2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System / Test / System.Net / CredentialCacheTest.cs
1 //\r
2 // CredentialCacheTest.cs - NUnit Test Cases for System.Net.CredentialCache\r
3 //\r
4 // Author:\r
5 //   Lawrence Pit (loz@cable.a2000.nl)\r
6 //\r
7 \r
8 using NUnit.Framework;\r
9 using System;\r
10 using System.Net;\r
11 using System.Collections;\r
12 using System.Security;\r
13 using System.Security.Permissions;\r
14 \r
15 namespace MonoTests.System.Net\r
16 {\r
17 \r
18 [TestFixture]\r
19 public class CredentialCacheTest\r
20 {\r
21         [Test]        \r
22         public void All ()\r
23         {\r
24                 CredentialCache c = new CredentialCache ();\r
25                 \r
26                 NetworkCredential cred1 = new NetworkCredential ("user1", "pwd1");\r
27                 NetworkCredential cred2 = new NetworkCredential ("user2", "pwd2");\r
28                 NetworkCredential cred3 = new NetworkCredential ("user3", "pwd3");\r
29                 NetworkCredential cred4 = new NetworkCredential ("user4", "pwd4");\r
30                 NetworkCredential cred5 = new NetworkCredential ("user5", "pwd5");\r
31                 \r
32                 c.Add (new Uri ("http://www.ximian.com"), "Basic", cred1);\r
33                 c.Add (new Uri ("http://www.ximian.com"), "Kerberos", cred2);\r
34                 \r
35                 c.Add (new Uri ("http://www.contoso.com/portal/news/index.aspx"), "Basic", cred1);\r
36                 c.Add (new Uri ("http://www.contoso.com/portal/news/index.aspx?item=1"), "Basic", cred2);\r
37                 c.Add (new Uri ("http://www.contoso.com/portal/news/index.aspx?item=12"), "Basic", cred3);\r
38                 c.Add (new Uri ("http://www.contoso.com/portal/"), "Basic", cred4);\r
39                 c.Add (new Uri ("http://www.contoso.com"), "Basic", cred5);\r
40                 \r
41                 NetworkCredential result = null;\r
42         \r
43                 try {\r
44                         c.Add (new Uri("http://www.ximian.com"), "Basic", cred1);\r
45                         Assertion.Fail ("#1: should have failed");\r
46                 } catch (ArgumentException) { }\r
47 \r
48                 c.Add (new Uri("http://www.contoso.com/"), "**Unknown**", cred1);\r
49                 result = c.GetCredential (new Uri("http://www.contoso.com/"), "**Unknown**");\r
50                 Assertion.AssertEquals ("#3", result, cred1);\r
51                 c.Remove (new Uri("http://www.contoso.com/"), "**Unknown**");\r
52                 result = c.GetCredential (new Uri("http://www.contoso.com/"), "**Unknown**");\r
53                 Assertion.Assert ("#4", result == null);\r
54 \r
55                 c.Add (new Uri("http://www.contoso.com/"), "**Unknown**", cred1);\r
56                 result = c.GetCredential (new Uri("http://www.contoso.com"), "**Unknown**");\r
57                 Assertion.AssertEquals ("#5", result, cred1);\r
58                 c.Remove (new Uri("http://www.contoso.com"), "**Unknown**");\r
59                 result = c.GetCredential (new Uri("http://www.contoso.com"), "**Unknown**");\r
60                 Assertion.Assert ("#6", result == null);\r
61 \r
62                 c.Add (new Uri("http://www.contoso.com/portal/"), "**Unknown**", cred1);\r
63                 result = c.GetCredential (new Uri("http://www.contoso.com/portal/foo/bar.html"), "**Unknown**");\r
64                 Assertion.AssertEquals ("#7", result, cred1);\r
65                 c.Remove (new Uri("http://www.contoso.com"), "**Unknown**");\r
66                 result = c.GetCredential (new Uri("http://www.contoso.com"), "**Unknown**");\r
67                 Assertion.Assert ("#8", result == null);\r
68 \r
69                 result = c.GetCredential (new Uri("http://www.contoso.com:80/portal/news/index.aspx"), "Basic");\r
70                 Assertion.AssertEquals ("#9", result, cred3);\r
71 \r
72                 result = c.GetCredential (new Uri("http://www.contoso.com:80/portal/news/index"), "Basic");\r
73                 Assertion.AssertEquals ("#10", result, cred3);\r
74 \r
75                 result = c.GetCredential (new Uri("http://www.contoso.com:80/portal/news/"), "Basic");\r
76                 Assertion.AssertEquals ("#11", result, cred3);\r
77                 \r
78                 result = c.GetCredential (new Uri("http://www.contoso.com:80/portal/news"), "Basic");\r
79                 Assertion.AssertEquals ("#12", result, cred4);\r
80 \r
81                 result = c.GetCredential (new Uri("http://www.contoso.com:80/portal/ne"), "Basic");\r
82                 Assertion.AssertEquals ("#13", result, cred4);\r
83 \r
84                 result = c.GetCredential (new Uri("http://www.contoso.com:80/portal/"), "Basic");\r
85                 Assertion.AssertEquals ("#14", result, cred4);                          \r
86 \r
87                 result = c.GetCredential (new Uri("http://www.contoso.com:80/portal"), "Basic");\r
88                 Assertion.AssertEquals ("#15", result, cred5);\r
89 \r
90                 result = c.GetCredential (new Uri("http://www.contoso.com:80/"), "Basic");\r
91                 Assertion.AssertEquals ("#16", result, cred5);\r
92 \r
93                 result = c.GetCredential (new Uri("http://www.contoso.com"), "Basic");\r
94                 Assertion.AssertEquals ("#17", result, cred5);          \r
95 \r
96                 /*              \r
97                 IEnumerator e = c.GetEnumerator ();\r
98                 while (e.MoveNext ()) {\r
99                         Console.WriteLine (e.Current.GetType () + " : " + e.Current.ToString ());\r
100                 }\r
101                 */\r
102         }\r
103 }\r
104 \r
105 }\r
106 \r