|
1 | 1 | using System;
|
2 | 2 | using System.Collections.Generic;
|
| 3 | +using Exceptionless.Dependency; |
3 | 4 | using Exceptionless.Models;
|
| 5 | +using Exceptionless.Models.Data; |
4 | 6 | using Exceptionless.Plugins;
|
| 7 | +using Exceptionless.Submission; |
5 | 8 | using Xunit;
|
6 | 9 |
|
7 | 10 | namespace Exceptionless.Tests {
|
@@ -54,6 +57,22 @@ public void CanFireOnSubmittingEvent() {
|
54 | 57 | Assert.Equal(2, list.Count);
|
55 | 58 | }
|
56 | 59 |
|
| 60 | + [Fact] |
| 61 | + public void CanCallStartupWithCustomSubmissionClient() { |
| 62 | + var client = CreateClient(); |
| 63 | + Assert.True(client.Configuration.Resolver.HasRegistration<ISubmissionClient>()); |
| 64 | + Assert.True(client.Configuration.Resolver.HasDefaultRegistration<ISubmissionClient, DefaultSubmissionClient>()); |
| 65 | + |
| 66 | + client.Configuration.Resolver.Register<ISubmissionClient, MySubmissionClient>(); |
| 67 | + Assert.False(client.Configuration.Resolver.HasDefaultRegistration<ISubmissionClient, DefaultSubmissionClient>()); |
| 68 | + Assert.True(client.Configuration.Resolver.Resolve<ISubmissionClient>() is MySubmissionClient); |
| 69 | + |
| 70 | + client.Startup(); |
| 71 | + Assert.True(client.Configuration.Resolver.Resolve<ISubmissionClient>() is MySubmissionClient); |
| 72 | + Assert.False(client.Configuration.Resolver.HasDefaultRegistration<ISubmissionClient, DefaultSubmissionClient>()); |
| 73 | + client.Shutdown(); |
| 74 | + } |
| 75 | + |
57 | 76 | [Fact (Skip = "This test shows off throwing a stack overflow exception: Issue #26")]
|
58 | 77 | public void WillThrowStackOverflowExceptionDuringOnSubmitting() {
|
59 | 78 | var client = CreateClient();
|
@@ -155,5 +174,19 @@ public void WillThrowStackOverflowExceptionDuringOnSubmitting() {
|
155 | 174 | private class Person {
|
156 | 175 | public string Name { get; set; }
|
157 | 176 | }
|
| 177 | + |
| 178 | + public class MySubmissionClient : ISubmissionClient { |
| 179 | + public SubmissionResponse PostEvents(IEnumerable<Event> events, ExceptionlessConfiguration config, IJsonSerializer serializer) { |
| 180 | + throw new NotImplementedException(); |
| 181 | + } |
| 182 | + |
| 183 | + public SubmissionResponse PostUserDescription(string referenceId, UserDescription description, ExceptionlessConfiguration config, IJsonSerializer serializer) { |
| 184 | + throw new NotImplementedException(); |
| 185 | + } |
| 186 | + |
| 187 | + public SettingsResponse GetSettings(ExceptionlessConfiguration config, IJsonSerializer serializer) { |
| 188 | + throw new NotImplementedException(); |
| 189 | + } |
| 190 | + } |
158 | 191 | }
|
159 | 192 | }
|
0 commit comments