Skip to content

Commit

Permalink
Unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason Fauchelle committed May 15, 2015
1 parent 5a9d64f commit fa5054d
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
<Compile Include="Model\FakeHttpApplication.cs" />
<Compile Include="Model\FakeRaygunClient.cs" />
<Compile Include="Model\FakeRaygunHttpModule.cs" />
<Compile Include="Model\FakeRaygunRequestMessageBuilder.cs" />
<Compile Include="Model\GenericException.cs" />
<Compile Include="Model\WrapperException.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using Mindscape.Raygun4Net.Builders;

namespace Mindscape.Raygun4Net.Tests
{
public class FakeRaygunRequestMessageBuilder : RaygunRequestMessageBuilder
{
public static Dictionary<string, string> ExposeGetIgnoredFormValues(NameValueCollection form, Func<string, bool> ignore)
{
return GetIgnoredFormValues(form, ignore);
}

public static string ExposeStripIgnoredFormData(string rawData, Dictionary<string, string> ignored)
{
return StripIgnoredFormData(rawData, ignored);
}
}
}
46 changes: 46 additions & 0 deletions Mindscape.Raygun4Net.Tests/RaygunRequestMessageTests.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Reflection;
using System.Web;
Expand Down Expand Up @@ -379,5 +380,50 @@ private int CookieCount(RaygunRequestMessage message, string name)
}
return count;
}

// Helper method tests

[Test]
public void GetIgnoredFormValues()
{
var options = new RaygunRequestMessageOptions(new string[] { "Password" }, Enumerable.Empty<string>(), Enumerable.Empty<string>(), Enumerable.Empty<string>());
NameValueCollection form = new NameValueCollection();
form.Add("Key", "Value");
form.Add("Password", "p");

Dictionary<string, string> ignored = FakeRaygunRequestMessageBuilder.ExposeGetIgnoredFormValues(form, options.IsFormFieldIgnored);

Assert.AreEqual(1, ignored.Count);
Assert.AreEqual("Password", ignored.Keys.First());
Assert.AreEqual("p", ignored["Password"]);
}

[Test]
public void GetIgnoredFormValues_MultipleIgnores()
{
var options = new RaygunRequestMessageOptions(new string[] { "Password", "SensitiveNumber" }, Enumerable.Empty<string>(), Enumerable.Empty<string>(), Enumerable.Empty<string>());
NameValueCollection form = new NameValueCollection();
form.Add("SensitiveNumber", "7");
form.Add("Key", "Value");
form.Add("Password", "p");

Dictionary<string, string> ignored = FakeRaygunRequestMessageBuilder.ExposeGetIgnoredFormValues(form, options.IsFormFieldIgnored);

Assert.AreEqual(2, ignored.Count);
Assert.IsTrue(ignored.Keys.Contains("Password"));
Assert.AreEqual("p", ignored["Password"]);
Assert.IsTrue(ignored.Keys.Contains("SensitiveNumber"));
Assert.AreEqual("7", ignored["SensitiveNumber"]);
}

[Test]
public void StripIgnoredFormData()
{
string rawData = "------WebKitFormBoundarye64VBkpu4PoxFbpl Content-Disposition: form-data; name=\"Password\"\r\n\r\nsecret ------WebKitFormBoundarye64VBkpu4PoxFbpl--";
Dictionary<string, string> ignored = new Dictionary<string, string>() { { "Password", "secret" } };
rawData = FakeRaygunRequestMessageBuilder.ExposeStripIgnoredFormData(rawData, ignored);

Assert.AreEqual("------WebKitFormBoundarye64VBkpu4PoxFbpl Content-Disposition: form-data; ------WebKitFormBoundarye64VBkpu4PoxFbpl--", rawData);
}
}
}
4 changes: 2 additions & 2 deletions Mindscape.Raygun4Net/Builders/RaygunRequestMessageBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public static RaygunRequestMessage Build(HttpRequest request, RaygunRequestMessa
return message;
}

private static Dictionary<string, string> GetIgnoredFormValues(NameValueCollection form, Func<string, bool> ignore)
protected static Dictionary<string, string> GetIgnoredFormValues(NameValueCollection form, Func<string, bool> ignore)
{
Dictionary<string, string> ignoredFormValues = new Dictionary<string, string>();
foreach (string key in form.Keys)
Expand All @@ -83,7 +83,7 @@ private static Dictionary<string, string> GetIgnoredFormValues(NameValueCollecti
return ignoredFormValues;
}

private static string StripIgnoredFormData(string rawData, Dictionary<string, string> ignored)
protected static string StripIgnoredFormData(string rawData, Dictionary<string, string> ignored)
{
foreach (string key in ignored.Keys)
{
Expand Down

0 comments on commit fa5054d

Please sign in to comment.