- Remove zombie JobEngine WebService (no container runs it) - Remove dangling STELLAOPS_JOBENGINE_URL, replace with RELEASE_ORCHESTRATOR_URL - Update Timeline audit paths to release-orchestrator - Extract smremote to docker-compose.crypto-provider.smremote.yml - Rename crypto compose files for consistent naming - Add crypto provider health probe API (CP-001) + tenant preferences (CP-002) - Create sprint plans: crypto picker, VulnExplorer merge, scheduler plugins - Timeline merge prep: ingestion worker relocated to infrastructure lib Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
41 lines
1.6 KiB
C#
41 lines
1.6 KiB
C#
using System.Net;
|
|
using FluentAssertions;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.AspNetCore.Mvc.Testing;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Xunit;
|
|
|
|
namespace StellaOps.Timeline.WebService.Tests;
|
|
|
|
[Trait("Category", "Integration")]
|
|
public sealed class TimelineStartupRegistrationTests
|
|
{
|
|
[Fact]
|
|
public async Task Startup_WithPostgresStoreConfiguration_BuildsHost()
|
|
{
|
|
await using var factory = new WebApplicationFactory<StellaOps.Timeline.WebService.Program>()
|
|
.WithWebHostBuilder(builder =>
|
|
{
|
|
builder.UseEnvironment("Development");
|
|
builder.ConfigureAppConfiguration((_, config) =>
|
|
{
|
|
config.AddInMemoryCollection(new Dictionary<string, string?>
|
|
{
|
|
["Eventing:ServiceName"] = "timeline-tests",
|
|
["Eventing:UseInMemoryStore"] = "false",
|
|
["Eventing:ConnectionString"] = "Host=localhost;Port=5432;Database=timeline;Username=postgres;Password=postgres",
|
|
["Authority:ResourceServer:Authority"] = "http://localhost",
|
|
// Required by TimelineIndexer Postgres registration (merged from timeline-indexer)
|
|
["Postgres:Timeline:ConnectionString"] = "Host=localhost;Port=5432;Database=timeline;Username=postgres;Password=postgres",
|
|
});
|
|
});
|
|
});
|
|
|
|
using var client = factory.CreateClient();
|
|
|
|
var response = await client.GetAsync("/does-not-exist");
|
|
|
|
response.StatusCode.Should().Be(HttpStatusCode.NotFound);
|
|
}
|
|
}
|