Skip to content

Commit 921ebca

Browse files
committed
Updated the serializer tests
1 parent 4b31275 commit 921ebca

File tree

5 files changed

+74
-72
lines changed

5 files changed

+74
-72
lines changed

Source/Samples/SampleConsole/Exceptionless.SampleConsole.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@
4848
<HintPath>..\..\..\packages\Exceptionless.DateTimeExtensions.3.1.42\lib\portable-net40+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\Exceptionless.DateTimeExtensions.dll</HintPath>
4949
<Private>True</Private>
5050
</Reference>
51-
<Reference Include="Exceptionless.RandomData, Version=1.0.15.0, Culture=neutral, processorArchitecture=MSIL">
52-
<HintPath>..\..\..\packages\Exceptionless.RandomData.1.0.15.0\lib\net40\Exceptionless.RandomData.dll</HintPath>
51+
<Reference Include="Exceptionless.RandomData, Version=1.0.17.0, Culture=neutral, processorArchitecture=MSIL">
52+
<HintPath>..\..\..\packages\Exceptionless.RandomData.1.0.17.0\lib\net40\Exceptionless.RandomData.dll</HintPath>
5353
<Private>True</Private>
5454
</Reference>
5555
<Reference Include="log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">

Source/Samples/SampleConsole/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
33
<package id="Exceptionless.DateTimeExtensions" version="3.1.42" targetFramework="net451" />
4-
<package id="Exceptionless.RandomData" version="1.0.15.0" targetFramework="net451" />
4+
<package id="Exceptionless.RandomData" version="1.0.17.0" targetFramework="net452" />
55
<package id="log4net" version="2.0.5" targetFramework="net451" />
66
<package id="NLog" version="4.2.3" targetFramework="net451" />
77
<package id="NLog.Config" version="4.2.3" targetFramework="net451" />

Source/Tests/Exceptionless.Tests.csproj

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@
3838
<Prefer32Bit>false</Prefer32Bit>
3939
</PropertyGroup>
4040
<ItemGroup>
41-
<Reference Include="Exceptionless.RandomData, Version=1.0.15.0, Culture=neutral, processorArchitecture=MSIL">
42-
<HintPath>..\..\packages\Exceptionless.RandomData.1.0.15.0\lib\net40\Exceptionless.RandomData.dll</HintPath>
41+
<Reference Include="Exceptionless.RandomData, Version=1.0.17.0, Culture=neutral, processorArchitecture=MSIL">
42+
<HintPath>..\..\packages\Exceptionless.RandomData.1.0.17.0\lib\net40\Exceptionless.RandomData.dll</HintPath>
4343
<Private>True</Private>
4444
</Reference>
4545
<Reference Include="Foundatio, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
46-
<HintPath>..\..\packages\Foundatio.3.0.624\lib\net45\Foundatio.dll</HintPath>
46+
<HintPath>..\..\packages\Foundatio.3.0.629\lib\net45\Foundatio.dll</HintPath>
4747
<Private>True</Private>
4848
</Reference>
4949
<Reference Include="Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -161,10 +161,6 @@
161161
<Project>{693F3CBF-5BC7-457D-9F31-BDD89C72677E}</Project>
162162
<Name>Exceptionless.Extras</Name>
163163
</ProjectReference>
164-
<ProjectReference Include="..\Platforms\Console\Exceptionless.csproj">
165-
<Project>{1e53d5cd-1719-4bfb-a9a8-7d46baca6402}</Project>
166-
<Name>Exceptionless</Name>
167-
</ProjectReference>
168164
<ProjectReference Include="..\Shared\Exceptionless.Portable.csproj">
169165
<Project>{14dfd206-b445-4d52-9c3c-8b2f69b22b91}</Project>
170166
<Name>Exceptionless.Portable</Name>

Source/Tests/Serializer/SerializerTests.cs

Lines changed: 66 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,12 @@
22
using System.Collections.Generic;
33
using System.Collections.ObjectModel;
44
using Exceptionless.Extensions;
5-
using Exceptionless.Json;
65
using Exceptionless.Models;
76
using Exceptionless.Serializer;
87
using Xunit;
98
using System.Reflection;
10-
using Exceptionless.Submission;
11-
using Moq;
129
using System.Linq;
13-
using Exceptionless.Models.Data;
14-
using Exceptionless.Dependency;
10+
using Exceptionless.Extras;
1511

1612
namespace Exceptionless.Tests.Serializer {
1713
public class SerializerTests {
@@ -21,15 +17,21 @@ protected virtual IJsonSerializer GetSerializer() {
2117

2218
[Fact]
2319
public void CanSerialize() {
24-
var data = new SampleModel { Date = DateTime.Now, Message = "Testing" };
20+
var data = new SampleModel {
21+
Date = DateTime.Now,
22+
Message = "Testing"
23+
};
2524
IJsonSerializer serializer = GetSerializer();
2625
string json = serializer.Serialize(data, new[] { "Date" });
2726
Assert.Equal(@"{""message"":""Testing""}", json);
2827
}
29-
28+
3029
[Fact]
3130
public void CanSerializeEvent() {
32-
var ev = new Event { Date = DateTime.Now, Message = "Testing"};
31+
var ev = new Event {
32+
Date = DateTime.Now,
33+
Message = "Testing"
34+
};
3335
ev.Data["FirstName"] = "Blake";
3436

3537
IJsonSerializer serializer = GetSerializer();
@@ -40,23 +42,36 @@ public void CanSerializeEvent() {
4042

4143
[Fact]
4244
public void CanExcludeProperties() {
43-
var data = new SampleModel { Date = DateTime.Now, Message = "Testing" };
45+
var data = new SampleModel {
46+
Date = DateTime.Now,
47+
Message = "Testing"
48+
};
4449
IJsonSerializer serializer = GetSerializer();
45-
string json = serializer.Serialize(data, new []{ "Date" });
50+
string json = serializer.Serialize(data, new[] { "Date" });
4651
Assert.Equal(@"{""message"":""Testing""}", json);
4752
}
4853

4954
[Fact]
5055
public void CanExcludeNestedProperties() {
51-
var data = new SampleModel { Date = DateTime.Now, Message = "Testing", Nested = new SampleModel { Date = DateTime.Now, Message = "Nested" } };
56+
var data = new SampleModel {
57+
Date = DateTime.Now,
58+
Message = "Testing",
59+
Nested = new SampleModel {
60+
Date = DateTime.Now,
61+
Message = "Nested"
62+
}
63+
};
5264
IJsonSerializer serializer = GetSerializer();
5365
string json = serializer.Serialize(data, new[] { "Date" });
5466
Assert.Equal(@"{""message"":""Testing"",""nested"":{""message"":""Nested""}}", json);
5567
}
5668

5769
[Fact]
5870
public void WillIgnoreDefaultValues() {
59-
var data = new SampleModel { Number = 0, Bool = false };
71+
var data = new SampleModel {
72+
Number = 0,
73+
Bool = false
74+
};
6075
IJsonSerializer serializer = GetSerializer();
6176
string json = serializer.Serialize(data);
6277
Assert.Equal(@"{}", json);
@@ -67,15 +82,27 @@ public void WillIgnoreDefaultValues() {
6782

6883
[Fact]
6984
public void CanSetMaxDepth() {
70-
var data = new SampleModel { Message = "Level 1", Nested = new SampleModel { Message = "Level 2", Nested = new SampleModel { Message = "Level 3"}} };
85+
var data = new SampleModel {
86+
Message = "Level 1",
87+
Nested = new SampleModel {
88+
Message = "Level 2",
89+
Nested = new SampleModel {
90+
Message = "Level 3"
91+
}
92+
}
93+
};
7194
IJsonSerializer serializer = GetSerializer();
7295
string json = serializer.Serialize(data, maxDepth: 2);
7396
Assert.Equal(@"{""message"":""Level 1"",""nested"":{""message"":""Level 2""}}", json);
7497
}
7598

7699
[Fact]
77100
public void WillIgnoreEmptyCollections() {
78-
var data = new SampleModel { Date = DateTime.Now, Message = "Testing", Collection = new Collection<string>() };
101+
var data = new SampleModel {
102+
Date = DateTime.Now,
103+
Message = "Testing",
104+
Collection = new Collection<string>()
105+
};
79106
IJsonSerializer serializer = GetSerializer();
80107
string json = serializer.Serialize(data, new[] { "Date" });
81108
Assert.Equal(@"{""message"":""Testing""}", json);
@@ -106,56 +133,35 @@ public void WillDeserializeReferenceIds() {
106133
}
107134

108135
[Fact]
109-
public void WillSerializeDeepExceptionWithStackInformation()
110-
{
111-
try
112-
{
113-
try
114-
{
115-
try
116-
{
117-
throw new ArgumentException("This is the inner argument exception", "wrongArg");
136+
public void WillSerializeDeepExceptionWithStackInformation() {
137+
try {
138+
try {
139+
try {
140+
throw new ArgumentException("This is the innermost argument exception", "wrongArg");
141+
} catch (Exception e1) {
142+
throw new TargetInvocationException("Target invocation exception.", e1);
118143
}
119-
catch (Exception e1)
120-
{
121-
throw new TargetInvocationException("Target invocation exception. Blah blah blah blah.", e1);
122-
}
123-
}
124-
catch (Exception e2)
125-
{
144+
} catch (Exception e2) {
126145
throw new TargetInvocationException("Outer Exception. This is some text of the outer exception.", e2);
127146
}
147+
} catch (Exception ex) {
148+
var client = CreateClient();
149+
var error = ex.ToErrorModel(client);
150+
var ev = new Event { Data = { [Event.KnownDataKeys.Error] = error } };
151+
152+
IJsonSerializer serializer = GetSerializer();
153+
string json = serializer.Serialize(ev, maxDepth: 10);
154+
155+
Assert.Contains(String.Format("\"line_number\":{0}", error.Inner.Inner.StackTrace.Single().LineNumber), json);
128156
}
129-
catch (Exception exception)
130-
{
131-
Event e = null;
132-
IJsonSerializer serializer = null;
133-
134-
var submissionMock = new Mock<ISubmissionClient>();
135-
submissionMock.Setup(c => c.PostEvents(It.IsAny<IEnumerable<Event>>(), It.IsAny<ExceptionlessConfiguration>(), It.IsAny<IJsonSerializer>()))
136-
.Returns((IEnumerable<Event> a, ExceptionlessConfiguration b, IJsonSerializer c) => {
137-
e = a.Single();
138-
serializer = c;
139-
return new SubmissionResponse(200);
140-
});
141-
142-
ExceptionlessClient.Default.Configuration.Resolver.Register(submissionMock.Object);
143-
ExceptionlessClient.Default.Configuration.ApiKey = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
144-
ExceptionlessExtensions.Register(ExceptionlessClient.Default);
145-
exception.ToExceptionless().Submit();
146-
ExceptionlessClient.Default.ProcessQueue();
147-
148-
var innerLineNumber = e.Data.GetValue<Error>(Event.KnownDataKeys.Error)
149-
.Inner
150-
.Inner
151-
.StackTrace.Single()
152-
.LineNumber;
153-
154-
var serialized = serializer.Serialize(e);
155-
var expected = string.Format("\"line_number\":{0}", innerLineNumber);
156-
157-
Assert.Contains(expected, serialized);
158-
}
157+
}
158+
159+
private ExceptionlessClient CreateClient() {
160+
return new ExceptionlessClient(c => {
161+
c.UseDebugLogger();
162+
c.ReadFromAttributes();
163+
c.UserAgent = "testclient/1.0.0.0";
164+
});
159165
}
160166
}
161167

Source/Tests/packages.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Exceptionless.RandomData" version="1.0.15.0" targetFramework="net451" />
4-
<package id="Foundatio" version="3.0.624" targetFramework="net451" />
3+
<package id="Exceptionless.RandomData" version="1.0.17.0" targetFramework="net451" />
4+
<package id="Foundatio" version="3.0.629" targetFramework="net451" />
55
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
66
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
77
<package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net451" />

0 commit comments

Comments
 (0)