summaryrefslogtreecommitdiff
path: root/HutchTests/RepositoryDeployKeyTests.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-08-07 16:35:16 -0500
committerGitHub <[email protected]>2026-08-07 16:35:16 -0500
commit9671eac8eeb9d06e25563f51bf81889b5537feeb (patch)
tree6d943fc410b37d3dc7dfec72406688dbd97ac724 /HutchTests/RepositoryDeployKeyTests.swift
parent18b1c475983ae9e6a52fcedb2e2992193130035c (diff)
parent07156180789b02d4f22a87f22a37c912e7543190 (diff)
downloadhutch-3.10.0.tar.gz
hutch-3.10.0.tar.bz2
hutch-3.10.0.zip
Merge pull request #36 from krazywarez/deploy-keysv3.10.0
Deploy keys: manage git.sr.ht repository deploy keys (v3.10.0)
Diffstat (limited to 'HutchTests/RepositoryDeployKeyTests.swift')
-rw-r--r--HutchTests/RepositoryDeployKeyTests.swift27
1 files changed, 27 insertions, 0 deletions
diff --git a/HutchTests/RepositoryDeployKeyTests.swift b/HutchTests/RepositoryDeployKeyTests.swift
new file mode 100644
index 0000000..c6ff667
--- /dev/null
+++ b/HutchTests/RepositoryDeployKeyTests.swift
@@ -0,0 +1,27 @@
+import Foundation
+import Testing
+@testable import Hutch
+
+struct RepositoryDeployKeyTests {
+ @Test
+ func decodesDeployKey() throws {
+ let json = """
+ { "rid": "k1", "keyType": "ssh-ed25519", "fingerprintSHA256": "SHA256:abc", "comment": "laptop", "access": "RW" }
+ """
+ let key = try JSONDecoder().decode(RepositoryDeployKey.self, from: Data(json.utf8))
+ #expect(key.rid == "k1")
+ #expect(key.id == "k1")
+ #expect(key.access == .rw)
+ #expect(key.comment == "laptop")
+ }
+
+ @Test
+ func decodesDeployKeyWithNullComment() throws {
+ let json = """
+ { "rid": "k2", "keyType": "ssh-rsa", "fingerprintSHA256": "SHA256:def", "comment": null, "access": "RO" }
+ """
+ let key = try JSONDecoder().decode(RepositoryDeployKey.self, from: Data(json.utf8))
+ #expect(key.comment == nil)
+ #expect(key.access == .ro)
+ }
+}