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}