[System] UriKind.RelativeOrAbsolute workaround.
[mono.git] / mcs / class / System.Web / Test / System.Web.Caching / SqlCacheDependencyTest.cs
1 // Authors:
2 //      Marek Habersack <mhabersack@novell.com>
3 //
4 // Copyright (C) 2010 Novell Inc. http://novell.com
5 //
6
7 //
8 // Permission is hereby granted, free of charge, to any person obtaining
9 // a copy of this software and associated documentation files (the
10 // "Software"), to deal in the Software without restriction, including
11 // without limitation the rights to use, copy, modify, merge, publish,
12 // distribute, sublicense, and/or sell copies of the Software, and to
13 // permit persons to whom the Software is furnished to do so, subject to
14 // the following conditions:
15 // 
16 // The above copyright notice and this permission notice shall be
17 // included in all copies or substantial portions of the Software.
18 // 
19 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 //
27
28 using System;
29 using System.Web;
30 using System.Web.Caching;
31
32 using NUnit.Framework;
33 using MonoTests.Common;
34
35 namespace MonoTests.System.Web.Caching
36 {
37         [TestFixture]
38         public class SqlCacheDependencyTest
39         {
40                 [Test]
41                 public void Constructor_1 ()
42                 {
43                         SqlCacheDependency sqc;
44                         AssertExtensions.Throws<ArgumentNullException> (() => {
45                                 sqc = new SqlCacheDependency (null);
46                         }, "#A1");
47                 }
48
49                 [Test]
50                 public void Constructor_2 ()
51                 {
52                         SqlCacheDependency sqc;
53
54                         AssertExtensions.Throws<ArgumentNullException> (() => {
55                                 sqc = new SqlCacheDependency (null, "myTable");
56                         }, "#A1");
57
58                         AssertExtensions.Throws<ArgumentNullException> (() => {
59                                 sqc = new SqlCacheDependency ("myDatabase", null);
60                         }, "#A2");
61
62                         // Cannot be tested without an existing database
63                         //AssertExtensions.Throws<ArgumentNullException> (() => {
64                         //      sqc = new SqlCacheDependency ("myDatabase", "myTable");
65                         //}, "#A3");
66                 }
67
68 #if NET_4_0
69                 [Test]
70                 public void CreateOutputCacheDependency ()
71                 {
72                         CacheDependency sqc;
73
74                         AssertExtensions.Throws<HttpException> (() => {
75                                 sqc = SqlCacheDependency.CreateOutputCacheDependency (null);
76                         }, "#A1");
77
78                         AssertExtensions.Throws<ArgumentException> (() => {
79                                 sqc = SqlCacheDependency.CreateOutputCacheDependency (String.Empty);
80                         }, "#A2");
81
82                         AssertExtensions.Throws<ArgumentException> (() => {
83                                 sqc = SqlCacheDependency.CreateOutputCacheDependency ("Database");
84                         }, "#A2");
85
86                         // Not testable without a real database
87                         //sqc = SqlCacheDependency.CreateOutputCacheDependency ("Database:table");
88                         //Assert.IsTrue (sqc is SqlCacheDependency, "#B1");
89                         //
90                         //sqc = SqlCacheDependency.CreateOutputCacheDependency ("Database:table; AnotherDatabase:table");
91                         //Assert.IsTrue (sql is AggregateCacheDependency, "#B2");
92                 }
93 #endif
94         }
95 }
96