Skip to content

Commit

Permalink
fix(back): ServiceProvider not found during tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cladel committed Aug 10, 2023
1 parent 0f42918 commit 3f903c0
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@ public sealed class LianeMemberPingHandler : IEventListener<LianeEvent.MemberPin
private readonly ConcurrentDictionary<string, Task<LianeTracker>> trackers = new();
private readonly ILianeService lianeService;
private readonly ICurrentContext currentContext;
private readonly ServiceProvider serviceProvider;
public LianeMemberPingHandler(IMongoDatabase db, ILianeMemberTracker lianeMemberTracker, ILianeService lianeService, ICurrentContext currentContext, IOsrmService osrmService, IPostgisService postgisService, ServiceProvider serviceProvider)
private readonly IOsrmService osrmService;
private readonly IPostgisService postgisService;
public LianeMemberPingHandler(IMongoDatabase db, ILianeMemberTracker lianeMemberTracker, ILianeService lianeService, ICurrentContext currentContext, IOsrmService osrmService, IPostgisService postgisService)
{
mongo = db;
this.lianeMemberTracker = lianeMemberTracker;
this.lianeService = lianeService;
this.currentContext = currentContext;
this.serviceProvider = serviceProvider;
this.osrmService = osrmService;
this.postgisService = postgisService;
}

private async Task EndTrip(Ref<Api.Trip.Liane> liane)
Expand Down Expand Up @@ -77,7 +79,7 @@ public async Task OnEvent(LianeEvent.MemberPing e, Ref<Api.User.User>? sender =
})
.SetAutoDisposeTimeout(() => EndTrip(liane.Id)
, 3600 * 1000)
.Build(serviceProvider);
.Build(osrmService, postgisService);
});

await tracker.Push(ping);
Expand Down
5 changes: 1 addition & 4 deletions back/src/Liane/Liane.Service/Internal/Trip/LianeTracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
using Liane.Service.Internal.Osrm;
using Liane.Service.Internal.Postgis;
using Liane.Service.Internal.Util;
using Microsoft.Extensions.DependencyInjection;

namespace Liane.Service.Internal.Trip;

Expand Down Expand Up @@ -63,10 +62,8 @@ public Builder SetAutoDisposeTimeout(Func<Task> onTimeout, int delayMillis)
return this;
}

public async Task<LianeTracker> Build(ServiceProvider serviceProvider)
public async Task<LianeTracker> Build(IOsrmService osrmService, IPostgisService postgisService)
{
var osrmService = serviceProvider.GetService<IOsrmService>()!;
var postgisService = serviceProvider.GetService<IPostgisService>()!;
var route = await osrmService.Route(liane.WayPoints.Select(w => w.RallyingPoint.Location));
var routeAsLineString = route.Routes[0].Geometry.Coordinates.ToLineString();
tripSession = await postgisService.CreateOngoingTrip(liane.Id, routeAsLineString);
Expand Down
5 changes: 4 additions & 1 deletion back/src/Liane/Liane.Test/Integration/LianeTrackerTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@
using Liane.Api.Trip;
using Liane.Api.User;
using Liane.Api.Util.Ref;
using Liane.Service.Internal.Osrm;
using Liane.Service.Internal.Postgis;
using Liane.Service.Internal.Trip;
using Liane.Test.Util;
using Microsoft.Extensions.DependencyInjection;
using MongoDB.Driver;
using NUnit.Framework;

Expand Down Expand Up @@ -58,7 +61,7 @@ public async Task ShouldFinishTrip()
{
finished = true;
})
.Build(ServiceProvider);
.Build(ServiceProvider.GetService<IOsrmService>()!, ServiceProvider.GetService<IPostgisService>()!);

var pings = geojsonPings.Features.Select(f =>
{
Expand Down

0 comments on commit 3f903c0

Please sign in to comment.