// // Copyright Amazon.com Inc. or its affiliates. // All Rights Reserved. // // SPDX-License-Identifier: Apache-2.0 // import Amplify import XCTest @testable import AWSCloudWatchLoggingPlugin final class LogFileTests: XCTestCase { var systemUnderTest: LogFile! var fileURL: URL! var sizeLimitInBytes: UInt64! override func setUp() async throws { let url = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(UUID().uuidString) guard FileManager.default.createFile(atPath: url.path, contents: nil) else { throw NSError() } sizeLimitInBytes = 1024 fileURL = url systemUnderTest = try LogFile(forWritingTo: fileURL, sizeLimitInBytes: sizeLimitInBytes) } override func tearDown() async throws { systemUnderTest = nil try FileManager.default.removeItem(at: fileURL) fileURL = nil sizeLimitInBytes = nil } /// Given: a data /// When: Log file writes to file /// Then: the log file writes to disk if there is enough space func testLogFileWriteToSpaceLimit() throws { let bytes = (0..