66 using System . Threading . Tasks ;
77 using Modules ;
88 using TestObjects ;
9+ using System . IO ;
910
1011 [ TestFixture ]
1112 public class LocalSessionModuleTest
@@ -28,6 +29,8 @@ public void Init()
2829 WebServer = new WebServer ( WebServerUrl ) ;
2930 WebServer . RegisterModule ( new LocalSessionModule ( ) { Expiration = WaitTimeSpan } ) ;
3031 WebServer . RegisterModule ( new StaticFilesModule ( RootPath ) ) ;
32+ WebServer . RegisterModule ( new WebApiModule ( ) ) ;
33+ WebServer . Module < WebApiModule > ( ) . RegisterController < TestLocalSessionController > ( ) ;
3134 WebServer . RunAsync ( ) ;
3235 }
3336
@@ -101,6 +104,65 @@ protected async Task GetFile(string content)
101104 }
102105 }
103106
107+ [ Test ]
108+ public async Task DeleteSession ( )
109+ {
110+ var request = ( HttpWebRequest ) WebRequest . Create ( WebServerUrl ) ;
111+ CookieContainer container = new CookieContainer ( ) ;
112+ request . CookieContainer = container ;
113+
114+ request = ( HttpWebRequest ) WebRequest . Create ( WebServerUrl + TestLocalSessionController . PutData ) ;
115+
116+ request . CookieContainer = container ;
117+
118+ using ( var response = ( HttpWebResponse ) await request . GetResponseAsync ( ) )
119+ {
120+ Assert . AreEqual ( response . StatusCode , HttpStatusCode . OK , "Status Code OK" ) ;
121+
122+ var body = new StreamReader ( response . GetResponseStream ( ) ) . ReadToEnd ( ) ;
123+
124+ Assert . AreEqual ( body , TestLocalSessionController . MyData ) ;
125+ }
126+
127+ request = ( HttpWebRequest ) WebRequest . Create ( WebServerUrl + TestLocalSessionController . GetData ) ;
128+
129+ request . CookieContainer = container ;
130+
131+ using ( var response = ( HttpWebResponse ) await request . GetResponseAsync ( ) )
132+ {
133+ Assert . AreEqual ( response . StatusCode , HttpStatusCode . OK , "Status Code OK" ) ;
134+
135+ var body = new StreamReader ( response . GetResponseStream ( ) ) . ReadToEnd ( ) ;
136+
137+ Assert . AreEqual ( body , TestLocalSessionController . MyData ) ;
138+ }
139+
140+ request = ( HttpWebRequest ) WebRequest . Create ( WebServerUrl + TestLocalSessionController . DeleteSession ) ;
141+ request . CookieContainer = container ;
142+
143+ using ( var response = ( HttpWebResponse ) await request . GetResponseAsync ( ) )
144+ {
145+ Assert . AreEqual ( response . StatusCode , HttpStatusCode . OK , "Status Code OK" ) ;
146+
147+ var body = new StreamReader ( response . GetResponseStream ( ) ) . ReadToEnd ( ) ;
148+
149+ Assert . AreEqual ( body , "Deleted" ) ;
150+ }
151+
152+ request = ( HttpWebRequest ) WebRequest . Create ( WebServerUrl + TestLocalSessionController . GetData ) ;
153+
154+ request . CookieContainer = container ;
155+
156+ using ( var response = ( HttpWebResponse ) await request . GetResponseAsync ( ) )
157+ {
158+ Assert . AreEqual ( response . StatusCode , HttpStatusCode . OK , "Status Code OK" ) ;
159+
160+ var body = new StreamReader ( response . GetResponseStream ( ) ) . ReadToEnd ( ) ;
161+
162+ Assert . AreEqual ( "" , body ) ;
163+ }
164+ }
165+
104166 [ TearDown ]
105167 public void Kill ( )
106168 {
0 commit comments