feat: establish native desktop update trust root
This commit is contained in:
parent
a2302cfd13
commit
cff488bb03
29 changed files with 8485 additions and 60 deletions
|
|
@ -0,0 +1,62 @@
|
|||
import assert from 'node:assert/strict'
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import test from 'node:test'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
|
||||
const readJson = (relative) => JSON.parse(fs.readFileSync(path.join(root, relative), 'utf8'))
|
||||
const readText = (relative) => fs.readFileSync(path.join(root, relative), 'utf8')
|
||||
|
||||
const foundation = readJson('foundation.json')
|
||||
const trust = readJson('src-tauri/release-trust.json')
|
||||
const tauriConfig = readJson('src-tauri/tauri.conf.json')
|
||||
const capability = readJson('src-tauri/capabilities/default.json')
|
||||
const broadcast = readJson('contracts/release-broadcast.schema.json')
|
||||
|
||||
test('clean Tauri foundation contains no inherited product updater endpoint', () => {
|
||||
assert.deepEqual(foundation.upstream_product_update_endpoints, [])
|
||||
assert.deepEqual(trust.endpoints, [])
|
||||
assert.deepEqual(trust.allowedReleaseHosts, [])
|
||||
assert.equal(trust.state, 'UNPROVISIONED_FAIL_CLOSED')
|
||||
assert.equal(trust.publicKey, '')
|
||||
for (const relative of [
|
||||
'foundation.json',
|
||||
'src-tauri/release-trust.json',
|
||||
'src-tauri/tauri.conf.json',
|
||||
'src-tauri/src/release_trust.rs',
|
||||
]) {
|
||||
const source = readText(relative)
|
||||
assert.doesNotMatch(source, /refactoringhq|tolaria|outline/i)
|
||||
}
|
||||
})
|
||||
|
||||
test('release activation remains explicitly human controlled', () => {
|
||||
assert.equal(trust.automaticCheckOnStartup, false)
|
||||
assert.equal(trust.automaticDownload, false)
|
||||
assert.equal(trust.humanOptInInstallRequired, true)
|
||||
assert.equal(trust.automaticRestart, false)
|
||||
assert.equal(foundation.automatic_update_check_on_startup, false)
|
||||
assert.equal(foundation.human_opt_in_download_install_required, true)
|
||||
assert.equal(foundation.automatic_restart_allowed, false)
|
||||
})
|
||||
|
||||
test('Tauri can emit signed updater artifacts without exposing updater IPC', () => {
|
||||
assert.equal(tauriConfig.bundle.createUpdaterArtifacts, true)
|
||||
assert.deepEqual(capability.permissions, ['core:default'])
|
||||
assert.equal(capability.permissions.includes('updater:default'), false)
|
||||
})
|
||||
|
||||
test('broadcast remains Tauri-compatible and carries HoloLake human metadata', () => {
|
||||
const platform = broadcast.properties.platforms.additionalProperties
|
||||
assert.equal(platform.required.includes('signature'), true)
|
||||
assert.equal(platform.required.includes('url'), true)
|
||||
assert.equal(broadcast.required.includes('pub_date'), true)
|
||||
assert.equal(broadcast.required.includes('publishedAt'), false)
|
||||
assert.equal(broadcast.required.includes('notes'), true)
|
||||
assert.equal(broadcast.required.includes('hololake'), true)
|
||||
assert.equal(
|
||||
broadcast.properties.hololake.properties.restart.properties.automaticAllowed.const,
|
||||
false,
|
||||
)
|
||||
})
|
||||
Loading…
Reference in a new issue