import CodexBarCoreimport Foundationimport Testing @Suitestruct ConfigValidationTests { @Test func reportsUnsupportedSource() { var config = CodexBarConfig.makeDefault() config.setProviderConfig(ProviderConfig(id: .codex, source: .api)) let issues = CodexBarConfigValidator.validate(config) #expect(issues.contains(where: { $0.code == "unsupported_source" })) } @Test func reportsMissingAPIKeyWhenSourceAPI() { var config = CodexBarConfig.makeDefault() config.setProviderConfig(ProviderConfig(id: .zai, source: .api, apiKey: nil)) let issues = CodexBarConfigValidator.validate(config) #expect(issues.contains(where: { $0.code == "api_key_missing" })) } @Test func reportsInvalidRegion() { var config = CodexBarConfig.makeDefault() config.setProviderConfig(ProviderConfig(id: .minimax, region: "nowhere")) let issues = CodexBarConfigValidator.validate(config) #expect(issues.contains(where: { $0.code == "invalid_region" })) } @Test func warnsOnUnsupportedTokenAccounts() { let accounts = ProviderTokenAccountData( version: 1, accounts: [ProviderTokenAccount(id: UUID(), label: "a", token: "t", addedAt: 0, lastUsed: nil)], activeIndex: 0) var config = CodexBarConfig.makeDefault() config.setProviderConfig(ProviderConfig(id: .gemini, tokenAccounts: accounts)) let issues = CodexBarConfigValidator.validate(config) #expect(issues.contains(where: { $0.code == "token_accounts_unused" })) }}
import CodexBarCore
import Foundation
import Testing
@Suite
struct ConfigValidationTests {
@Test
func reportsUnsupportedSource() {
var config = CodexBarConfig.makeDefault()
config.setProviderConfig(ProviderConfig(id: .codex, source: .api))
let issues = CodexBarConfigValidator.validate(config)
#expect(issues.contains(where: { $0.code == "unsupported_source" }))
}
@Test
func reportsMissingAPIKeyWhenSourceAPI() {
var config = CodexBarConfig.makeDefault()
config.setProviderConfig(ProviderConfig(id: .zai, source: .api, apiKey: nil))
let issues = CodexBarConfigValidator.validate(config)
#expect(issues.contains(where: { $0.code == "api_key_missing" }))
}
@Test
func reportsInvalidRegion() {
var config = CodexBarConfig.makeDefault()
config.setProviderConfig(ProviderConfig(id: .minimax, region: "nowhere"))
let issues = CodexBarConfigValidator.validate(config)
#expect(issues.contains(where: { $0.code == "invalid_region" }))
}
@Test
func warnsOnUnsupportedTokenAccounts() {
let accounts = ProviderTokenAccountData(
version: 1,
accounts: [ProviderTokenAccount(id: UUID(), label: "a", token: "t", addedAt: 0, lastUsed: nil)],
activeIndex: 0)
var config = CodexBarConfig.makeDefault()
config.setProviderConfig(ProviderConfig(id: .gemini, tokenAccounts: accounts))
let issues = CodexBarConfigValidator.validate(config)
#expect(issues.contains(where: { $0.code == "token_accounts_unused" }))
}
}