From d8862a9b78b0d6cf4e11cf537be7678794e08811 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Fri, 17 Jul 2026 16:06:47 -0500 Subject: Scaffold octosentry MVP: unified GitHub security alert feed MenuBarExtra popover aggregating Dependabot, code scanning, and secret scanning alerts for a single repo into one severity-ranked stream. Swift 6 strict concurrency, zero third-party dependencies, PAT-via-env-var auth as a dev-only shortcut ahead of the device authorization flow. --- octosentryUITests/octosentryUITests.swift | 43 ++++++++++++++++++++++ .../octosentryUITestsLaunchTests.swift | 35 ++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 octosentryUITests/octosentryUITests.swift create mode 100644 octosentryUITests/octosentryUITestsLaunchTests.swift (limited to 'octosentryUITests') diff --git a/octosentryUITests/octosentryUITests.swift b/octosentryUITests/octosentryUITests.swift new file mode 100644 index 0000000..576538e --- /dev/null +++ b/octosentryUITests/octosentryUITests.swift @@ -0,0 +1,43 @@ +// +// octosentryUITests.swift +// octosentryUITests +// +// Created by cmc on 2026-07-17. +// + +import XCTest + +final class octosentryUITests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + @MainActor + func testExample() throws { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use XCTAssert and related functions to verify your tests produce the correct results. + // XCUIAutomation Documentation + // https://developer.apple.com/documentation/xcuiautomation + } + + @MainActor + func testLaunchPerformance() throws { + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() + } + } +} diff --git a/octosentryUITests/octosentryUITestsLaunchTests.swift b/octosentryUITests/octosentryUITestsLaunchTests.swift new file mode 100644 index 0000000..7001f38 --- /dev/null +++ b/octosentryUITests/octosentryUITestsLaunchTests.swift @@ -0,0 +1,35 @@ +// +// octosentryUITestsLaunchTests.swift +// octosentryUITests +// +// Created by cmc on 2026-07-17. +// + +import XCTest + +final class octosentryUITestsLaunchTests: XCTestCase { + + override class var runsForEachTargetApplicationUIConfiguration: Bool { + true + } + + override func setUpWithError() throws { + continueAfterFailure = false + } + + @MainActor + func testLaunch() throws { + let app = XCUIApplication() + app.launch() + + // Insert steps here to perform after app launch but before taking a screenshot, + // such as logging into a test account or navigating somewhere in the app + // XCUIAutomation Documentation + // https://developer.apple.com/documentation/xcuiautomation + + let attachment = XCTAttachment(screenshot: app.screenshot()) + attachment.name = "Launch Screen" + attachment.lifetime = .keepAlways + add(attachment) + } +} -- cgit v1.2.3