summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenId.Test/EndToEndTesting.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-08-08 15:46:40 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2008-08-08 15:46:40 -0700
commit3fb65cccfa1e35de45b3b42cf0f7867b77dca254 (patch)
tree47b16124b0a19aa0e27662f24b9e41a891cf7ee0 /src/DotNetOpenId.Test/EndToEndTesting.cs
parent47e9212eebc0bc4d002ce1822e0b2959bd14e244 (diff)
downloadDotNetOpenAuth-3fb65cccfa1e35de45b3b42cf0f7867b77dca254.zip
DotNetOpenAuth-3fb65cccfa1e35de45b3b42cf0f7867b77dca254.tar.gz
DotNetOpenAuth-3fb65cccfa1e35de45b3b42cf0f7867b77dca254.tar.bz2
Put all ASP.NET depending tests inside a UI directory.
Diffstat (limited to 'src/DotNetOpenId.Test/EndToEndTesting.cs')
-rw-r--r--src/DotNetOpenId.Test/EndToEndTesting.cs77
1 files changed, 1 insertions, 76 deletions
diff --git a/src/DotNetOpenId.Test/EndToEndTesting.cs b/src/DotNetOpenId.Test/EndToEndTesting.cs
index 1aa41c0..1902cae 100644
--- a/src/DotNetOpenId.Test/EndToEndTesting.cs
+++ b/src/DotNetOpenId.Test/EndToEndTesting.cs
@@ -25,11 +25,9 @@ namespace DotNetOpenId.Test {
void parameterizedTest(TestSupport.Scenarios scenario, ProtocolVersion version,
AuthenticationRequestMode requestMode, AuthenticationStatus expectedResult) {
- Identifier userSuppliedIdentifier = TestSupport.GetMockIdentifier(scenario, version);
- Identifier claimedId = userSuppliedIdentifier;
+ Identifier claimedId = TestSupport.GetMockIdentifier(scenario, version);
parameterizedProgrammaticTest(scenario, version, claimedId, requestMode, expectedResult, true);
parameterizedProgrammaticTest(scenario, version, claimedId, requestMode, expectedResult, false);
- parameterizedWebClientTest(userSuppliedIdentifier, requestMode, expectedResult);
}
void parameterizedOPIdentifierTest(TestSupport.Scenarios scenario,
AuthenticationRequestMode requestMode, AuthenticationStatus expectedResult) {
@@ -38,7 +36,6 @@ namespace DotNetOpenId.Test {
Identifier opIdentifier = TestSupport.GetMockOPIdentifier(TestSupport.Scenarios.ApproveOnSetup, claimedIdentifier);
parameterizedProgrammaticOPIdentifierTest(opIdentifier, version, claimedIdentifier, requestMode, expectedResult, true);
parameterizedProgrammaticOPIdentifierTest(opIdentifier, version, claimedIdentifier, requestMode, expectedResult, false);
- parameterizedWebClientTest(opIdentifier, requestMode, expectedResult);
}
void parameterizedProgrammaticTest(TestSupport.Scenarios scenario, ProtocolVersion version,
Identifier claimedUrl, AuthenticationRequestMode requestMode,
@@ -73,78 +70,6 @@ namespace DotNetOpenId.Test {
Assert.AreEqual(claimedUrl, rpResponse.ClaimedIdentifier);
}
}
- void parameterizedWebClientTest(Identifier identityUrl,
- AuthenticationRequestMode requestMode, AuthenticationStatus expectedResult) {
-
- Uri redirectToProviderUrl;
- HttpWebRequest rpRequest = (HttpWebRequest)WebRequest.Create(TestSupport.GetFullUrl(TestSupport.ConsumerPage));
- NameValueCollection query = new NameValueCollection();
- using (HttpWebResponse response = (HttpWebResponse)rpRequest.GetResponse()) {
- using (StreamReader sr = new StreamReader(response.GetResponseStream())) {
- Regex regex = new Regex(@"\<input\b.*\bname=""(\w+)"".*\bvalue=""([^""]+)""", RegexOptions.IgnoreCase);
- while (!sr.EndOfStream) {
- string line = sr.ReadLine();
- Match m = regex.Match(line);
- if (m.Success) {
- query[m.Groups[1].Value] = m.Groups[2].Value;
- }
- }
- }
- }
- query["OpenIdTextBox1$wrappedTextBox"] = identityUrl;
- rpRequest = (HttpWebRequest)WebRequest.Create(TestSupport.GetFullUrl(TestSupport.ConsumerPage));
- rpRequest.Method = "POST";
- rpRequest.AllowAutoRedirect = false;
- string queryString = UriUtil.CreateQueryString(query);
- rpRequest.ContentLength = queryString.Length;
- rpRequest.ContentType = "application/x-www-form-urlencoded";
- using (StreamWriter sw = new StreamWriter(rpRequest.GetRequestStream())) {
- sw.Write(queryString);
- }
- using (HttpWebResponse response = (HttpWebResponse)rpRequest.GetResponse()) {
- using (StreamReader sr = new StreamReader(response.GetResponseStream())) {
- string doc = sr.ReadToEnd();
- Debug.WriteLine(doc);
- }
- redirectToProviderUrl = new Uri(response.Headers[HttpResponseHeader.Location]);
- }
-
- HttpWebRequest providerRequest = (HttpWebRequest)WebRequest.Create(redirectToProviderUrl);
- providerRequest.AllowAutoRedirect = false;
- Uri redirectUrl;
- try {
- using (HttpWebResponse providerResponse = (HttpWebResponse)providerRequest.GetResponse()) {
- Assert.AreEqual(HttpStatusCode.Redirect, providerResponse.StatusCode);
- redirectUrl = new Uri(providerResponse.Headers[HttpResponseHeader.Location]);
- }
- } catch (WebException ex) {
- Trace.WriteLine(ex);
- if (ex.Response != null) {
- using (StreamReader sr = new StreamReader(ex.Response.GetResponseStream())) {
- Trace.WriteLine(sr.ReadToEnd());
- }
- }
- throw;
- }
- rpRequest = (HttpWebRequest)WebRequest.Create(redirectUrl);
- rpRequest.AllowAutoRedirect = false;
- using (HttpWebResponse response = (HttpWebResponse)rpRequest.GetResponse()) {
- Assert.AreEqual(HttpStatusCode.Redirect, response.StatusCode); // redirect on login
- }
-
- // Try replay attack
- if (expectedResult == AuthenticationStatus.Authenticated) {
- // This simulates a network sniffing user who caught the
- // authenticating query en route to either the user agent or
- // the consumer, and tries the same query to the consumer in an
- // attempt to spoof the identity of the authenticating user.
- rpRequest = (HttpWebRequest)WebRequest.Create(redirectUrl);
- rpRequest.AllowAutoRedirect = false;
- using (HttpWebResponse response = (HttpWebResponse)rpRequest.GetResponse()) {
- Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); // error message
- }
- }
- }
[Test]
public void Pass_Setup_AutoApproval_11() {
parameterizedTest(