From 3f903c07336da79998c6596d7c71a82ee4d95b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chlo=C3=A9=20L?= Date: Thu, 10 Aug 2023 18:29:38 +0200 Subject: [PATCH] fix(back): ServiceProvider not found during tests --- .../Internal/Trip/Event/LianeMemberPingHandler.cs | 10 ++++++---- .../Liane/Liane.Service/Internal/Trip/LianeTracker.cs | 5 +---- .../Liane/Liane.Test/Integration/LianeTrackerTest.cs | 5 ++++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/back/src/Liane/Liane.Service/Internal/Trip/Event/LianeMemberPingHandler.cs b/back/src/Liane/Liane.Service/Internal/Trip/Event/LianeMemberPingHandler.cs index 3fc719378..a0298770f 100644 --- a/back/src/Liane/Liane.Service/Internal/Trip/Event/LianeMemberPingHandler.cs +++ b/back/src/Liane/Liane.Service/Internal/Trip/Event/LianeMemberPingHandler.cs @@ -20,14 +20,16 @@ public sealed class LianeMemberPingHandler : IEventListener> 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 liane) @@ -77,7 +79,7 @@ public async Task OnEvent(LianeEvent.MemberPing e, Ref? sender = }) .SetAutoDisposeTimeout(() => EndTrip(liane.Id) , 3600 * 1000) - .Build(serviceProvider); + .Build(osrmService, postgisService); }); await tracker.Push(ping); diff --git a/back/src/Liane/Liane.Service/Internal/Trip/LianeTracker.cs b/back/src/Liane/Liane.Service/Internal/Trip/LianeTracker.cs index c6ab23b11..a2093580a 100644 --- a/back/src/Liane/Liane.Service/Internal/Trip/LianeTracker.cs +++ b/back/src/Liane/Liane.Service/Internal/Trip/LianeTracker.cs @@ -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; @@ -63,10 +62,8 @@ public Builder SetAutoDisposeTimeout(Func onTimeout, int delayMillis) return this; } - public async Task Build(ServiceProvider serviceProvider) + public async Task Build(IOsrmService osrmService, IPostgisService postgisService) { - var osrmService = serviceProvider.GetService()!; - var postgisService = serviceProvider.GetService()!; 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); diff --git a/back/src/Liane/Liane.Test/Integration/LianeTrackerTest.cs b/back/src/Liane/Liane.Test/Integration/LianeTrackerTest.cs index 779decb5f..492f33cc2 100644 --- a/back/src/Liane/Liane.Test/Integration/LianeTrackerTest.cs +++ b/back/src/Liane/Liane.Test/Integration/LianeTrackerTest.cs @@ -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; @@ -58,7 +61,7 @@ public async Task ShouldFinishTrip() { finished = true; }) - .Build(ServiceProvider); + .Build(ServiceProvider.GetService()!, ServiceProvider.GetService()!); var pings = geojsonPings.Features.Select(f => {