@@ -2,13 +2,10 @@ import XCTest
22@testable import ParseableViewer
33
44final class ConnectionStoreTests: XCTestCase {
5− private let testSuiteKey = "parseable_connections_test"
6−
75 override func tearDown() {
86 super.tearDown()
9− // Clean up any test data from UserDefaults
10− UserDefaults.standard.removeObject(forKey: "parseable_connections")
11− UserDefaults.standard.removeObject(forKey: "parseable_active_connection_id")
7+ KeychainService.deleteData(for: "parseable_connections_list")
8+ KeychainService.deleteData(for: "parseable_active_connection_id")
129 }
1310
1411 func testSaveNilActiveConnectionID() {
@@ -20,7 +17,7 @@ final class ConnectionStoreTests: XCTestCase {
2017 }
2118
2219 func testLoadActiveConnectionIDWhenEmpty() {
23− UserDefaults.standard.removeObject(forKey: "parseable_active_connection_id")
20+ KeychainService.deleteData(for: "parseable_active_connection_id")
2421 let loaded = ConnectionStore.loadActiveConnectionID()
2522 XCTAssertNil(loaded)
2623 }
@@ -28,35 +25,12 @@ final class ConnectionStoreTests: XCTestCase {
2825 // MARK: - Connection persistence
2926
3027 func testLoadConnectionsWhenEmpty() {
31− UserDefaults.standard.removeObject(forKey: "parseable_connections")
28+ KeychainService.deleteData(for: "parseable_connections_list")
3229 let connections = ConnectionStore.loadConnections()
3330 XCTAssertTrue(connections.isEmpty)
3431 }
3532
36− func testSaveAndLoadConnections() {
37− let connection = ServerConnection(
38− name: "Test Server",
39− url: "https://logs.example.com",
40− username: "admin",
41− password: "secret123"
42− )
43− ConnectionStore.saveConnections([connection])
44− let loaded = ConnectionStore.loadConnections()
45− XCTAssertEqual(loaded.count, 1)
46− XCTAssertEqual(loaded[0].name, "Test Server")
47− XCTAssertEqual(loaded[0].url, "https://logs.example.com")
48− XCTAssertEqual(loaded[0].username, "admin")
49− }
50−
51− func testSaveMultipleConnections() {
52− let c1 = ServerConnection(name: "Prod", url: "https://prod.example.com", username: "admin", password: "p1")
53− let c2 = ServerConnection(name: "Dev", url: "https://dev.example.com", username: "dev", password: "p2")
54− ConnectionStore.saveConnections([c1, c2])
55− let loaded = ConnectionStore.loadConnections()
56− XCTAssertEqual(loaded.count, 2)
57− }
58−
59− func testPasswordNotInUserDefaults() {
33+ func testPasswordNotInKeychainConnectionData() {
6034 let connection = ServerConnection(
6135 name: "Test",
6236 url: "https://example.com",
@@ -65,12 +39,11 @@ final class ConnectionStoreTests: XCTestCase {
6539 )
6640 ConnectionStore.saveConnections([connection])
6741
68− // Verify password is NOT in the UserDefaults data
69− if let data = UserDefaults.standard.data(forKey: "parseable_connections"),
42+ // Verify password is NOT in the connections list data
43+ if let data = KeychainService.loadData(for: "parseable_connections_list"),
7044 let jsonString = String(data: data, encoding: .utf8) {
7145 XCTAssertFalse(jsonString.contains("supersecret"),
72− "Password should not be stored in UserDefaults JSON")
46+ "Password should not be stored in connection list JSON")
7347 }
7448 }
75−
7649}