Skip to content

Commit 368c02f

Browse files
authored
Merge pull request #132 from Particular/added-approvals
Added test to generate approvals files
2 parents aaaa10c + 4c1c87b commit 368c02f

5 files changed

Lines changed: 158 additions & 3 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace NServiceBus.PlatformConnection.UnitTests.API
2+
{
3+
using NUnit.Framework;
4+
using Particular.Approvals;
5+
using PublicApiGenerator;
6+
using ServiceControl.Contracts;
7+
8+
[TestFixture]
9+
class APIApprovals
10+
{
11+
[Test]
12+
public void PublicClr()
13+
{
14+
var publicApi = typeof(MessageFailed).Assembly.GeneratePublicApi(new ApiGeneratorOptions
15+
{
16+
ExcludeAttributes = new[] { "System.Runtime.Versioning.TargetFrameworkAttribute", "System.Reflection.AssemblyMetadataAttribute" }
17+
});
18+
Approver.Verify(publicApi);
19+
}
20+
}
21+
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
namespace ServiceControl.Contracts
2+
{
3+
public class CustomCheckFailed
4+
{
5+
public CustomCheckFailed() { }
6+
public string Category { get; set; }
7+
public string CustomCheckId { get; set; }
8+
public string EndpointName { get; set; }
9+
public System.DateTime FailedAt { get; set; }
10+
public string FailureReason { get; set; }
11+
public string Host { get; set; }
12+
public System.Guid HostId { get; set; }
13+
}
14+
public class CustomCheckSucceeded
15+
{
16+
public CustomCheckSucceeded() { }
17+
public string Category { get; set; }
18+
public string CustomCheckId { get; set; }
19+
public string EndpointName { get; set; }
20+
public string Host { get; set; }
21+
public System.Guid HostId { get; set; }
22+
public System.DateTime SucceededAt { get; set; }
23+
}
24+
public class FailedMessagesArchived
25+
{
26+
public FailedMessagesArchived() { }
27+
public string[] FailedMessagesIds { get; set; }
28+
}
29+
public class FailedMessagesUnArchived
30+
{
31+
public FailedMessagesUnArchived() { }
32+
public string[] FailedMessagesIds { get; set; }
33+
}
34+
public class HeartbeatRestored
35+
{
36+
public HeartbeatRestored() { }
37+
public string EndpointName { get; set; }
38+
public string Host { get; set; }
39+
public System.Guid HostId { get; set; }
40+
public System.DateTime RestoredAt { get; set; }
41+
}
42+
public class HeartbeatStopped
43+
{
44+
public HeartbeatStopped() { }
45+
public System.DateTime DetectedAt { get; set; }
46+
public string EndpointName { get; set; }
47+
public string Host { get; set; }
48+
public System.Guid HostId { get; set; }
49+
public System.DateTime LastReceivedAt { get; set; }
50+
}
51+
public class MessageFailed
52+
{
53+
public MessageFailed() { }
54+
public string FailedMessageId { get; set; }
55+
public ServiceControl.Contracts.MessageFailed.FailureInfo FailureDetails { get; set; }
56+
public ServiceControl.Contracts.MessageFailed.Message MessageDetails { get; set; }
57+
public string MessageType { get; set; }
58+
public int NumberOfProcessingAttempts { get; set; }
59+
public ServiceControl.Contracts.MessageFailed.Endpoint ProcessingEndpoint { get; set; }
60+
public ServiceControl.Contracts.MessageFailed.Endpoint SendingEndpoint { get; set; }
61+
public ServiceControl.Contracts.MessageFailed.MessageStatus Status { get; set; }
62+
public class Endpoint
63+
{
64+
public Endpoint() { }
65+
public string Host { get; set; }
66+
public System.Guid HostId { get; set; }
67+
public string Name { get; set; }
68+
}
69+
public class FailureInfo
70+
{
71+
public FailureInfo() { }
72+
public string AddressOfFailingEndpoint { get; set; }
73+
public ServiceControl.Contracts.MessageFailed.FailureInfo.ExceptionInfo Exception { get; set; }
74+
public System.DateTime TimeOfFailure { get; set; }
75+
public class ExceptionInfo
76+
{
77+
public ExceptionInfo() { }
78+
public string ExceptionType { get; set; }
79+
public string Message { get; set; }
80+
public string Source { get; set; }
81+
public string StackTrace { get; set; }
82+
}
83+
}
84+
public class Message
85+
{
86+
public Message() { }
87+
public string Body { get; set; }
88+
public string ContentType { get; set; }
89+
public System.Collections.Generic.Dictionary<string, string> Headers { get; set; }
90+
public string MessageId { get; set; }
91+
}
92+
public enum MessageStatus
93+
{
94+
ArchivedFailure = 0,
95+
Failed = 1,
96+
RepeatedFailure = 2,
97+
}
98+
}
99+
public class MessageFailureResolvedByRetry
100+
{
101+
public MessageFailureResolvedByRetry() { }
102+
public string[] AlternativeFailedMessageIds { get; set; }
103+
public string FailedMessageId { get; set; }
104+
}
105+
public class MessageFailureResolvedManually
106+
{
107+
public MessageFailureResolvedManually() { }
108+
public string FailedMessageId { get; set; }
109+
}
110+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks>
5+
</PropertyGroup>
6+
7+
<ItemGroup>
8+
<ProjectReference Include="..\ServiceControl.Contracts\ServiceControl.Contracts.csproj" />
9+
</ItemGroup>
10+
11+
<ItemGroup>
12+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
13+
<PackageReference Include="NUnit" Version="3.13.2" />
14+
<PackageReference Include="NUnit3TestAdapter" Version="4.1.0" />
15+
<PackageReference Include="PublicApiGenerator" Version="10.2.0" />
16+
<PackageReference Include="Particular.Approvals" Version="0.3.0" />
17+
</ItemGroup>
18+
</Project>

‎src/ServiceControl.Contracts.sln‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.26430.13
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.0.31919.166
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceControl.Contracts", "ServiceControl.Contracts\ServiceControl.Contracts.csproj", "{1FDA6B9B-2A5D-4F0C-B59F-333BF2F5AFE5}"
77
EndProject
@@ -11,6 +11,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1111
..\GitVersion.yml = ..\GitVersion.yml
1212
EndProjectSection
1313
EndProject
14+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServiceControl.Contracts.Tests", "ServiceControl.Contracts.Tests\ServiceControl.Contracts.Tests.csproj", "{EB2AAE77-4D21-42B8-9246-DF8AD32CDF0F}"
15+
EndProject
1416
Global
1517
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1618
Debug|Any CPU = Debug|Any CPU
@@ -21,6 +23,10 @@ Global
2123
{1FDA6B9B-2A5D-4F0C-B59F-333BF2F5AFE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
2224
{1FDA6B9B-2A5D-4F0C-B59F-333BF2F5AFE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
2325
{1FDA6B9B-2A5D-4F0C-B59F-333BF2F5AFE5}.Release|Any CPU.Build.0 = Release|Any CPU
26+
{EB2AAE77-4D21-42B8-9246-DF8AD32CDF0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27+
{EB2AAE77-4D21-42B8-9246-DF8AD32CDF0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
28+
{EB2AAE77-4D21-42B8-9246-DF8AD32CDF0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
29+
{EB2AAE77-4D21-42B8-9246-DF8AD32CDF0F}.Release|Any CPU.Build.0 = Release|Any CPU
2430
EndGlobalSection
2531
GlobalSection(SolutionProperties) = preSolution
2632
HideSolutionNode = FALSE

‎src/ServiceControl.Contracts/ServiceControl.Contracts.csproj‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net40;netstandard2.0</TargetFrameworks>
4+
<TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
55
<Description>Message contracts for external events pushed by ServiceControl</Description>
66
<SignAssembly>true</SignAssembly>
77
<AssemblyOriginatorKeyFile>..\ServiceControl.Contracts.snk</AssemblyOriginatorKeyFile>

0 commit comments

Comments
 (0)