Index

projects/typescript-xmlrpc/src/lib/constants.ts

applicationError
Type : MethodFault
Default value : { faultCode: -1, faultString: 'Problem while processing data.', }

e2e/fixtures/auth.fixture.ts

BASE_URL
Type : unknown
Default value : process.env['PLAYWRIGHT_TEST_BASE_URL'] ?? 'http://localhost:4200'
test
Type : unknown
Default value : base.extend<Fixtures, WorkerFixtures>({ authState: [ async ({ browser }, use) => { const context = await browser.newContext({ baseURL: BASE_URL }); const page = await context.newPage(); await page.goto('/login'); const loginPage = new LoginPage(page); await loginPage.login(COBBLER_USERNAME, COBBLER_PASSWORD); await loginPage.expectLoggedIn(); const state = await context.storageState(); await context.close(); await use(state); }, { scope: 'worker' }, ], // Overrides Playwright's built-in `storageState` test option with the cached worker-scoped // session above, so every test's default `page`/`context` fixture starts already logged in. storageState: async ({ authState }, use) => { await use(authState); }, backend: async ({}, use) => { const client = await createBackendClient(); await use(client); }, })

projects/typescript-xmlrpc/src/lib/typescript-xmlrpc.service.ts

BODY
Type : string
Default value : 'body'
TEXT
Type : string
Default value : 'text'

e2e/fixtures/backend.fixture.ts

COBBLER_API_URL
Type : unknown
Default value : process.env['COBBLER_TEST_API_URL'] ?? 'http://localhost/cobbler_api'
COBBLER_PASSWORD
Type : unknown
Default value : process.env['COBBLER_TEST_PASSWORD'] ?? 'cobbler'
COBBLER_USERNAME
Type : unknown
Default value : process.env['COBBLER_TEST_USERNAME'] ?? 'cobbler'

projects/cobbler-frontend/src/app/services/user.service.ts

COBBLER_DARKMODE_KEY_NAME
Type : string
Default value : 'DARK_MODE'
COBBLER_TOKEN_KEY_NAME
Type : string
Default value : 'token'
COBBLER_URL_KEY_NAME
Type : string
Default value : 'COBBLER_URL'
COBBLER_USER_KEY_NAME
Type : string
Default value : 'REMEMBERED_USERNAME'
SSO_SUPPRESSED_ONCE_KEY_NAME
Type : string
Default value : 'SSO_SUPPRESSED_ONCE'

projects/cobbler-api/src/lib/lib.config.ts

COBBLER_URL
Type : unknown
Default value : new InjectionToken<URL>('COBBLER_URL')
cobblerUrlFactory
Type : unknown
Default value : () => { const value = localStorage.getItem('COBBLER_URL'); if (value) { return new URL(value); } return new URL('http://localhost/cobbler_api'); }

projects/cobbler-frontend/src/app/items/metadata.ts

cobblerItemEditableData
Type : Array<CobblerInputData>
Default value : [ { formControlName: 'comment', inputType: CobblerInputChoices.TEXT, label: $localize`:@@item.edit.label.comment:Comment`, disabled: true, readonly: false, defaultValue: '', inherited: false, hint: $localize`:@@item.edit.hint.comment:A free-text note or description to associate with this item.`, }, ]
cobblerItemReadonlyData
Type : Array<CobblerInputData>
Default value : [ { formControlName: 'name', inputType: CobblerInputChoices.TEXT, label: $localize`:@@item.edit.label.name:Name`, disabled: false, readonly: true, defaultValue: '', inherited: false, hint: $localize`:@@item.edit.hint.name:The item's name. Used as the primary identifier across the Cobbler API and CLI.`, }, { formControlName: 'uid', inputType: CobblerInputChoices.TEXT, label: $localize`:@@item.edit.label.uid:UID`, disabled: false, readonly: true, defaultValue: '', inherited: false, hint: $localize`:@@item.edit.hint.uid:The internal unique identifier assigned by Cobbler. Never reused, even after deletion.`, }, { formControlName: 'mtime', inputType: CobblerInputChoices.TEXT, label: $localize`:@@item.edit.label.mtime:Last modified time`, disabled: false, readonly: true, defaultValue: '', inherited: false, hint: $localize`:@@item.edit.hint.mtime:Timestamp of the last change to this item via the Cobbler API.`, }, { formControlName: 'ctime', inputType: CobblerInputChoices.TEXT, label: $localize`:@@item.edit.label.ctime:Creation time`, disabled: false, readonly: true, defaultValue: '', inherited: false, hint: $localize`:@@item.edit.hint.ctime:Timestamp of when this item was first created in Cobbler.`, }, { formControlName: 'depth', inputType: CobblerInputChoices.NUMBER, label: $localize`:@@item.edit.label.depth:Depth`, disabled: false, readonly: true, defaultValue: 0, inherited: false, hint: $localize`:@@item.edit.hint.depth:Logical depth of this item in the hierarchy. Controls load order and sorting.`, }, { formControlName: 'is_subobject', inputType: CobblerInputChoices.CHECKBOX, label: $localize`:@@item.edit.label.is_subobject:Is Subobject?`, disabled: false, readonly: true, defaultValue: false, inherited: false, hint: $localize`:@@item.edit.hint.is_subobject:Whether this item is a sub-object of another item (e.g. a sub-profile or sub-system).`, }, ]

e2e/item-configs/distro.config.ts

distroConfig
Type : ItemConfig
Default value : { type: 'distro', xmlrpcType: 'distro', label: 'Distro', overviewRoute: '/items/distro', createFields: ({ name }) => ({ name, kernel: process.env['COBBLER_TEST_KERNEL_PATH'] ?? '/code/system-tests/images/fake/vmlinuz', initrd: process.env['COBBLER_TEST_INITRD_PATH'] ?? '/code/system-tests/images/fake/initramfs', }), editableField: { label: 'Comment', value: 'e2e edited comment' }, }

e2e/fixtures/naming.ts

E2E_PREFIX
Type : string
Default value : 'e2e'

Prefix every e2e-created backend object gets, so a sweep can find and delete leftovers.

projects/cobbler-frontend/src/app/services/app-config.service.ts

EMPTY_CONFIG
Type : AppConfig
Default value : { cobblerUrls: [], }

projects/cobbler-frontend/src/environments/environment.prod.ts

environment
Type : object
Default value : { production: true, }

projects/cobbler-frontend/src/environments/environment.ts

environment
Type : object
Default value : { production: false, }

e2e/item-configs/file.config.ts

fileConfig
Type : ItemConfig
Default value : { type: 'file', xmlrpcType: 'file', label: 'File', overviewRoute: '/items/file', createFields: ({ name }) => ({ name, path: '/etc/e2e-test.conf', owner: 'root', group: 'root', mode: '0644', template: 'default.ks', }), editableField: { label: 'Comment', value: 'e2e edited comment' }, }

e2e/item-configs/image.config.ts

imageConfig
Type : ItemConfig
Default value : { type: 'image', xmlrpcType: 'image', label: 'Image', overviewRoute: '/items/image', createFields: ({ name }) => ({ name }), editableField: { label: 'Comment', value: 'e2e edited comment' }, }

e2e/item-configs/index.ts

ITEM_CONFIGS_BY_TYPE
Type : Record<string, ItemConfig>
Default value : Object.fromEntries( STANDARD_ITEM_CONFIGS.map((config) => [config.type, config]), )
STANDARD_ITEM_CONFIGS
Type : ItemConfig[]
Default value : [ distroConfig, profileConfig, systemConfig, repositoryConfig, imageConfig, managementClassConfig, packageConfig, fileConfig, menuConfig, ]

"Standard" item types: all follow the identical new_/modify_/save_/remove_/ get__handle XML-RPC surface and the identical dialog-create / isEditMode-edit UI pattern. Template, Snippet (file-content API, no Item object) and NetworkInterface (sub-resource of System, modified via modify_system) are deliberately excluded — they get their own dedicated specs instead of this generic, config-driven one.

e2e/item-configs/management-class.config.ts

managementClassConfig
Type : ItemConfig
Default value : { type: 'management-class', xmlrpcType: 'mgmtclass', label: 'ManagementClass', overviewRoute: '/items/management-class', createFields: ({ name }) => ({ name }), editableField: { label: 'Comment', value: 'e2e edited comment' }, }

e2e/item-configs/menu.config.ts

menuConfig
Type : ItemConfig
Default value : { type: 'menu', xmlrpcType: 'menu', label: 'Menu', overviewRoute: '/items/menu', createFields: ({ name }) => ({ name }), editableField: { label: 'Comment', value: 'e2e edited comment' }, }

e2e/item-configs/package.config.ts

packageConfig
Type : ItemConfig
Default value : { type: 'package', xmlrpcType: 'package', label: 'Package', overviewRoute: '/items/package', createFields: ({ name }) => ({ name }), editableField: { label: 'Comment', value: 'e2e edited comment' }, }

e2e/item-configs/profile.config.ts

profileConfig
Type : ItemConfig
Default value : { type: 'profile', xmlrpcType: 'profile', label: 'Profile', overviewRoute: '/items/profile', createFields: ({ name, parentName }) => ({ name, distro: parentName!, }), editableField: { label: 'Comment', value: 'e2e edited comment' }, requiresParent: { type: 'distro', formControlName: 'distro' }, }

e2e/item-configs/repository.config.ts

repositoryConfig
Type : ItemConfig
Default value : { type: 'repository', xmlrpcType: 'repo', label: 'Repository', overviewRoute: '/items/repository', createFields: ({ name }) => ({ name }), editableField: { label: 'Comment', value: 'e2e edited comment' }, }

projects/cobbler-frontend/src/app/app-routing.module.ts

routes
Type : Routes
Default value : [ { path: 'login', component: LogInFormComponent }, { path: 'user/:name/preferences', component: PreferencesComponent, canActivate: [AuthGuardService], data: { breadcrumb: { skip: true } }, }, { path: '', pathMatch: 'full', redirectTo: '/login' }, { path: 'unauthorized', component: UnauthorizedComponent, data: { breadcrumb: { skip: true } }, }, { path: 'manage', component: AppManageComponent, canActivate: [AuthGuardService], pathMatch: 'full', data: { breadcrumb: { skip: true } }, }, { path: 'actions', children: [ { path: 'import', component: ImportDVDComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.import:Import DVD`, }, }, { path: 'sync', component: SyncComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.sync:Sync` }, }, { path: 'reposync', component: RepoSyncComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.reposync:Sync Repository`, }, }, { path: 'buildiso', component: BuildISOComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.buildiso:Build ISO`, }, }, { path: 'check', component: CheckSysComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.check:Check` }, }, { path: 'status', component: StatusComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.status:Status` }, }, { path: 'hardlink', component: HardlinkComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.hardlink:Headlink`, }, }, { path: 'mkloaders', component: MkloadersComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.mkloaders:Mkloaders`, }, }, { path: 'validate-autoinstalls', component: ValidateAutoinstallsComponent, canActivate: [AuthGuardService], }, { path: 'replicate', component: ReplicateComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.actions.replicate:Replicate`, }, }, ], data: { breadcrumb: { label: $localize`:@@breadcrumb.actions:Actions`, skip: false, disable: true, }, }, }, { path: 'items', children: [ { path: 'distro', component: DistroShellComponent, // Shell children: [ { path: '', component: DistrosOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.distro:Distros` }, }, { path: ':name', component: DistroEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'profile', component: ProfileShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: ProfileOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.profile:Profiles`, }, }, { path: ':name', component: ProfileShellEditComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: ProfileEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, { path: 'autoinstall', component: ViewAutoinstallComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.autoinstall:Autoinstall`, }, }, ], }, ], }, { path: 'system', component: SystemShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: SystemOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.system:Systems` }, }, { path: ':name', component: SystemShellEditComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: SystemEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, { path: 'interface', component: NetworkInterfaceShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: NetworkInterfaceOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.interface:Interfaces`, }, }, { path: ':interface', component: NetworkInterfaceEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'autoinstall', component: ViewAutoinstallComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.autoinstall:Autoinstall`, }, }, ], }, ], }, { path: 'repository', component: RepositoryShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: RepositoryOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.repository:Repositories`, }, }, { path: ':name', component: RepositoryEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'image', component: ImageShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: ImageOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.image:Images` }, }, { path: ':name', component: ImageEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'template', component: TemplateShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: TemplateOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.template:Templates`, }, }, { path: ':name', component: TemplateEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'snippet', component: SnippetShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: SnippetOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.snippet:Snippets`, }, }, { path: ':name', component: SnippetEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'management-class', component: ManagementClassShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: ManagementClassOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.management-class:Management Classes`, }, }, { path: ':name', component: ManagementClassEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'package', component: PackageShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: PackageOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.package:Packages`, }, }, { path: ':name', component: PackageEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemname' } }, }, ], }, { path: 'file', component: FileShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: FileOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.file:Files` }, }, { path: ':name', component: FileEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, { path: 'menu', component: MenuShellComponent, // Shell canActivate: [AuthGuardService], children: [ { path: '', component: MenuOverviewComponent, canActivate: [AuthGuardService], data: { breadcrumb: $localize`:@@breadcrumb.items.menu:Menus` }, }, { path: ':name', component: MenuEditComponent, canActivate: [AuthGuardService], data: { breadcrumb: { alias: 'itemName' } }, }, ], }, ], data: { breadcrumb: { label: $localize`:@@breadcrumb.items:Items`, skip: false, disable: true, }, }, }, { path: 'settings', component: SettingsViewComponent, canActivate: [AuthGuardService], data: { breadcrumb: { skip: true } }, }, { path: 'events', component: AppEventsComponent, canActivate: [AuthGuardService], data: { breadcrumb: { skip: true } }, }, { path: 'signatures', component: SignaturesComponent, canActivate: [AuthGuardService], data: { breadcrumb: { skip: true } }, }, { path: '404', component: NotFoundComponent, data: { breadcrumb: { skip: true } }, }, { path: '**', redirectTo: '/404' }, ]

projects/cobbler-frontend/src/app/login/login.component.ts

SERVER_CHECK_DEBOUNCE_MS
Type : number
Default value : 300
SERVER_CHECK_TIMEOUT_MS
Type : number
Default value : 5000

projects/typescript-xmlrpc/src/test-globals.ts

setup
Type : unknown
Default value : () => { process.env.TZ = 'Europe/Berlin'; }

e2e/global-teardown.ts

SWEEP_TYPES
Type : []
Default value : [ ITEM_CONFIGS_BY_TYPE['system'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['profile'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['distro'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['repository'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['image'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['management-class'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['package'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['file'].xmlrpcType, ITEM_CONFIGS_BY_TYPE['menu'].xmlrpcType, ]

e2e/item-configs/system.config.ts

systemConfig
Type : ItemConfig
Default value : { type: 'system', xmlrpcType: 'system', label: 'System', overviewRoute: '/items/system', createFields: ({ name, parentName }) => ({ name, profile: parentName!, }), editableField: { label: 'Comment', value: 'e2e edited comment' }, requiresParent: { type: 'profile', formControlName: 'profile' }, }

results matching ""

    No results matching ""