Files
hermes-web-ui/tests/desktop/runtime-manager-version.test.ts
ekko 36d6f78e84 [codex] update runtime version management (#1499)
* Update runtime version management

* Avoid blocking desktop startup on bridge readiness

* Remove incompatible cached Web UI versions on desktop startup

* Remove incompatible Web UI downgrade targets
2026-06-11 21:38:26 +08:00

27 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import {
compareHermesAgentVersions,
hermesAgentVersionFromRuntimeTag,
runtimeManifestMatchesHermesAgentVersion,
} from '../../packages/desktop/src/main/runtime-version'
describe('desktop runtime version checks', () => {
it('derives the Hermes Agent version from the runtime release tag', () => {
expect(hermesAgentVersionFromRuntimeTag('hermes-0.15.2-runtime')).toBe('0.15.2')
expect(hermesAgentVersionFromRuntimeTag('latest')).toBeNull()
})
it('compares cached runtime manifests to the expected Hermes Agent version', () => {
expect(runtimeManifestMatchesHermesAgentVersion({ hermesAgentVersion: '0.15.2' }, '0.15.2')).toBe(true)
expect(runtimeManifestMatchesHermesAgentVersion({ hermesAgentVersion: '0.15.1' }, '0.15.2')).toBe(false)
expect(runtimeManifestMatchesHermesAgentVersion({ asset: { name: 'hermes-runtime-hermes-agent-0.15.2-win-x64.tar.gz' } }, '0.15.2')).toBe(true)
expect(runtimeManifestMatchesHermesAgentVersion({}, '0.15.2')).toBeNull()
})
it('orders Hermes Agent versions numerically', () => {
expect(compareHermesAgentVersions('0.16.0', '0.15.2')).toBeGreaterThan(0)
expect(compareHermesAgentVersions('0.15.1', '0.15.2')).toBeLessThan(0)
expect(compareHermesAgentVersions('0.15.2', '0.15.2')).toBe(0)
})
})