Skip to content

Commit 673853d

Browse files
authored
Merge pull request #1 from maxlego/events_api
Add Events API to replace obsolete MessageEvents
2 parents 15527fd + 606a9a1 commit 673853d

32 files changed

+1374
-464
lines changed

src/SparkPost.Acceptance/MessageEventsSteps.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Threading.Tasks;
1+
using System;
2+
using System.Threading.Tasks;
23
using TechTalk.SpecFlow;
34

45
namespace SparkPost.Acceptance
@@ -13,6 +14,7 @@ public MessageEventsSteps(ScenarioContext scenarioContext)
1314
_scenarioContext = scenarioContext;
1415
}
1516

17+
[Obsolete()]
1618
[When(@"I ask for samples of '(.*)'")]
1719
public async Task WhenIAskForSamplesOf(string events)
1820
{
Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp2.1</TargetFramework>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<AssemblyName>SparkPost.Acceptance</AssemblyName>
6+
<OutputType>Library</OutputType>
57
</PropertyGroup>
68

79
<ItemGroup>
8-
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
9-
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1">
10-
<PrivateAssets>all</PrivateAssets>
11-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12-
</PackageReference>
13-
<PackageReference Include="Should" Version="1.1.20" />
14-
<PackageReference Include="SpecFlow" Version="3.1.89" />
15-
<PackageReference Include="SpecFlow.NUnit" Version="3.1.89" />
16-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
17-
<PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.1.89" />
18-
</ItemGroup>
19-
20-
<ItemGroup>
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
11+
<PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.9.74" />
12+
<PackageReference Include="SpecFlow.xUnit" Version="3.9.74" />
13+
<PackageReference Include="xunit" Version="2.9.0" />
14+
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2" />
2115
<ProjectReference Include="..\SparkPost\SparkPost.csproj" />
2216
</ItemGroup>
2317

2418
<ItemGroup>
25-
<Folder Include="Properties\" />
19+
<Content Include="testtextfile.txt">
20+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
21+
</Content>
2622
</ItemGroup>
2723

2824
</Project>

src/SparkPost.Acceptance/TransmissionsSteps.cs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
using System;
1+
using System;
22
using TechTalk.SpecFlow;
33

44
namespace SparkPost.Acceptance
55
{
6+
[Obsolete]
67
[Binding]
78
public class TransmissionsSteps
89
{
@@ -11,49 +12,49 @@ public void GivenIHaveANewTransmission()
1112
{
1213
ScenarioContext.Current.Pending();
1314
}
14-
15+
1516
[Given(@"the transmission is meant to be sent from '(.*)'")]
1617
public void GivenTheTransmissionIsMeantToBeSentFrom(string p0)
1718
{
1819
ScenarioContext.Current.Pending();
1920
}
20-
21+
2122
[Given(@"the transmission is meant to be sent to '(.*)'")]
2223
public void GivenTheTransmissionIsMeantToBeSentTo(string p0)
2324
{
2425
ScenarioContext.Current.Pending();
2526
}
26-
27+
2728
[Given(@"the transmission content is")]
2829
public void GivenTheTransmissionContentIs(Table table)
2930
{
3031
ScenarioContext.Current.Pending();
3132
}
32-
33+
3334
[Given(@"the transmission has a text file attachment")]
3435
public void GivenTheTransmissionHasATextFileAttachment()
3536
{
3637
ScenarioContext.Current.Pending();
3738
}
38-
39+
3940
[Given(@"the transmission template id is set to '(.*)'")]
4041
public void GivenTheTransmissionTemplateIdIsSetTo(string p0)
4142
{
4243
ScenarioContext.Current.Pending();
4344
}
44-
45+
4546
[Given(@"the transmission is meant to be CCd to '(.*)'")]
4647
public void GivenTheTransmissionIsMeantToBeCCdTo(string p0)
4748
{
4849
ScenarioContext.Current.Pending();
4950
}
50-
51+
5152
[Given(@"the transmission is meant to be BCCd to '(.*)'")]
5253
public void GivenTheTransmissionIsMeantToBeBCCdTo(string p0)
5354
{
5455
ScenarioContext.Current.Pending();
5556
}
56-
57+
5758
[When(@"I send the transmission")]
5859
public void WhenISendTheTransmission()
5960
{

src/SparkPost.Tests/ClientTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Net.Http;
33
using Xunit;
44

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
using Xunit;
2+
3+
namespace SparkPost.Tests
4+
{
5+
public class EventsQueryTests
6+
{
7+
public class Defaults
8+
{
9+
[Fact]
10+
public void It_should_have_a_default_build_list()
11+
{
12+
Assert.NotNull(new EventsQuery().BounceClasses);
13+
}
14+
15+
[Fact]
16+
public void It_should_have_a_default_campaigns_list()
17+
{
18+
Assert.NotNull(new EventsQuery().Campaigns);
19+
}
20+
21+
[Fact]
22+
public void It_should_have_a_default_from_addresses_list()
23+
{
24+
Assert.NotNull(new EventsQuery().FromAddresses);
25+
}
26+
27+
[Fact]
28+
public void It_should_have_a_default_messages_list()
29+
{
30+
Assert.NotNull(new EventsQuery().Messages);
31+
}
32+
33+
[Fact]
34+
public void It_should_have_a_recipients_list()
35+
{
36+
Assert.NotNull(new EventsQuery().Recipients);
37+
}
38+
39+
[Fact]
40+
public void It_should_have_a_Subaccounts_list()
41+
{
42+
Assert.NotNull(new EventsQuery().Subaccounts);
43+
}
44+
45+
[Fact]
46+
public void It_should_have_templates_list()
47+
{
48+
Assert.NotNull(new EventsQuery().Templates);
49+
}
50+
51+
[Fact]
52+
public void It_should_have_transmissions_list()
53+
{
54+
Assert.NotNull(new EventsQuery().Transmissions);
55+
}
56+
}
57+
}
58+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using Xunit;
2+
3+
namespace SparkPost.Tests
4+
{
5+
public class ListEventsResponseTests
6+
{
7+
public class DefaultTests
8+
{
9+
[Fact]
10+
public void It_should_not_have_nil_links()
11+
{
12+
var response = new ListEventsResponse();
13+
Assert.NotNull(response.Link);
14+
}
15+
16+
[Fact]
17+
public void It_should_not_have_nil_events()
18+
{
19+
var response = new ListEventsResponse();
20+
Assert.NotNull(response.Events);
21+
}
22+
}
23+
}
24+
}

src/SparkPost.Tests/ListMessageEventsResponseTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
using Xunit;
1+
using System;
2+
using Xunit;
23

34
namespace SparkPost.Tests
45
{
6+
[Obsolete]
57
public class ListMessageEventsResponseTests
68
{
79
public class DefaultTests

src/SparkPost.Tests/MessageEventsQueryTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
using Xunit;
1+
using System;
2+
using Xunit;
23

34
namespace SparkPost.Tests
45
{
6+
[Obsolete]
57
public class MessageEventsQueryTests
68
{
79
public class Defaults

src/SparkPost.Tests/SparkPost.Tests.csproj

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,19 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp2.1</TargetFramework>
5-
<ApplicationIcon />
4+
<TargetFramework>net6.0</TargetFramework>
5+
<AssemblyName>SparkPost.Tests</AssemblyName>
66
<OutputType>Library</OutputType>
7-
<StartupObject />
87
</PropertyGroup>
98

109
<ItemGroup>
11-
<PackageReference Include="AutoMoq" Version="2.0.0" />
12-
<PackageReference Include="CastAs" Version="4.0.0" />
13-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
14-
<PackageReference Include="Moq" Version="4.13.1" />
15-
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
16-
<PackageReference Include="NUnit" Version="3.12.0" />
17-
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0">
18-
<PrivateAssets>all</PrivateAssets>
19-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
20-
</PackageReference>
21-
<PackageReference Include="Should" Version="1.1.20" />
22-
</ItemGroup>
23-
24-
<ItemGroup>
25-
<Folder Include="Properties\" />
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
11+
<PackageReference Include="Moq" Version="4.18.1" />
12+
<PackageReference Include="xunit" Version="2.9.0" />
13+
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
14+
<PrivateAssets>all</PrivateAssets>
15+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
16+
</PackageReference>
2617
</ItemGroup>
2718

2819
<ItemGroup>

src/SparkPost.Tests/SuppressionTests.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Net;
44
using System.Threading.Tasks;
@@ -35,14 +35,14 @@ public DeleteTests()
3535
email = Guid.NewGuid().ToString();
3636
}
3737

38-
[Test]
38+
[Fact]
3939
public async Task It_should_return_true_if_the_web_request_returns_no_content()
4040
{
4141
var result = await suppressions.Delete(email);
4242
Assert.True(result);
4343
}
4444

45-
[Test]
45+
[Fact]
4646
public async Task It_should_return_false_if_the_web_request_returns_anything_but_no_content()
4747
{
4848
response.StatusCode = HttpStatusCode.Accepted;
@@ -58,7 +58,7 @@ public async Task It_should_return_false_if_the_web_request_returns_anything_but
5858
Assert.False(deleted);
5959
}
6060

61-
[Test]
61+
[Fact]
6262
public async Task It_should_build_the_web_request_parameters_correctly()
6363
{
6464
var version = Guid.NewGuid().ToString();
@@ -79,7 +79,7 @@ public async Task It_should_build_the_web_request_parameters_correctly()
7979
await suppressions.Delete(email);
8080
}
8181

82-
[Test]
82+
[Fact]
8383
public async Task It_should_encode_the_email_address()
8484
{
8585
var version = Guid.NewGuid().ToString();
@@ -127,30 +127,30 @@ public CreateOrUpdateTests()
127127
suppressions = new Suppressions(client.Object, requestSender.Object, dataMapper.Object);
128128
}
129129

130-
[Test]
130+
[Fact]
131131
public async Task It_should_return_a_response_when_the_web_request_is_ok()
132132
{
133133
var result = await suppressions.CreateOrUpdate(suppressionsList);
134134
Assert.NotNull(result);
135135
}
136136

137-
[Test]
137+
[Fact]
138138
public async Task It_should_return_the_reason_phrase()
139139
{
140140
response.ReasonPhrase = Guid.NewGuid().ToString();
141141
var result = await suppressions.CreateOrUpdate(suppressionsList);
142142
Assert.Equal(response.ReasonPhrase, result.ReasonPhrase);
143143
}
144144

145-
[Test]
145+
[Fact]
146146
public async Task It_should_return_the_content()
147147
{
148148
response.Content = Guid.NewGuid().ToString();
149149
var result = await suppressions.CreateOrUpdate(suppressionsList);
150150
Assert.Equal(response.Content, result.Content);
151151
}
152152

153-
[Test]
153+
[Fact]
154154
public async Task It_should_make_a_properly_formed_request()
155155
{
156156
client.Setup(x => x.Version).Returns(Guid.NewGuid().ToString());
@@ -168,7 +168,7 @@ public async Task It_should_make_a_properly_formed_request()
168168
await suppressions.CreateOrUpdate(suppressionsList);
169169
}
170170

171-
[Test]
171+
[Fact]
172172
public async Task It_should_throw_if_the_http_status_code_is_not_ok()
173173
{
174174
response.StatusCode = HttpStatusCode.Accepted;

0 commit comments

Comments
 (0)