feat: Adds more tests for cli-client.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import CliClient
|
||||
@_spi(Internal) import CliClient
|
||||
import ConfigurationClient
|
||||
import Dependencies
|
||||
import FileClient
|
||||
import Foundation
|
||||
import ShellClient
|
||||
import Testing
|
||||
@@ -91,6 +92,70 @@ struct CliClientTests: TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
func ensuredPlaybookDirectory() throws {
|
||||
let configuration = Configuration.mock
|
||||
let playbookDir = try configuration.ensuredPlaybookDirectory("playbook")
|
||||
#expect(playbookDir == "playbook")
|
||||
|
||||
do {
|
||||
_ = try configuration.ensuredPlaybookDirectory(nil)
|
||||
#expect(Bool(false))
|
||||
} catch {
|
||||
#expect(Bool(true))
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
func shellOrDefault() {
|
||||
var shell: String? = "/bin/bash"
|
||||
#expect(shell.orDefault == .custom(path: "/bin/bash", useDashC: true))
|
||||
|
||||
shell = nil
|
||||
#expect(shell.orDefault == .zsh(useDashC: true))
|
||||
}
|
||||
|
||||
@Test
|
||||
func testEnsuredInventoryPath() {
|
||||
let configuration = Configuration(playbook: .init(inventory: "inventory.ini"))
|
||||
let playbookDir = "playbook"
|
||||
let inventoryPath = "inventory.ini"
|
||||
|
||||
var output = ensuredInventoryPath(
|
||||
inventoryPath,
|
||||
configuration: configuration,
|
||||
playbookDirectory: playbookDir
|
||||
)
|
||||
|
||||
#expect(output == "inventory.ini")
|
||||
|
||||
output = ensuredInventoryPath(
|
||||
nil,
|
||||
configuration: configuration,
|
||||
playbookDirectory: playbookDir
|
||||
)
|
||||
#expect(output == "inventory.ini")
|
||||
}
|
||||
|
||||
@Test
|
||||
func vaultFilePath() async throws {
|
||||
var fileClient = FileClient.testValue
|
||||
fileClient.findVaultFileInCurrentDirectory = { URL(string: "vault.yml") }
|
||||
|
||||
var output = try await fileClient.ensuredVaultFilePath("vault.yml")
|
||||
#expect(output == "vault.yml")
|
||||
|
||||
output = try await fileClient.ensuredVaultFilePath(nil)
|
||||
|
||||
fileClient.findVaultFileInCurrentDirectory = { nil }
|
||||
do {
|
||||
_ = try await fileClient.ensuredVaultFilePath(nil)
|
||||
#expect(Bool(false))
|
||||
} catch {
|
||||
#expect(Bool(true))
|
||||
}
|
||||
}
|
||||
|
||||
func withMockConfiguration(
|
||||
_ capturing: CliClient.CapturingClient,
|
||||
configuration: Configuration = .mock,
|
||||
|
||||
Reference in New Issue
Block a user