[AZ-1074] [AZ-1075] Cycle 9 closeout: security, tests, metrics
ci/woodpecker/push/01-test Pipeline failed
ci/woodpecker/push/02-build-push unknown status

Resolve F-AZ1074-1/2 (collection caps, generic gRPC internal errors).
Standalone integration compose stack, docs, security audit, perf and retro.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-06-25 17:32:14 +03:00
parent 7633134a8a
commit 7ed780b063
22 changed files with 618 additions and 40 deletions
@@ -37,6 +37,29 @@ public class RouteTileDeliveryOrchestratorTests
.WithMessage("*lat must be between -90 and 90*");
}
[Fact]
public async Task DeliverAsync_TooManyWaypoints_Throws()
{
var expander = new RouteTileExpander(
new RoutePointGraphBuilder(Options.Create(new ProcessingConfig { MaxRoutePointSpacingMeters = 200 })),
new GeofenceGridCalculator());
var orchestrator = CreateOrchestrator(expander, Mock.Of<ITileRepository>(), Mock.Of<ITileService>());
var waypoints = Enumerable.Range(0, 501).Select(i => (47.0 + i * 0.0001, 37.0)).ToList();
var job = new RouteTileDeliveryJob(
Guid.NewGuid(),
waypoints,
400,
18,
[],
false,
[]);
var act = () => orchestrator.DeliverAsync(job, new RecordingSink(), CancellationToken.None);
await act.Should().ThrowAsync<ArgumentException>()
.WithMessage("*at most 500*");
}
[Fact]
public async Task DeliverAsync_AllTilesSkippedByClient_EmitsManifestAndCompleteWithZeroDelivered()
{