Skip to content

Commit 038c3f4

Browse files
Merge pull request #131 from darrencauthon/samples_support
Samples support
2 parents 35242d2 + e17aafc commit 038c3f4

File tree

9 files changed

+160
-1
lines changed

9 files changed

+160
-1
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Feature: Message Events
2+
3+
Background:
4+
Given my api key is 'yyy'
5+
6+
Scenario: Samples
7+
When I ask for samples of 'bounce'
8+
Then it should return a 200

src/SparkPost.Acceptance/MessageEvents.feature.cs

Lines changed: 93 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System.Threading.Tasks;
2+
using TechTalk.SpecFlow;
3+
4+
namespace SparkPost.Acceptance
5+
{
6+
[Binding]
7+
public class MessageEventsSteps
8+
{
9+
[When(@"I ask for samples of '(.*)'")]
10+
public void WhenIAskForSamplesOf(string events)
11+
{
12+
var client = ScenarioContext.Current.Get<IClient>();
13+
14+
MessageEventSampleResponse response = null;
15+
16+
Task.Run(async () => { response = await client.MessageEvents.SamplesOf(events); }).Wait();
17+
18+
ScenarioContext.Current.Set(response);
19+
ScenarioContext.Current.Set<Response>(response);
20+
}
21+
}
22+
}

src/SparkPost.Acceptance/SparkPost.Acceptance.csproj

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@
5252
</Reference>
5353
</ItemGroup>
5454
<ItemGroup>
55+
<Compile Include="MessageEvents.feature.cs">
56+
<DependentUpon>MessageEvents.feature</DependentUpon>
57+
<AutoGen>True</AutoGen>
58+
<DesignTime>True</DesignTime>
59+
</Compile>
60+
<Compile Include="MessageEventsSteps.cs" />
5561
<Compile Include="MetricsSteps.cs" />
5662
<Compile Include="Properties\AssemblyInfo.cs" />
5763
<Compile Include="Metrics.feature.cs">
@@ -88,6 +94,10 @@
8894
</ItemGroup>
8995
<ItemGroup>
9096
<None Include="App.config" />
97+
<None Include="MessageEvents.feature">
98+
<Generator>SpecFlowSingleFileGenerator</Generator>
99+
<LastGenOutput>MessageEvents.feature.cs</LastGenOutput>
100+
</None>
91101
<None Include="packages.config" />
92102
<None Include="Metrics.feature">
93103
<Generator>SpecFlowSingleFileGenerator</Generator>

src/SparkPost/IMessageEvents.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ public interface IMessageEvents
66
{
77
Task<ListMessageEventsResponse> List();
88
Task<ListMessageEventsResponse> List(object query);
9+
Task<MessageEventSampleResponse> SamplesOf(string events);
910
}
1011
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace SparkPost
2+
{
3+
public class MessageEventSampleResponse : Response
4+
{
5+
}
6+
}

src/SparkPost/MessageEvents.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,25 @@ public async Task<ListMessageEventsResponse> List(object messageEventsQuery)
5151
return listMessageEventsResponse;
5252
}
5353

54+
public async Task<MessageEventSampleResponse> SamplesOf(string events)
55+
{
56+
var request = new Request
57+
{
58+
Url = $"/api/{client.Version}/message-events/events/samples?events={events}",
59+
Method = "GET"
60+
};
61+
62+
var response = await requestSender.Send(request);
63+
if (response.StatusCode != HttpStatusCode.OK) throw new ResponseException(response);
64+
65+
return new MessageEventSampleResponse
66+
{
67+
ReasonPhrase = response.ReasonPhrase,
68+
StatusCode = response.StatusCode,
69+
Content = response.Content,
70+
};
71+
}
72+
5473
private static IEnumerable<PageLink> ConvertToLinks(dynamic page_links)
5574
{
5675
var links = new List<PageLink>();

src/SparkPost/SparkPost.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
<Compile Include="ListSendingDomainResponse.cs" />
7676
<Compile Include="MessageEvent.cs" />
7777
<Compile Include="MessageEvents.cs" />
78+
<Compile Include="MessageEventSampleResponse.cs" />
7879
<Compile Include="MessageEventsQuery.cs" />
7980
<Compile Include="MessageEventType.cs" />
8081
<Compile Include="Metrics.cs" />

src/SparkPost/UpdateRecipientListResponse.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@
22
{
33
public class UpdateRecipientListResponse : Response
44
{
5-
65
}
76
}

0 commit comments

Comments
 (0)