console/integration-tests/testkit/registry-models.ts
2025-01-10 15:17:11 +01:00

54 lines
1.3 KiB
TypeScript

import { ProjectType } from 'testkit/gql/graphql';
import { initSeed } from './seed';
export async function prepareProject(projectType: ProjectType) {
const { createOrg } = await initSeed().createOwner();
const { organization, createProject, setFeatureFlag, setOrganizationSchemaPolicy } =
await createOrg();
const {
project,
createTargetAccessToken,
createCdnAccess,
target,
targets,
setProjectSchemaPolicy,
setNativeFederation,
fetchVersions,
} = await createProject(projectType);
const { secret: readwriteToken } = await createTargetAccessToken({});
const { secret: readonlyToken } = await createTargetAccessToken({
mode: 'readOnly',
});
// Create CDN token
const { secretAccessToken: cdnToken, cdnUrl, fetchMetadataFromCDN } = await createCdnAccess();
return {
organization,
project,
targets,
target,
fetchVersions,
policy: {
setOrganizationSchemaPolicy,
setProjectSchemaPolicy,
},
tokens: {
registry: {
readwrite: readwriteToken,
readonly: readonlyToken,
},
},
cdn: {
token: cdnToken,
url: cdnUrl,
fetchMetadata() {
return fetchMetadataFromCDN();
},
},
setFeatureFlag,
setNativeFederation,
};
}