2 // CredentialCacheTest.cs - NUnit Test Cases for System.Net.CredentialCache
5 // Lawrence Pit (loz@cable.a2000.nl)
11 using System
.Collections
;
12 using System
.Security
;
13 using System
.Security
.Permissions
;
15 namespace MonoTests
.System
.Net
19 public class CredentialCacheTest
24 CredentialCache c
= new CredentialCache ();
26 NetworkCredential cred1
= new NetworkCredential ("user1", "pwd1");
27 NetworkCredential cred2
= new NetworkCredential ("user2", "pwd2");
28 NetworkCredential cred3
= new NetworkCredential ("user3", "pwd3");
29 NetworkCredential cred4
= new NetworkCredential ("user4", "pwd4");
30 NetworkCredential cred5
= new NetworkCredential ("user5", "pwd5");
32 c
.Add (new Uri ("http://www.ximian.com"), "Basic", cred1
);
33 c
.Add (new Uri ("http://www.ximian.com"), "Kerberos", cred2
);
35 c
.Add (new Uri ("http://www.contoso.com/portal/news/index.aspx"), "Basic", cred1
);
36 c
.Add (new Uri ("http://www.contoso.com/portal/news/index.aspx?item=1"), "Basic", cred2
);
37 c
.Add (new Uri ("http://www.contoso.com/portal/news/index.aspx?item=12"), "Basic", cred3
);
38 c
.Add (new Uri ("http://www.contoso.com/portal/"), "Basic", cred4
);
39 c
.Add (new Uri ("http://www.contoso.com"), "Basic", cred5
);
41 NetworkCredential result
= null;
44 c
.Add (new Uri("http://www.ximian.com"), "Basic", cred1
);
45 Assertion
.Fail ("#1: should have failed");
46 } catch (ArgumentException
) { }
48 c
.Add (new Uri("http://www.contoso.com/"), "**Unknown**", cred1
);
49 result
= c
.GetCredential (new Uri("http://www.contoso.com/"), "**Unknown**");
50 Assertion
.AssertEquals ("#3", result
, cred1
);
51 c
.Remove (new Uri("http://www.contoso.com/"), "**Unknown**");
52 result
= c
.GetCredential (new Uri("http://www.contoso.com/"), "**Unknown**");
53 Assertion
.Assert ("#4", result
== null);
55 c
.Add (new Uri("http://www.contoso.com/"), "**Unknown**", cred1
);
56 result
= c
.GetCredential (new Uri("http://www.contoso.com"), "**Unknown**");
57 Assertion
.AssertEquals ("#5", result
, cred1
);
58 c
.Remove (new Uri("http://www.contoso.com"), "**Unknown**");
59 result
= c
.GetCredential (new Uri("http://www.contoso.com"), "**Unknown**");
60 Assertion
.Assert ("#6", result
== null);
62 c
.Add (new Uri("http://www.contoso.com/portal/"), "**Unknown**", cred1
);
63 result
= c
.GetCredential (new Uri("http://www.contoso.com/portal/foo/bar.html"), "**Unknown**");
64 Assertion
.AssertEquals ("#7", result
, cred1
);
65 c
.Remove (new Uri("http://www.contoso.com"), "**Unknown**");
66 result
= c
.GetCredential (new Uri("http://www.contoso.com"), "**Unknown**");
67 Assertion
.Assert ("#8", result
== null);
69 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/portal/news/index.aspx"), "Basic");
70 Assertion
.AssertEquals ("#9", result
, cred3
);
72 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/portal/news/index"), "Basic");
73 Assertion
.AssertEquals ("#10", result
, cred3
);
75 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/portal/news/"), "Basic");
76 Assertion
.AssertEquals ("#11", result
, cred3
);
78 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/portal/news"), "Basic");
79 Assertion
.AssertEquals ("#12", result
, cred4
);
81 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/portal/ne"), "Basic");
82 Assertion
.AssertEquals ("#13", result
, cred4
);
84 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/portal/"), "Basic");
85 Assertion
.AssertEquals ("#14", result
, cred4
);
87 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/portal"), "Basic");
88 Assertion
.AssertEquals ("#15", result
, cred5
);
90 result
= c
.GetCredential (new Uri("http://www.contoso.com:80/"), "Basic");
91 Assertion
.AssertEquals ("#16", result
, cred5
);
93 result
= c
.GetCredential (new Uri("http://www.contoso.com"), "Basic");
94 Assertion
.AssertEquals ("#17", result
, cred5
);
97 IEnumerator e = c.GetEnumerator ();
98 while (e.MoveNext ()) {
99 Console.WriteLine (e.Current.GetType () + " : " + e.Current.ToString ());