Skip to content

Commit c030cb0

Browse files
Use client in integration tests
1 parent 8405c68 commit c030cb0

3 files changed

Lines changed: 34 additions & 57 deletions

File tree

FileProcessor.IntegrationTests/Common/DockerHelper.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace FileProcessor.IntegrationTests.Common
1111
using System.Net;
1212
using System.Net.Http;
1313
using System.Threading;
14+
using Client;
1415
using Ductus.FluentDocker.Builders;
1516
using Ductus.FluentDocker.Common;
1617
using Ductus.FluentDocker.Model.Builders;
@@ -43,7 +44,10 @@ public class DockerHelper : global::Shared.IntegrationTesting.DockerHelper
4344
/// </summary>
4445
public ISecurityServiceClient SecurityServiceClient;
4546

46-
public HttpClient FileProcessorClient;
47+
/// <summary>
48+
/// The file processor client
49+
/// </summary>
50+
public IFileProcessorClient FileProcessorClient;
4751

4852
/// <summary>
4953
/// The test identifier
@@ -360,9 +364,7 @@ await Retry.For(async () =>
360364
this.EstateClient = new EstateClient(EstateManagementBaseAddressResolver, httpClient);
361365
this.SecurityServiceClient = new SecurityServiceClient(SecurityServiceBaseAddressResolver, httpClient);
362366
this.EstateReportingClient = new EstateReportingClient(EstateReportingBaseAddressResolver, httpClient);
363-
//this.TransactionProcessorClient = new TransactionProcessorClient(TransactionProcessorBaseAddressResolver, httpClient);
364-
this.FileProcessorClient = new HttpClient();
365-
this.FileProcessorClient.BaseAddress = new Uri(FileProcessorBaseAddressResolver(null));
367+
this.FileProcessorClient = new FileProcessorClient(FileProcessorBaseAddressResolver, httpClient);
366368

367369
await this.LoadEventStoreProjections().ConfigureAwait(false);
368370
}

FileProcessor.IntegrationTests/Features/GetFileImportDetailsSteps.cs

Lines changed: 27 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ namespace FileProcessor.IntegrationTests.Features
1010
using System.Net;
1111
using System.Net.Http;
1212
using System.Net.Http.Headers;
13+
using System.Threading;
1314
using Common;
1415
using DataTransferObjects.Responses;
1516
using Newtonsoft.Json;
@@ -36,7 +37,7 @@ public GetFileImportDetailsSteps(ScenarioContext scenarioContext,
3637
[When(@"I get the '(.*)' import logs between '(.*)' and '(.*)' the following data is returned")]
3738
public async Task WhenIGetTheImportLogsBetweenAndTheFollowingDataIsReturned(string estateName, string startDate, string endDate, Table table)
3839
{
39-
FileImportLogList importLogList = await this.GetFileImportLogList(estateName, startDate, endDate);
40+
FileImportLogList importLogList = await this.GetFileImportLogList(estateName, startDate, endDate, CancellationToken.None);
4041

4142
foreach (TableRow tableRow in table.Rows)
4243
{
@@ -50,88 +51,65 @@ public async Task WhenIGetTheImportLogsBetweenAndTheFollowingDataIsReturned(stri
5051
}
5152
}
5253

53-
private async Task<FileDetails> GetFile(String estateName, Guid fileId)
54+
private async Task<FileDetails> GetFile(String estateName, Guid fileId, CancellationToken cancellationToken)
5455
{
5556
var estateDetails = this.TestingContext.GetEstateDetails(estateName);
56-
57-
String requestUri =
58-
$"{this.TestingContext.DockerHelper.FileProcessorClient.BaseAddress}api/files/{fileId}?estateId={estateDetails.EstateId}";
59-
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, requestUri);
60-
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", this.TestingContext.AccessToken);
61-
62-
var responseMessage = await this.TestingContext.DockerHelper.FileProcessorClient.SendAsync(requestMessage);
63-
64-
responseMessage.StatusCode.ShouldBe(HttpStatusCode.OK);
65-
var content = await responseMessage.Content.ReadAsStringAsync();
66-
content.ShouldNotBeNull();
67-
content.ShouldNotBeEmpty();
68-
69-
var fileDetails = JsonConvert.DeserializeObject<FileDetails>(content);
57+
58+
var fileDetails = await this.TestingContext.DockerHelper.FileProcessorClient.GetFile(this.TestingContext.AccessToken, estateDetails.EstateId, fileId, cancellationToken);
7059
fileDetails.ShouldNotBeNull();
71-
60+
7261
return fileDetails;
7362
}
7463

7564
private async Task<FileImportLogList> GetFileImportLogList(String estateName,
7665
String startDate,
77-
String endDate)
66+
String endDate,
67+
CancellationToken cancellationToken)
7868
{
7969
var queryStartDate = SpecflowTableHelper.GetDateForDateString(startDate, DateTime.Now);
8070
var queryEndDate = SpecflowTableHelper.GetDateForDateString(endDate, DateTime.Now);
8171
var estateDetails = this.TestingContext.GetEstateDetails(estateName);
8272

83-
String requestUri =
84-
$"{this.TestingContext.DockerHelper.FileProcessorClient.BaseAddress}api/fileImportLogs?estateId={estateDetails.EstateId}&startDate={queryStartDate.Date:yyyy-MM-dd}&endDate={queryEndDate.Date:yyyy-MM-dd}";
85-
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, requestUri);
86-
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", this.TestingContext.AccessToken);
87-
88-
var responseMessage = await this.TestingContext.DockerHelper.FileProcessorClient.SendAsync(requestMessage);
89-
90-
responseMessage.StatusCode.ShouldBe(HttpStatusCode.OK);
91-
var content = await responseMessage.Content.ReadAsStringAsync();
92-
content.ShouldNotBeNull();
93-
content.ShouldNotBeEmpty();
94-
95-
var importLogList = JsonConvert.DeserializeObject<FileImportLogList>(content);
73+
var importLogList = await this.TestingContext.DockerHelper.FileProcessorClient.GetFileImportLogs(this.TestingContext.AccessToken,
74+
estateDetails.EstateId,
75+
queryStartDate,
76+
queryEndDate,
77+
null,
78+
cancellationToken);
9679
importLogList.ShouldNotBeNull();
9780
importLogList.FileImportLogs.ShouldNotBeNull();
9881
importLogList.FileImportLogs.ShouldNotBeEmpty();
82+
9983
return importLogList;
10084
}
10185

10286
private async Task<FileImportLog> GetFileImportLog(String estateName,
103-
Guid fileImportLogId)
87+
Guid fileImportLogId,
88+
CancellationToken cancellationToken)
10489
{
10590
var estateDetails = this.TestingContext.GetEstateDetails(estateName);
10691

107-
String requestUri =
108-
$"{this.TestingContext.DockerHelper.FileProcessorClient.BaseAddress}api/fileImportLogs/{fileImportLogId}?estateId={estateDetails.EstateId}";
109-
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, requestUri);
110-
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", this.TestingContext.AccessToken);
111-
112-
var responseMessage = await this.TestingContext.DockerHelper.FileProcessorClient.SendAsync(requestMessage);
113-
114-
responseMessage.StatusCode.ShouldBe(HttpStatusCode.OK);
115-
var content = await responseMessage.Content.ReadAsStringAsync();
116-
content.ShouldNotBeNull();
117-
content.ShouldNotBeEmpty();
118-
119-
var fileImportLog = JsonConvert.DeserializeObject<FileImportLog>(content);
92+
var fileImportLog = await this.TestingContext.DockerHelper.FileProcessorClient.GetFileImportLog(this.TestingContext.AccessToken,
93+
fileImportLogId,
94+
estateDetails.EstateId,
95+
null,
96+
cancellationToken);
12097
fileImportLog.ShouldNotBeNull();
12198
fileImportLog.Files.ShouldNotBeNull();
12299
fileImportLog.Files.ShouldNotBeEmpty();
100+
123101
return fileImportLog;
124102
}
125103

126104
[When(@"I get the '(.*)' import log for '(.*)' the following file information is returned")]
127105
public async Task WhenIGetTheImportLogForTheFollowingFileInformationIsReturned(string estateName, string startDate, Table table)
128106
{
129107
EstateDetails estateDetails = this.TestingContext.GetEstateDetails(estateName);
130-
FileImportLogList importLogList = await this.GetFileImportLogList(estateName, startDate, startDate);
108+
FileImportLogList importLogList = await this.GetFileImportLogList(estateName, startDate, startDate, CancellationToken.None);
131109

132110
importLogList.FileImportLogs.ShouldHaveSingleItem();
133111

134-
var fileImportLog = await this.GetFileImportLog(estateName, importLogList.FileImportLogs.Single().FileImportLogId);
112+
var fileImportLog = await this.GetFileImportLog(estateName, importLogList.FileImportLogs.Single().FileImportLogId, CancellationToken.None);
135113

136114
foreach (TableRow tableRow in table.Rows)
137115
{
@@ -167,7 +145,7 @@ public async Task WhenIGetTheFileForEstateTheFollowingFileInformationIsReturned(
167145

168146
await Retry.For(async () =>
169147
{
170-
var fileDetails = await this.GetFile(estateName, fileId);
148+
var fileDetails = await this.GetFile(estateName, fileId, CancellationToken.None);
171149
fileDetails.ProcessingCompleted.ShouldBe(processingCompleted);
172150
fileDetails.FileLines.Count.ShouldBe(numberOfLines);
173151
fileDetails.ProcessingSummary.TotalLines.ShouldBe(totaLines);
@@ -185,7 +163,7 @@ public async Task WhenIGetTheFileForEstateTheFollowingFileLinesAreReturned(strin
185163

186164
Guid fileId = estateDetails.GetFileId(fileName);
187165

188-
var fileDetails = await this.GetFile(estateName, fileId);
166+
var fileDetails = await this.GetFile(estateName, fileId, CancellationToken.None);
189167

190168
foreach (TableRow tableRow in table.Rows)
191169
{

FileProcessor.IntegrationTests/FileProcessor.IntegrationTests.csproj

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="EstateReporting.Client" Version="1.0.13.1" />
11+
<PackageReference Include="FileProcessor.Client" Version="0.0.3-build18" />
1112
<PackageReference Include="Grpc.Net.Client" Version="2.35.0" />
1213
<PackageReference Include="Ductus.FluentDocker" Version="2.10.7" />
1314
<PackageReference Include="EstateReporting.Database" Version="1.0.13.1" />
@@ -31,10 +32,6 @@
3132
</PackageReference>
3233
</ItemGroup>
3334

34-
<ItemGroup>
35-
<ProjectReference Include="..\FileProcessor.DataTransferObjects\FileProcessor.DataTransferObjects.csproj" />
36-
</ItemGroup>
37-
3835
<ItemGroup>
3936
<Compile Update="Features\ProcessTopupCSV.feature.cs">
4037
<DesignTime>True</DesignTime>

0 commit comments

Comments
 (0)