krz/hutch
an ios client for sourcehut
clone: git clone https://gitbay.org/krz/hutch.git
main: HutchTests/RepositoryDeployKeyTests.swift · raw
1import Foundation
2import Testing
3@testable import Hutch
4
5@MainActor
6struct RepositoryDeployKeyTests {
7 @Test
8 func decodesDeployKey() throws {
9 let json = """
10 { "rid": "k1", "keyType": "ssh-ed25519", "fingerprintSHA256": "SHA256:abc", "comment": "laptop", "access": "RW" }
11 """
12 let key = try JSONDecoder().decode(RepositoryDeployKey.self, from: Data(json.utf8))
13 #expect(key.rid == "k1")
14 #expect(key.id == "k1")
15 #expect(key.access == .rw)
16 #expect(key.comment == "laptop")
17 }
18
19 @Test
20 func decodesDeployKeyWithNullComment() throws {
21 let json = """
22 { "rid": "k2", "keyType": "ssh-rsa", "fingerprintSHA256": "SHA256:def", "comment": null, "access": "RO" }
23 """
24 let key = try JSONDecoder().decode(RepositoryDeployKey.self, from: Data(json.utf8))
25 #expect(key.comment == nil)
26 #expect(key.access == .ro)
27 }
28}