@enterprisestandard/esv 0.0.5-beta.20260115.2 → 0.0.5-beta.20260115.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/iam/index.d.ts +8 -5
- package/dist/iam/index.js +5755 -664
- package/dist/iam/index.js.map +1 -1
- package/dist/index.d.ts +90 -10
- package/dist/index.js +6897 -152
- package/dist/index.js.map +1 -1
- package/dist/runner.d.ts +0 -36
- package/dist/runner.js +11407 -283
- package/dist/runner.js.map +1 -1
- package/dist/server/index.d.ts +88 -14
- package/dist/server/index.js +1387 -33
- package/dist/server/index.js.map +1 -1
- package/dist/sso/index.d.ts +8 -5
- package/dist/sso/index.js +365 -357
- package/dist/sso/index.js.map +1 -1
- package/dist/{types.d.ts → types-Bn1pr_xY.d.ts} +13 -11
- package/dist/workload/index.d.ts +8 -5
- package/dist/workload/index.js +393 -403
- package/dist/workload/index.js.map +1 -1
- package/package.json +2 -4
- package/dist/iam/index.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/runner.d.ts.map +0 -1
- package/dist/server/crypto.d.ts +0 -46
- package/dist/server/crypto.d.ts.map +0 -1
- package/dist/server/crypto.js +0 -134
- package/dist/server/crypto.js.map +0 -1
- package/dist/server/iam.d.ts +0 -11
- package/dist/server/iam.d.ts.map +0 -1
- package/dist/server/iam.js +0 -402
- package/dist/server/iam.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/server.d.ts +0 -66
- package/dist/server/server.d.ts.map +0 -1
- package/dist/server/server.js +0 -223
- package/dist/server/server.js.map +0 -1
- package/dist/server/sso.d.ts +0 -11
- package/dist/server/sso.d.ts.map +0 -1
- package/dist/server/sso.js +0 -428
- package/dist/server/sso.js.map +0 -1
- package/dist/server/state.d.ts +0 -137
- package/dist/server/state.d.ts.map +0 -1
- package/dist/server/state.js +0 -152
- package/dist/server/state.js.map +0 -1
- package/dist/server/vault.d.ts +0 -11
- package/dist/server/vault.d.ts.map +0 -1
- package/dist/server/vault.js +0 -92
- package/dist/server/vault.js.map +0 -1
- package/dist/server/workload.d.ts +0 -19
- package/dist/server/workload.d.ts.map +0 -1
- package/dist/server/workload.js +0 -226
- package/dist/server/workload.js.map +0 -1
- package/dist/sso/index.d.ts.map +0 -1
- package/dist/tenant/index.d.ts +0 -17
- package/dist/tenant/index.d.ts.map +0 -1
- package/dist/tenant/index.js +0 -300
- package/dist/tenant/index.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -75
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -139
- package/dist/utils.js.map +0 -1
- package/dist/workload/index.d.ts.map +0 -1
package/dist/sso/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sso/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts","../../src/sso/index.ts"],"sourcesContent":["/**\n * Utility functions for Enterprise Standard Validator\n */\n\nimport type { ValidationConfig, ValidationResult } from './types';\n\n// Optional type import for StandardSchemaV1 - users can pass validators from\n// @enterprisestandard/react-validators-valibot or @enterprisestandard/react-validators-zod\ntype StandardSchemaV1 = {\n readonly '~standard': {\n readonly validate: (\n value: unknown,\n ) =>\n | { value: unknown }\n | { issues: ReadonlyArray<{ message: string; path?: ReadonlyArray<PropertyKey> }> }\n | Promise<{ value: unknown } | { issues: ReadonlyArray<{ message: string; path?: ReadonlyArray<PropertyKey> }> }>;\n };\n};\n\n/**\n * Creates a fetch function with default configuration\n */\nexport function createFetcher(config: ValidationConfig) {\n const timeout = config.timeout ?? 5000;\n const headers = config.headers ?? {};\n\n return async function fetcher(path: string, options: RequestInit = {}): Promise<Response> {\n const url = `${config.baseUrl}${path}`;\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetch(url, {\n ...options,\n signal: controller.signal,\n headers: {\n ...headers,\n ...options.headers,\n },\n redirect: 'manual', // Don't follow redirects automatically\n });\n return response;\n } finally {\n clearTimeout(timeoutId);\n }\n };\n}\n\n/**\n * Wraps a test function to capture timing and errors\n */\nexport async function runTest(\n name: string,\n testFn: () => Promise<undefined | { details?: Record<string, unknown> }>,\n): Promise<ValidationResult> {\n const start = performance.now();\n try {\n const result = await testFn();\n return {\n name,\n passed: true,\n duration: performance.now() - start,\n details: result?.details,\n };\n } catch (error) {\n return {\n name,\n passed: false,\n error: error instanceof Error ? error.message : String(error),\n duration: performance.now() - start,\n };\n }\n}\n\n/**\n * Creates a skipped test result\n */\nexport function skipTest(name: string, reason: string): ValidationResult {\n return {\n name,\n passed: true,\n duration: 0,\n details: { skipped: true, reason },\n };\n}\n\n/**\n * Assertion helper for tests\n */\nexport function assert(condition: boolean, message: string): asserts condition {\n if (!condition) {\n throw new Error(message);\n }\n}\n\n/**\n * Assertion helper for equality\n */\nexport function assertEqual<T>(actual: T, expected: T, message?: string): void {\n if (actual !== expected) {\n throw new Error(message ?? `Expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`);\n }\n}\n\n/**\n * Assertion helper for validating data against a StandardSchemaV1 validator\n *\n * This is the preferred way to validate data when you have a validator available.\n * The validator can be from valibot, zod, or any other library that implements StandardSchemaV1.\n *\n * @param data - The data to validate\n * @param validator - A StandardSchemaV1 validator (e.g., from valibotValidators or zodValidators)\n * @param message - Optional custom error message\n *\n * @example\n * ```typescript\n * import { valibotValidators } from '@enterprisestandard/react-validators-valibot';\n * const tenantValidator = valibotValidators.createTenantResponse();\n * assertValid(data, tenantValidator);\n * ```\n *\n * @throws Error if validation fails\n */\nexport function assertValid(data: unknown, validator: StandardSchemaV1, message?: string): void {\n const result = validator['~standard'].validate(data);\n\n // Handle both sync and async results\n if (result instanceof Promise) {\n throw new Error(\n message ?? 'Async validators are not supported in assertValid. Use the validator directly with await.',\n );\n }\n\n if ('issues' in result) {\n const issues = result.issues;\n const errorMessages = issues.map((issue) => {\n const path = issue.path ? issue.path.map(String).join('.') : '';\n return path ? `${path}: ${issue.message}` : issue.message;\n });\n throw new Error(message ?? `Validation failed: ${errorMessages.join('; ')}`);\n }\n\n // Validation passed\n}\n\n/**\n * Parses cookies from a Set-Cookie header\n */\nexport function parseCookies(headers: Headers): Map<string, string> {\n const cookies = new Map<string, string>();\n const setCookieHeaders = headers.getSetCookie?.() ?? [];\n\n for (const cookie of setCookieHeaders) {\n const [pair] = cookie.split(';');\n const [name, value] = pair.split('=');\n if (name && value !== undefined) {\n cookies.set(name.trim(), value.trim());\n }\n }\n\n return cookies;\n}\n\n/**\n * Builds a cookie header string from a map\n */\nexport function buildCookieHeader(cookies: Map<string, string>): string {\n return Array.from(cookies.entries())\n .map(([name, value]) => `${name}=${value}`)\n .join('; ');\n}\n","/**\n * SSO Validation Tests\n *\n * These tests validate that an application correctly implements\n * Enterprise Standard SSO (Single Sign-On) functionality.\n */\n\nimport type { SSOValidationConfig, TestDef, ValidationResult, ValidationSuiteResult } from '../types';\nimport { assert, buildCookieHeader, createFetcher, parseCookies, runTest, skipTest } from '../utils';\n\n/**\n * Default configuration for SSO validation\n */\nconst DEFAULT_CONFIG: Partial<SSOValidationConfig> = {\n loginPath: '/api/auth/login',\n callbackPath: '/api/auth/callback',\n userPath: '/api/auth/user',\n logoutPath: '/api/auth/logout',\n backChannelLogoutPath: '/api/auth/logout/backchannel',\n tokenPath: '/api/auth/token',\n refreshPath: '/api/auth/refresh',\n};\n\n/**\n * Test: Login endpoint exists and redirects to authorization URL\n */\nasync function testLoginEndpoint(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n return runTest('SSO Login Endpoint', async () => {\n const response = await fetch(config.loginPath!);\n\n // Should return a redirect (302)\n assert(response.status === 302, `Expected 302 redirect, got ${response.status}`);\n\n // Should have a Location header pointing to the authorization URL\n const location = response.headers.get('Location');\n assert(location !== null, 'Missing Location header in redirect');\n\n // If an expected pattern is provided, validate the URL\n if (config.expectedAuthorizationUrlPattern) {\n assert(\n config.expectedAuthorizationUrlPattern.test(location),\n `Authorization URL does not match expected pattern: ${location}`,\n );\n }\n\n // Should have required OIDC parameters\n const url = new URL(location);\n assert(url.searchParams.has('client_id'), 'Missing client_id in authorization URL');\n assert(url.searchParams.has('redirect_uri'), 'Missing redirect_uri in authorization URL');\n assert(url.searchParams.has('response_type'), 'Missing response_type in authorization URL');\n assert(url.searchParams.has('scope'), 'Missing scope in authorization URL');\n assert(url.searchParams.has('state'), 'Missing state in authorization URL');\n assert(url.searchParams.has('code_challenge'), 'Missing code_challenge (PKCE) in authorization URL');\n assert(url.searchParams.has('code_challenge_method'), 'Missing code_challenge_method (PKCE) in authorization URL');\n\n // Should set a state cookie\n const cookies = parseCookies(response.headers);\n const hasStateCookie = Array.from(cookies.keys()).some((name) => name.includes('.state'));\n assert(hasStateCookie, 'Missing state cookie in response');\n\n return {\n details: {\n authorizationUrl: location,\n pkceEnabled: true,\n stateParameter: url.searchParams.get('state'),\n },\n };\n });\n}\n\n/**\n * Test: User endpoint returns 401 when not authenticated\n */\nasync function testUserEndpointUnauthenticated(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n return runTest('SSO User Endpoint (Unauthenticated)', async () => {\n const response = await fetch(config.userPath!);\n\n // Should return 401 Unauthorized\n assert(response.status === 401, `Expected 401 Unauthorized, got ${response.status}`);\n\n return {\n details: {\n status: response.status,\n },\n };\n });\n}\n\n/**\n * Test: Logout endpoint clears cookies\n */\nasync function testLogoutEndpoint(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n return runTest('SSO Logout Endpoint', async () => {\n const response = await fetch(`${config.logoutPath!}?redirect=/`);\n\n // Should return 302 redirect (with redirect param) or 200\n assert(response.status === 302 || response.status === 200, `Expected 302 or 200, got ${response.status}`);\n\n // Should clear cookies\n const cookies = parseCookies(response.headers);\n const clearedCookies: string[] = [];\n\n for (const [name, value] of cookies.entries()) {\n // Check if the cookie is being cleared (Max-Age=0 or empty value)\n if (value === '' || value.includes('Max-Age=0')) {\n clearedCookies.push(name);\n }\n }\n\n // Check for standard SSO cookies being cleared\n const setCookieHeaders = response.headers.getSetCookie?.() ?? [];\n const hasExpiredCookies = setCookieHeaders.some(\n (cookie) => cookie.includes('Max-Age=0') || cookie.includes('expires=Thu, 01 Jan 1970'),\n );\n\n assert(\n hasExpiredCookies || clearedCookies.length > 0 || setCookieHeaders.length === 0,\n 'Logout should clear session cookies',\n );\n\n return {\n details: {\n status: response.status,\n clearedCookies,\n },\n };\n });\n}\n\n/**\n * Test: Back-channel logout endpoint exists\n */\nasync function testBackChannelLogoutEndpoint(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n return runTest('SSO Back-Channel Logout Endpoint', async () => {\n // Send a POST request without a valid logout token\n // The endpoint should exist and return 400 (bad request) for missing token\n const response = await fetch(config.backChannelLogoutPath!, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: '',\n });\n\n // Should return 400 (missing logout_token) or 200 (if session store not configured)\n assert(\n response.status === 400 || response.status === 200 || response.status === 404,\n `Expected 400 or 200, got ${response.status}`,\n );\n\n return {\n details: {\n status: response.status,\n endpointExists: response.status !== 404,\n },\n };\n });\n}\n\n/**\n * Test: Callback endpoint returns error without valid code\n */\nasync function testCallbackEndpointInvalid(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n return runTest('SSO Callback Endpoint (Invalid)', async () => {\n // Send a callback request without proper state/code\n const response = await fetch(`${config.callbackPath!}?code=invalid&state=invalid`);\n\n // Should return 400 or 500 (validation error)\n assert(response.status >= 400, `Expected error status for invalid callback, got ${response.status}`);\n\n return {\n details: {\n status: response.status,\n handlesInvalidCallback: true,\n },\n };\n });\n}\n\n/**\n * Test: Token endpoint returns 401 when not authenticated\n */\nasync function testTokenEndpointUnauthenticated(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n if (!config.tokenPath) {\n return skipTest('SSO Token Endpoint (Unauthenticated)', 'Token path not configured');\n }\n\n return runTest('SSO Token Endpoint (Unauthenticated)', async () => {\n const response = await fetch(config.tokenPath!);\n\n // Should return 401 Unauthorized\n assert(\n response.status === 401 || response.status === 404,\n `Expected 401 Unauthorized or 404, got ${response.status}`,\n );\n\n return {\n details: {\n status: response.status,\n },\n };\n });\n}\n\n/**\n * Test: Refresh endpoint returns 401 when not authenticated\n */\nasync function testRefreshEndpointUnauthenticated(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n if (!config.refreshPath) {\n return skipTest('SSO Refresh Endpoint (Unauthenticated)', 'Refresh path not configured');\n }\n\n return runTest('SSO Refresh Endpoint (Unauthenticated)', async () => {\n const response = await fetch(config.refreshPath!);\n\n // Should return 401 Unauthorized\n assert(\n response.status === 401 || response.status === 404,\n `Expected 401 Unauthorized or 404, got ${response.status}`,\n );\n\n return {\n details: {\n status: response.status,\n },\n };\n });\n}\n\n/**\n * Helper: Complete a full SSO login flow through the mock server\n *\n * Returns the cookies set after successful authentication\n */\nasync function completeLoginFlow(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<{ cookies: Map<string, string>; success: boolean; error?: string }> {\n try {\n // Step 1: Hit the login endpoint to get the authorization redirect\n const loginResponse = await fetch(config.loginPath!);\n\n if (loginResponse.status !== 302) {\n return { cookies: new Map(), success: false, error: `Login did not redirect: ${loginResponse.status}` };\n }\n\n const authUrl = loginResponse.headers.get('Location');\n if (!authUrl) {\n return { cookies: new Map(), success: false, error: 'No redirect location from login' };\n }\n\n // Collect cookies from login response (includes state cookie)\n const loginCookies = parseCookies(loginResponse.headers);\n\n // Step 2: Follow the redirect to the authorization endpoint (mock server auto-authenticates)\n const authResponse = await globalThis.fetch(authUrl, { redirect: 'manual' });\n\n if (authResponse.status !== 302) {\n return { cookies: new Map(), success: false, error: `Auth did not redirect: ${authResponse.status}` };\n }\n\n const callbackUrl = authResponse.headers.get('Location');\n if (!callbackUrl) {\n return { cookies: new Map(), success: false, error: 'No redirect location from auth' };\n }\n\n // Step 3: Complete the callback with the authorization code\n // Extract just the path and query from the callback URL\n const callbackPath = new URL(callbackUrl).pathname + new URL(callbackUrl).search;\n\n const callbackResponse = await fetch(callbackPath, {\n headers: {\n Cookie: buildCookieHeader(loginCookies),\n },\n });\n\n // Should redirect to landing page on success\n if (callbackResponse.status !== 302) {\n return { cookies: new Map(), success: false, error: `Callback did not redirect: ${callbackResponse.status}` };\n }\n\n // Collect all cookies from the callback response\n const allCookies = parseCookies(callbackResponse.headers);\n\n return { cookies: allCookies, success: true };\n } catch (error) {\n return { cookies: new Map(), success: false, error: error instanceof Error ? error.message : String(error) };\n }\n}\n\n/**\n * Test: JIT user provisioning works when enabled\n *\n * This test completes a full SSO flow and verifies the user is authenticated.\n * The actual JIT provisioning behavior depends on the server configuration.\n */\nasync function testJitUserProvisioningFlow(\n config: SSOValidationConfig,\n fetch: ReturnType<typeof createFetcher>,\n): Promise<ValidationResult> {\n return runTest('SSO JIT User Provisioning Flow', async () => {\n // Complete the full login flow\n const { cookies, success, error } = await completeLoginFlow(config, fetch);\n\n assert(success, error || 'Login flow failed');\n\n // Verify we got authentication cookies\n const hasAuthCookies = Array.from(cookies.keys()).some((name) => name.includes('.access') || name.includes('.id'));\n assert(hasAuthCookies, 'No authentication cookies set after login');\n\n // Verify we can now access the user endpoint\n const userResponse = await fetch(config.userPath!, {\n headers: {\n Cookie: buildCookieHeader(cookies),\n },\n });\n\n assert(userResponse.status === 200, `User endpoint returned ${userResponse.status} after login, expected 200`);\n\n const userData = await userResponse.json();\n assert(userData.id, 'User data missing id field');\n\n return {\n details: {\n userId: userData.id,\n userName: userData.userName,\n email: userData.email,\n jitFlowCompleted: true,\n },\n };\n });\n}\n\n/**\n * Runs all SSO validation tests\n */\nexport async function validateSSO(config: SSOValidationConfig): Promise<ValidationSuiteResult> {\n const startTime = performance.now();\n const mergedConfig = { ...DEFAULT_CONFIG, ...config };\n const fetch = createFetcher(mergedConfig);\n\n const tests: ValidationResult[] = [];\n\n // Run all tests\n tests.push(await testLoginEndpoint(mergedConfig, fetch));\n tests.push(await testUserEndpointUnauthenticated(mergedConfig, fetch));\n tests.push(await testLogoutEndpoint(mergedConfig, fetch));\n tests.push(await testBackChannelLogoutEndpoint(mergedConfig, fetch));\n tests.push(await testCallbackEndpointInvalid(mergedConfig, fetch));\n tests.push(await testTokenEndpointUnauthenticated(mergedConfig, fetch));\n tests.push(await testRefreshEndpointUnauthenticated(mergedConfig, fetch));\n tests.push(await testJitUserProvisioningFlow(mergedConfig, fetch));\n\n const duration = performance.now() - startTime;\n const passed = tests.filter((t) => t.passed).length;\n const failed = tests.filter((t) => !t.passed).length;\n const skipped = tests.filter((t) => t.details?.skipped).length;\n\n return {\n suite: 'SSO',\n passed: failed === 0,\n tests,\n duration,\n summary: {\n total: tests.length,\n passed: passed - skipped,\n failed,\n skipped,\n },\n };\n}\n\n/**\n * Creates Vitest-compatible test suite for SSO validation\n */\nexport function createSSOTests(config: SSOValidationConfig) {\n const mergedConfig = { ...DEFAULT_CONFIG, ...config };\n const fetch = createFetcher(mergedConfig);\n\n // Core/mandatory SSO tests\n const tests: Array<TestDef> = [\n {\n name: 'login endpoint redirects to authorization URL',\n fn: async () => {\n const result = await testLoginEndpoint(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n {\n name: 'user endpoint returns 401 when unauthenticated',\n fn: async () => {\n const result = await testUserEndpointUnauthenticated(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n {\n name: 'callback endpoint rejects invalid requests',\n fn: async () => {\n const result = await testCallbackEndpointInvalid(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n {\n name: 'token endpoint returns 401 when unauthenticated',\n fn: async () => {\n const result = await testTokenEndpointUnauthenticated(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n {\n name: 'refresh endpoint returns 401 when unauthenticated',\n fn: async () => {\n const result = await testRefreshEndpointUnauthenticated(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n ];\n\n // Extension methods for optional functionality\n const ext = {\n createJITTests: (): Array<TestDef> => [\n {\n name: 'user provisioning flow completes successfully',\n fn: async () => {\n const result = await testJitUserProvisioningFlow(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n ],\n createLogoutTests: (): Array<TestDef> => [\n {\n name: 'logout endpoint clears cookies',\n fn: async () => {\n const result = await testLogoutEndpoint(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n ],\n createBackChannelLogoutTests: (): Array<TestDef> => [\n {\n name: 'endpoint exists',\n fn: async () => {\n const result = await testBackChannelLogoutEndpoint(mergedConfig, fetch);\n if (!result.passed) throw new Error(result.error);\n },\n },\n ],\n };\n\n return { tests, ext };\n}\n\nexport type { SSOValidationConfig };\n"],"mappings":"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","names":["fetch"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { EnterpriseStandard } from '@enterprisestandard/react';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* Enterprise Standard Validator Types
|
|
4
5
|
*
|
|
@@ -8,14 +9,14 @@ import type { EnterpriseStandard } from '@enterprisestandard/react';
|
|
|
8
9
|
/**
|
|
9
10
|
* Test definition for Vitest-compatible test suites
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
+
interface TestDef {
|
|
12
13
|
name: string;
|
|
13
14
|
fn: () => Promise<void>;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Base configuration for all validation suites
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
interface ValidationConfig {
|
|
19
20
|
/**
|
|
20
21
|
* Base URL of the application under test
|
|
21
22
|
* @example "http://localhost:3000"
|
|
@@ -39,7 +40,7 @@ export interface ValidationConfig {
|
|
|
39
40
|
/**
|
|
40
41
|
* SSO Validation Configuration
|
|
41
42
|
*/
|
|
42
|
-
|
|
43
|
+
interface SSOValidationConfig extends ValidationConfig {
|
|
43
44
|
/**
|
|
44
45
|
* Path to the login endpoint
|
|
45
46
|
* @default "/api/auth/login"
|
|
@@ -92,7 +93,7 @@ export interface SSOValidationConfig extends ValidationConfig {
|
|
|
92
93
|
/**
|
|
93
94
|
* IAM Validation Configuration
|
|
94
95
|
*/
|
|
95
|
-
|
|
96
|
+
interface IAMValidationConfig extends ValidationConfig {
|
|
96
97
|
/**
|
|
97
98
|
* Path prefix for SCIM endpoints (used for both outgoing proxy and incoming handler)
|
|
98
99
|
* @default "/api/iam"
|
|
@@ -137,7 +138,7 @@ export interface IAMValidationConfig extends ValidationConfig {
|
|
|
137
138
|
/**
|
|
138
139
|
* Workload Validation Configuration
|
|
139
140
|
*/
|
|
140
|
-
|
|
141
|
+
interface WorkloadValidationConfig extends ValidationConfig {
|
|
141
142
|
/**
|
|
142
143
|
* Path to the token acquisition endpoint
|
|
143
144
|
* @default "/api/workload/token"
|
|
@@ -177,7 +178,7 @@ export interface WorkloadValidationConfig extends ValidationConfig {
|
|
|
177
178
|
/**
|
|
178
179
|
* Tenant Validation Configuration
|
|
179
180
|
*/
|
|
180
|
-
|
|
181
|
+
interface TenantValidationConfig extends ValidationConfig {
|
|
181
182
|
/**
|
|
182
183
|
* Path to the tenant creation endpoint
|
|
183
184
|
* @default "/api/tenant"
|
|
@@ -202,7 +203,7 @@ export interface TenantValidationConfig extends ValidationConfig {
|
|
|
202
203
|
/**
|
|
203
204
|
* Result of an individual validation test
|
|
204
205
|
*/
|
|
205
|
-
|
|
206
|
+
interface ValidationResult {
|
|
206
207
|
/**
|
|
207
208
|
* Name of the test
|
|
208
209
|
*/
|
|
@@ -227,7 +228,7 @@ export interface ValidationResult {
|
|
|
227
228
|
/**
|
|
228
229
|
* Result of a validation suite
|
|
229
230
|
*/
|
|
230
|
-
|
|
231
|
+
interface ValidationSuiteResult {
|
|
231
232
|
/**
|
|
232
233
|
* Name of the suite (e.g., "SSO", "IAM", "Workload")
|
|
233
234
|
*/
|
|
@@ -257,7 +258,7 @@ export interface ValidationSuiteResult {
|
|
|
257
258
|
/**
|
|
258
259
|
* Full validation report
|
|
259
260
|
*/
|
|
260
|
-
|
|
261
|
+
interface ValidationReport {
|
|
261
262
|
/**
|
|
262
263
|
* Timestamp of the validation run
|
|
263
264
|
*/
|
|
@@ -279,4 +280,5 @@ export interface ValidationReport {
|
|
|
279
280
|
*/
|
|
280
281
|
duration: number;
|
|
281
282
|
}
|
|
282
|
-
|
|
283
|
+
|
|
284
|
+
export type { IAMValidationConfig as I, SSOValidationConfig as S, TestDef as T, ValidationSuiteResult as V, WorkloadValidationConfig as W, TenantValidationConfig as a, ValidationResult as b, ValidationReport as c, ValidationConfig as d };
|
package/dist/workload/index.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import { W as WorkloadValidationConfig, T as TestDef, V as ValidationSuiteResult } from '../types-Bn1pr_xY.js';
|
|
2
|
+
import '@enterprisestandard/react';
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Workload Validation Tests
|
|
3
6
|
*
|
|
4
7
|
* These tests validate that an application correctly implements
|
|
5
8
|
* Enterprise Standard Workload Identity authentication.
|
|
6
9
|
*/
|
|
7
|
-
|
|
10
|
+
|
|
8
11
|
/**
|
|
9
12
|
* Runs all Workload validation tests
|
|
10
13
|
*/
|
|
11
|
-
|
|
14
|
+
declare function validateWorkload(config: WorkloadValidationConfig): Promise<ValidationSuiteResult>;
|
|
12
15
|
/**
|
|
13
16
|
* Creates Vitest-compatible test suite for Workload validation
|
|
14
17
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
declare function createWorkloadTests(config: WorkloadValidationConfig): Array<TestDef>;
|
|
19
|
+
|
|
20
|
+
export { WorkloadValidationConfig, createWorkloadTests, validateWorkload };
|