1
1
using System ;
2
- using System . Threading . Tasks ;
2
+ using System . Collections . Generic ;
3
3
using Exceptionless . Models ;
4
+ using Exceptionless . Plugins ;
4
5
using Xunit ;
5
6
6
7
namespace Exceptionless . Tests {
@@ -15,7 +16,7 @@ private ExceptionlessClient CreateClient() {
15
16
}
16
17
17
18
[ Fact ]
18
- public async Task CanAddMultipleDataObjectsToEvent ( ) {
19
+ public void CanAddMultipleDataObjectsToEvent ( ) {
19
20
var client = CreateClient ( ) ;
20
21
var ev = client . CreateLog ( "Test" ) ;
21
22
Assert . Equal ( ev . Target . Type , Event . KnownTypes . Log ) ;
@@ -36,6 +37,42 @@ public async Task CanAddMultipleDataObjectsToEvent() {
36
37
Assert . True ( person . Contains ( "Blake" ) ) ;
37
38
}
38
39
40
+ [ Fact ]
41
+ public void CanFireOnSubmittingEvent ( ) {
42
+ var client = CreateClient ( ) ;
43
+ var ev = new Event { Message = "Unit Test" } ;
44
+ var list = new List < EventSubmittingEventArgs > ( ) ;
45
+
46
+ client . SubmittingEvent += ( sender , e ) => {
47
+ list . Add ( e ) ;
48
+ } ;
49
+
50
+ new EventBuilder ( ev , client ) . Submit ( ) ;
51
+ Assert . Equal ( 1 , list . Count ) ;
52
+
53
+ new EventBuilder ( ev , client , new ContextData ( ) ) . Submit ( ) ;
54
+ Assert . Equal ( 2 , list . Count ) ;
55
+ }
56
+
57
+ [ Fact ( Skip = "This test shows off throwing a stack overflow exception: Issue #26" ) ]
58
+ public void WillThrowStackOverflowExceptionDuringOnSubmitting ( ) {
59
+ var client = CreateClient ( ) ;
60
+ var list = new List < EventSubmittingEventArgs > ( ) ;
61
+
62
+ client . SubmittingEvent += ( sender , e ) => {
63
+ list . Add ( e ) ;
64
+ if ( e . IsUnhandledError ) {
65
+ new EventBuilder ( e . Event , e . Client , e . PluginContextData ) . AddTags ( "Unhandled" ) . Submit ( ) ;
66
+ e . Cancel = true ;
67
+ }
68
+ } ;
69
+
70
+ var contextData = new ContextData ( ) ;
71
+ contextData . MarkAsUnhandledError ( ) ;
72
+ new Exception ( "Test" ) . ToExceptionless ( contextData , client ) . Submit ( ) ;
73
+ Assert . Equal ( 2 , list . Count ) ;
74
+ }
75
+
39
76
//[Fact]
40
77
//public async Task CanSubmitSimpleEvent() {
41
78
// var container = AppBuilder.CreateContainer();
0 commit comments