27 lines
974 B
TypeScript
27 lines
974 B
TypeScript
|
|
import { describe, it, expect, beforeAll } from 'vitest';
|
||
|
|
import { loadArtifact } from './_setup/harness.js';
|
||
|
|
|
||
|
|
// Smoke gate: if egress to prod is blocked or the gateway is down, fail fast here.
|
||
|
|
describe('e2e-prod: health', () => {
|
||
|
|
let baseUrl: string;
|
||
|
|
beforeAll(() => {
|
||
|
|
baseUrl = loadArtifact().baseUrl;
|
||
|
|
});
|
||
|
|
|
||
|
|
it('GET /health is ok', async () => {
|
||
|
|
const res = await fetch(`${baseUrl}/health`);
|
||
|
|
expect(res.ok).toBe(true);
|
||
|
|
const body = (await res.json()) as { status?: string };
|
||
|
|
expect(body.status).toBe('ok');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('content + game gRPC backends are serving', async () => {
|
||
|
|
// /readyz may be 503 if analytics is not_serving (out of scope here); assert the
|
||
|
|
// backends this suite actually uses are serving.
|
||
|
|
const res = await fetch(`${baseUrl}/readyz`);
|
||
|
|
const body = (await res.json()) as { grpc?: Record<string, string> };
|
||
|
|
expect(body.grpc?.content).toBe('serving');
|
||
|
|
expect(body.grpc?.game).toBe('serving');
|
||
|
|
});
|
||
|
|
});
|