Files
james.maesandCodex 1a0964ef23 chore: enforce owned source copyright notices (#25)
* chore(standards): preserve owned-source copyright notices

Add accurate repository copyright and license comments to 50 owned source/build/configuration files. Preserve existing holders, upstream wrappers, legal payloads and schema/data exemptions. Exact inverse-byte reconstruction and applicable parser/token/AST checks prove comment-only changes; existing relevant regressions pass.

Co-Authored-By: Codex (GPT-6) <noreply@openai.com>
Signed-off-by: James Maes <james@kof22.com>

* chore: enforce owned source copyright notices

Check real leading comments against explicit repository provenance and retain existing native style gates.

Co-Authored-By: Codex GPT-6 <noreply@openai.com>
Signed-off-by: James Maes <james@kof22.com>

---------

Signed-off-by: James Maes <james@kof22.com>
Co-authored-by: Codex (GPT-6) <noreply@openai.com>
2026-11-01 12:41:00 -06:00

130 lines
5.7 KiB
PowerShell

#Requires -Version 7.4
# Copyright 2026 Kingsrook, LLC
# SPDX-License-Identifier: Apache-2.0
# Ownership regressions use mocked Docker metadata; no containers or network calls.
BeforeAll {
$script:entrypoint = Join-Path $PSScriptRoot '../Invoke-Dev.ps1'
$tokens = $null
$errors = $null
$ast = [Management.Automation.Language.Parser]::ParseFile($entrypoint, [ref]$tokens, [ref]$errors)
if ($errors.Count)
{
throw 'Entrypoint parsing failed.'
}
foreach ($name in @('Assert-OwnedResource', 'Get-RecordedAuthentikPort'))
{
$guard = $ast.Find({ param($node) $node -is [Management.Automation.Language.FunctionDefinitionAst] -and $node.Name -eq $name }, $true)
. ([scriptblock]::Create($guard.Extent.Text))
}
$script:project = 'qbit-printing-dev-0123456789abcdef0123456789abcdef'
function docker
{
throw 'Unmocked Docker call refused.'
}
}
Describe 'Development lifecycle ownership' {
BeforeEach {
$script:wrongResource = ''
Mock docker {
$global:LASTEXITCODE = 0
$command = $args -join ' '
if ($command.StartsWith('ps -aq', [StringComparison]::Ordinal))
{
return 'container-id'
}
if ($command.StartsWith('network ls', [StringComparison]::Ordinal))
{
return 'network-id'
}
if ($command.StartsWith('volume ls', [StringComparison]::Ordinal))
{
return 'volume-id'
}
if ($script:wrongResource -and $command.Contains($script:wrongResource, [StringComparison]::Ordinal))
{
return 'another-project'
}
return $script:project
}
}
It 'accepts only consistently labeled containers, networks and volumes' {
{ Assert-OwnedResource } | Should -Not -Throw
Should -Invoke docker -Times 6 -Exactly
}
It 'rejects a foreign container before any cleanup' {
$script:wrongResource = 'container-id'
{ Assert-OwnedResource } | Should -Throw '*Container ownership mismatch*'
Should -Invoke docker -ParameterFilter { ($args -join ' ') -match 'down|remove|prune' } -Times 0
}
It 'rejects a foreign network before any cleanup' {
$script:wrongResource = 'network-id'
{ Assert-OwnedResource } | Should -Throw '*Network ownership mismatch*'
Should -Invoke docker -ParameterFilter { ($args -join ' ') -match 'down|remove|prune' } -Times 0
}
It 'rejects a foreign volume before any cleanup' {
$script:wrongResource = 'volume-id'
{ Assert-OwnedResource } | Should -Throw '*Volume ownership mismatch*'
Should -Invoke docker -ParameterFilter { ($args -join ' ') -match 'down|remove|prune' } -Times 0
}
It 'refuses an existing unowned state directory before contacting Docker' {
{ & $entrypoint -Action Stop -StateDirectory $TestDrive } | Should -Throw '*lacks this tool ownership record*'
Should -Invoke docker -Times 0
}
It 'rejects persistent experimental startup before any state creation' {
$path = Join-Path $TestDrive 'experimental-start'
{ & $entrypoint -Action Start -ExperimentalNativeAuth -StateDirectory $path } | Should -Throw '*Test-only profile*'
Test-Path -LiteralPath $path | Should -BeFalse
Should -Invoke docker -Times 0
}
It 'does not repurpose a saved standard environment for experimental authentication' {
$path = Join-Path $TestDrive 'standard-environment'
[IO.Directory]::CreateDirectory($path) | Out-Null
@{sourceRoot = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '../..')); project = $project; authentik = $false } |
ConvertTo-Json | Set-Content (Join-Path $path 'owner.json')
{ & $entrypoint -Action Test -ExperimentalNativeAuth -StateDirectory $path } | Should -Throw '*cannot be repurposed*'
Should -Invoke docker -Times 0
}
It 'refuses a forged project name before contacting Docker' {
$path = Join-Path $TestDrive 'forged'
[IO.Directory]::CreateDirectory($path) | Out-Null
@{sourceRoot = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '../..')); project = 'unrelated'; authentik = $false } | ConvertTo-Json | Set-Content (Join-Path $path 'owner.json')
{ & $entrypoint -Action Stop -StateDirectory $path } | Should -Throw '*State ownership mismatch*'
Should -Invoke docker -Times 0
}
It 'restores a nondefault Authentik port from saved state' {
$script:envFile = Join-Path $TestDrive 'ports.env'
[IO.File]::WriteAllText($envFile, "QQQ_HTTP_PORT=19081`nAUTHENTIK_HTTP_PORT=19011`n")
Get-RecordedAuthentikPort | Should -Be 19011
}
It 'rejects ambiguous saved port configuration' {
$script:envFile = Join-Path $TestDrive 'ambiguous.env'
[IO.File]::WriteAllText($envFile, "AUTHENTIK_HTTP_PORT=19010`nAUTHENTIK_HTTP_PORT=19011`n")
{ Get-RecordedAuthentikPort } | Should -Throw '*missing or invalid*'
}
It 'rejects a state ancestor junction or symlink before writing or contacting Docker' {
$target = Join-Path $TestDrive 'target'
$link = Join-Path $TestDrive 'linked'
[IO.Directory]::CreateDirectory($target) | Out-Null
if ($IsWindows)
{
New-Item -ItemType Junction -Path $link -Target $target -ErrorAction Stop | Out-Null
}
else
{
New-Item -ItemType SymbolicLink -Path $link -Target $target -ErrorAction Stop | Out-Null
}
try
{
{ & $entrypoint -Action Start -StateDirectory (Join-Path $link 'new-state') } | Should -Throw '*symbolic link or reparse point*'
Test-Path -LiteralPath (Join-Path $target 'new-state') | Should -BeFalse
Should -Invoke docker -Times 0
}
finally
{
[IO.Directory]::Delete($link)
}
}
}