73 lines · 2.2 KB · Swift
RawDownload
import Foundationimport Testing@testable import CodexBar @Suite@MainActorstruct GoogleWorkspaceStatusTests {    private let productID = "npdyhgECDJ6tB66MxXyo"     @Test    func parseWorkspaceStatusSelectsWorstIncident() throws {        let data = Data(#"""        [          {            "id": "inc-1",            "begin": "2025-12-02T09:00:00+00:00",            "end": null,            "affected_products": [              {"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"}            ],            "most_recent_update": {              "when": "2025-12-02T10:00:00+00:00",              "status": "SERVICE_INFORMATION",              "text": "**Summary**\nMinor issue.\n"            }          },          {            "id": "inc-2",            "begin": "2025-12-02T11:00:00+00:00",            "end": null,            "affected_products": [              {"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"}            ],            "most_recent_update": {              "when": "2025-12-02T12:00:00+00:00",              "status": "SERVICE_OUTAGE",              "text": "**Summary**\nGemini API error.\n"            }          }        ]        """#.utf8)         let status = try UsageStore.parseGoogleWorkspaceStatus(data: data, productID: self.productID)        #expect(status.indicator == .critical)        #expect(status.description == "Gemini API error.")        #expect(status.updatedAt != nil)    }     @Test    func parseWorkspaceStatusIgnoresResolvedIncidents() throws {        let data = Data(#"""        [          {            "id": "inc-3",            "begin": "2025-12-02T08:00:00+00:00",            "end": "2025-12-02T09:00:00+00:00",            "affected_products": [              {"title": "Gemini", "id": "npdyhgECDJ6tB66MxXyo"}            ],            "most_recent_update": {              "when": "2025-12-02T09:00:00+00:00",              "status": "AVAILABLE",              "text": "**Summary**\nResolved.\n"            }          }        ]        """#.utf8)         let status = try UsageStore.parseGoogleWorkspaceStatus(data: data, productID: self.productID)        #expect(status.indicator == .none)        #expect(status.description == nil)    }}