Files
veille-reglementaire/server/azureAuth.test.ts
Manus Automation 290e3709e2
All checks were successful
Deploy Production / deploy (push) Has been skipped
Validation applicative / TypeScript, tests et build (push) Successful in 4m19s
Deploy Recette / deploy (push) Successful in 4m59s
feat(ci): ajouter validation et garde-fou de déploiement
2026-08-20 16:40:12 +00:00

48 lines
1.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { afterAll, beforeEach, describe, expect, it, vi } from "vitest";
const azureTestConfig = {
tenantId: "00000000-0000-0000-0000-000000000001",
clientId: "00000000-0000-0000-0000-000000000002",
clientSecret: "test-secret-not-used-for-url",
};
const originalAzureEnv = {
tenantId: process.env.AZURE_AD_TENANT_ID,
clientId: process.env.AZURE_AD_CLIENT_ID,
clientSecret: process.env.AZURE_AD_CLIENT_SECRET,
redirectUri: process.env.AZURE_AD_REDIRECT_URI,
};
describe("Azure AD configuration", () => {
beforeEach(() => {
// Chaque test utilise une instance MSAL neuve et ne dépend jamais des secrets CI.
vi.resetModules();
process.env.AZURE_AD_TENANT_ID = azureTestConfig.tenantId;
process.env.AZURE_AD_CLIENT_ID = azureTestConfig.clientId;
process.env.AZURE_AD_CLIENT_SECRET = azureTestConfig.clientSecret;
process.env.AZURE_AD_REDIRECT_URI = "https://example.test/api/auth/azure/callback";
});
afterAll(() => {
process.env.AZURE_AD_TENANT_ID = originalAzureEnv.tenantId;
process.env.AZURE_AD_CLIENT_ID = originalAzureEnv.clientId;
process.env.AZURE_AD_CLIENT_SECRET = originalAzureEnv.clientSecret;
process.env.AZURE_AD_REDIRECT_URI = originalAzureEnv.redirectUri;
});
it("détecte Azure AD lorsquune configuration complète est fournie", async () => {
const { isAzureAdConfigured } = await import("./azureAuth");
const configured = isAzureAdConfigured();
expect(configured).toBe(true);
});
it("génère une URL dautorisation Azure AD à partir de la configuration de test", async () => {
const { getAzureAuthUrl } = await import("./azureAuth");
const url = await getAzureAuthUrl();
expect(url).toContain("login.microsoftonline.com");
expect(url).toContain("oauth2/v2.0/authorize");
expect(url).toContain(azureTestConfig.tenantId);
expect(url).toContain(azureTestConfig.clientId);
});
});