Skip to content

Commit

Permalink
Fixed SwiftLint warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
tobihagemann committed May 23, 2024
1 parent f6f4d46 commit 45243b3
Show file tree
Hide file tree
Showing 17 changed files with 68 additions and 65 deletions.
1 change: 1 addition & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
disabled_rules:
- file_length
- line_length
- redundant_void_return
- todo
- type_body_length

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ class VaultFormat6ShortenedNameCache {
return Promise(originalName)
} else {
return loadLngFile(shortenedName).then { data -> String in
let originalName = String(data: data, encoding: .utf8)!
let originalName = String(decoding: data, as: UTF8.self)
try? self.addToCache(shortenedName, originalName: originalName)
return originalName
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ class VaultFormat7ShortenedNameCache {
return Promise(originalName)
} else {
return loadNameC9S(c9sDirPath).then { data -> String in
let originalName = String(data: data, encoding: .utf8)!
let originalName = String(decoding: data, as: UTF8.self)
try? self.addToCache(shortenedName, originalName: originalName)
return originalName
}
Expand Down
2 changes: 2 additions & 0 deletions Sources/CryptomatorCloudAccess/Logging/HTTPDebugLogger.swift
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ enum HTTPDebugLogger {
guard let bodyData = request.httpBody else {
return .none
}
// swiftlint:disable:next non_optional_string_data_conversion
if let body = String(data: bodyData, encoding: .utf8) {
if body.isEmpty {
return .empty
Expand Down Expand Up @@ -102,6 +103,7 @@ enum HTTPDebugLogger {
if let contentEncodingHeaderField = response.value(forHTTPHeaderField: "Content-Encoding"), contentEncodingHeaderField.caseInsensitiveCompare("identity") != .orderedSame {
return .encoded
}
// swiftlint:disable:next non_optional_string_data_conversion
if let body = String(data: bodyData, encoding: .utf8) {
if body.isEmpty {
return .empty
Expand Down
8 changes: 4 additions & 4 deletions Sources/CryptomatorCloudAccess/WebDAV/WebDAVClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ public class WebDAVClient {
request.httpMethod = "PROPFIND"
request.setValue(depth.rawValue, forHTTPHeaderField: "Depth")
request.setValue("application/xml", forHTTPHeaderField: "Content-Type")
request.httpBody = """
request.httpBody = Data("""
<?xml version="1.0" encoding="utf-8"?><d:propfind xmlns:d="DAV:">\(propfindPropElementsAsXML(with: propertyNames))</d:propfind>
""".data(using: .utf8)
""".utf8)
return webDAVSession.performDownloadTask(with: request, to: localURL, onTaskCreation: nil)
}

Expand All @@ -77,9 +77,9 @@ public class WebDAVClient {
request.httpMethod = "PROPFIND"
request.setValue(depth.rawValue, forHTTPHeaderField: "Depth")
request.setValue("application/xml", forHTTPHeaderField: "Content-Type")
request.httpBody = """
request.httpBody = Data("""
<?xml version="1.0" encoding="utf-8"?><d:propfind xmlns:d="DAV:">\(propfindPropElementsAsXML(with: propertyNames))</d:propfind>
""".data(using: .utf8)
""".utf8)
return webDAVSession.performDataTask(with: request)
}

Expand Down
2 changes: 1 addition & 1 deletion Tests/CryptomatorCloudAccessTests/Crypto/CryptorMock.swift
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public class CryptorMock: Cryptor {
}

override public func encryptDirId(_ dirId: Data) throws -> String {
if let dirId = dirIds[String(data: dirId, encoding: .utf8)!] {
if let dirId = dirIds[String(decoding: dirId, as: UTF8.self)] {
return dirId
} else {
return "99ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
Expand Down
12 changes: 6 additions & 6 deletions Tests/CryptomatorCloudAccessTests/Crypto/VaultConfigTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ import XCTest
#endif

class VaultConfigTests: XCTestCase {
let tokenNone = "eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6Im5vbmUifQ.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.".data(using: .utf8)!
let tokenHS256 = "eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6IkhTMjU2In0.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.V7pqSXX1tBRgmntL1sXovnhNR4Z1_7z3Jzrq7NMqPO8".data(using: .utf8)!
let tokenHS384 = "eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6IkhTMzg0In0.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.rx03sCVAyrCmT6halPaFU46lu-DOd03iwDgvdw362hfgJj782q6xPXjAxdKeVKxG".data(using: .utf8)!
let tokenHS512 = "eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6IkhTNTEyIn0.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.fzkVI34Ou3z7RaFarS9VPCaA0NX9z7My14gAISTXJGKGNSID7xEcoaY56SBdWbU7Ta17KhxcHhbXffxk3Mzing".data(using: .utf8)!
let tokenNone = Data("eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6Im5vbmUifQ.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.".utf8)
let tokenHS256 = Data("eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6IkhTMjU2In0.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.V7pqSXX1tBRgmntL1sXovnhNR4Z1_7z3Jzrq7NMqPO8".utf8)
let tokenHS384 = Data("eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6IkhTMzg0In0.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.rx03sCVAyrCmT6halPaFU46lu-DOd03iwDgvdw362hfgJj782q6xPXjAxdKeVKxG".utf8)
let tokenHS512 = Data("eyJraWQiOiJURVNUX0tFWSIsInR5cCI6IkpXVCIsImFsZyI6IkhTNTEyIn0.eyJmb3JtYXQiOjgsInNob3J0ZW5pbmdUaHJlc2hvbGQiOjIyMCwianRpIjoiZjRiMjlmM2EtNDdkNi00NjlmLTk2NGMtZjRjMmRhZWU4ZWI2IiwiY2lwaGVyQ29tYm8iOiJTSVZfQ1RSTUFDIn0.fzkVI34Ou3z7RaFarS9VPCaA0NX9z7My14gAISTXJGKGNSID7xEcoaY56SBdWbU7Ta17KhxcHhbXffxk3Mzing".utf8)

func testCreateNew() {
let vaultConfig = VaultConfig.createNew(format: 8, cipherCombo: .sivCtrMac, shorteningThreshold: 220)
Expand Down Expand Up @@ -62,7 +62,7 @@ class VaultConfigTests: XCTestCase {
}

func testLoadWithMalformedToken() throws {
let token = "hello world".data(using: .utf8)!
let token = Data("hello world".utf8)
let rawKey = [UInt8](repeating: 0x55, count: 64)
XCTAssertThrowsError(try VaultConfig.load(token: token, rawKey: rawKey), "input was not a valid token") { error in
guard case JOSESwiftError.invalidCompactSerializationComponentCount(count: 1) = error else {
Expand All @@ -86,7 +86,7 @@ class VaultConfigTests: XCTestCase {
let vaultConfig = VaultConfig(id: "ABB9F673-F3E8-41A7-A43B-D29F5DA65068", format: 8, cipherCombo: .sivCtrMac, shorteningThreshold: 220)
let rawKey = [UInt8](repeating: 0x55, count: 64)
let token = try vaultConfig.toToken(keyId: "masterkeyfile:masterkey.cryptomator", rawKey: rawKey)
let tokenComponents = String(data: token, encoding: .utf8)!.split(separator: ".")
let tokenComponents = String(decoding: token, as: UTF8.self).split(separator: ".")
// check header
let header: [String: String] = try decodeTokenComponent(String(tokenComponents[0]))
XCTAssertEqual(["typ": "JWT", "alg": "HS256", "kid": "masterkeyfile:masterkey.cryptomator"], header)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,21 +38,21 @@ public class VaultFormat6CloudProviderMock: CloudProviderMock {
"pathToVault/d/44/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
]
let files = [
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0dir1": "dir1-id".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng": "dir3-id".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file1": "ciphertext1".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file2": "ciphertext2".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2QODSHBUSLEFQ6UELQ45EKJ27HTAMZPH.lng": "ciphertext4".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/CIVVSN3UPME74I7TGQESFYRUFKAUH6H7.lng": "ciphertext5".data(using: .utf8)!,
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/0dir2": "dir2-id".data(using: .utf8)!,
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/file3": "ciphertext3".data(using: .utf8)!,
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/5ZIVSZELKKXO66ALXML6ORP32HF3OLAL.lng": "dir4-id".data(using: .utf8)!,
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/LTGFEUKABMKGWWR2EAL6LSHZC7OGDRMN.lng": "ciphertext6".data(using: .utf8)!,
"pathToVault/m/DL/2X/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng": "0\(String(repeating: "dir3", count: 33))".data(using: .utf8)!,
"pathToVault/m/5Z/IV/5ZIVSZELKKXO66ALXML6ORP32HF3OLAL.lng": "0\(String(repeating: "dir4", count: 33))".data(using: .utf8)!,
"pathToVault/m/2Q/OD/2QODSHBUSLEFQ6UELQ45EKJ27HTAMZPH.lng": String(repeating: "file4", count: 26).data(using: .utf8)!,
"pathToVault/m/CI/VV/CIVVSN3UPME74I7TGQESFYRUFKAUH6H7.lng": String(repeating: "file5", count: 26).data(using: .utf8)!,
"pathToVault/m/LT/GF/LTGFEUKABMKGWWR2EAL6LSHZC7OGDRMN.lng": String(repeating: "file6", count: 26).data(using: .utf8)!
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0dir1": Data("dir1-id".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng": Data("dir3-id".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file1": Data("ciphertext1".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file2": Data("ciphertext2".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2QODSHBUSLEFQ6UELQ45EKJ27HTAMZPH.lng": Data("ciphertext4".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/CIVVSN3UPME74I7TGQESFYRUFKAUH6H7.lng": Data("ciphertext5".utf8),
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/0dir2": Data("dir2-id".utf8),
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/file3": Data("ciphertext3".utf8),
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/5ZIVSZELKKXO66ALXML6ORP32HF3OLAL.lng": Data("dir4-id".utf8),
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/LTGFEUKABMKGWWR2EAL6LSHZC7OGDRMN.lng": Data("ciphertext6".utf8),
"pathToVault/m/DL/2X/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng": Data("0\(String(repeating: "dir3", count: 33))".utf8),
"pathToVault/m/5Z/IV/5ZIVSZELKKXO66ALXML6ORP32HF3OLAL.lng": Data("0\(String(repeating: "dir4", count: 33))".utf8),
"pathToVault/m/2Q/OD/2QODSHBUSLEFQ6UELQ45EKJ27HTAMZPH.lng": Data(String(repeating: "file4", count: 26).utf8),
"pathToVault/m/CI/VV/CIVVSN3UPME74I7TGQESFYRUFKAUH6H7.lng": Data(String(repeating: "file5", count: 26).utf8),
"pathToVault/m/LT/GF/LTGFEUKABMKGWWR2EAL6LSHZC7OGDRMN.lng": Data(String(repeating: "file6", count: 26).utf8)
]
self.init(folders: folders, files: files)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ class VaultFormat6CloudProviderMockTests: XCTestCase {
XCTAssertEqual(.file, metadata.itemType)
try await provider.downloadFile(from: metadata.cloudPath, to: localURL).async()
let downloadedContents = try Data(contentsOf: localURL)
XCTAssertEqual("dir1-id".data(using: .utf8), downloadedContents)
XCTAssertEqual(Data("dir1-id".utf8), downloadedContents)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class VaultFormat6ProviderDecoratorTests: XCTestCase {
// progress.becomeCurrent(withPendingUnitCount: 1)
let metadata = try await decorator.uploadFile(from: localURL, to: CloudPath("/File 1"), replaceExisting: false).async()
XCTAssertEqual(1, provider.createdFiles.count)
XCTAssertEqual("ciphertext1".data(using: .utf8), provider.createdFiles["pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file1"])
XCTAssertEqual(Data("ciphertext1".utf8), provider.createdFiles["pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file1"])
XCTAssertEqual("File 1", metadata.name)
XCTAssertEqual(.file, metadata.itemType)
XCTAssertEqual("/File 1", metadata.cloudPath.path)
Expand Down Expand Up @@ -130,8 +130,8 @@ class VaultFormat6ProviderDecoratorTests: XCTestCase {
"pathToVault/d/22/CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
]
let files = [
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/0dir2": "dir2-id".data(using: .utf8)!,
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/file3": "ciphertext3".data(using: .utf8)!
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/0dir2": Data("dir2-id".utf8),
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/file3": Data("ciphertext3".utf8)
]

let provider = VaultFormat6CloudProviderMock(folders: folders, files: files)
Expand All @@ -150,7 +150,7 @@ class VaultFormat6ProviderDecoratorTests: XCTestCase {
"pathToVault/d/22/CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
]
let files = [
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0dir1": "dir1-id".data(using: .utf8)!
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0dir1": Data("dir1-id".utf8)
]
let provider = VaultFormat6CloudProviderMock(folders: folders, files: files)
let decorator = try VaultFormat6ProviderDecorator(delegate: provider, vaultPath: vaultPath, cryptor: cryptor)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class VaultFormat6ShortenedNameCacheTests: XCTestCase {

let longName = try await cache.getOriginalPath(shortened) { lngFileName -> Promise<Data> in
XCTAssertEqual("shortened.lng", lngFileName)
return Promise("loooong".data(using: .utf8)!)
return Promise(Data("loooong".utf8))
}.async()
XCTAssertEqual("/foo/bar/d/2/30/loooong", longName.path)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class VaultFormat6ShorteningProviderDecoratorTests: VaultFormat6ProviderDecorato
XCTAssertTrue(provider.createdFolders.contains("pathToVault/m/2Q"))
XCTAssertTrue(provider.createdFolders.contains("pathToVault/m/2Q/OD"))
XCTAssertEqual(2, provider.createdFiles.count)
XCTAssertEqual("ciphertext4".data(using: .utf8), provider.createdFiles["pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2QODSHBUSLEFQ6UELQ45EKJ27HTAMZPH.lng"])
XCTAssertEqual(Data("ciphertext4".utf8), provider.createdFiles["pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2QODSHBUSLEFQ6UELQ45EKJ27HTAMZPH.lng"])
XCTAssertEqual(String(repeating: "file4", count: 26).data(using: .utf8), provider.createdFiles["pathToVault/m/2Q/OD/2QODSHBUSLEFQ6UELQ45EKJ27HTAMZPH.lng"])
XCTAssertEqual("File 4 (Long)", metadata.name)
XCTAssertEqual(.file, metadata.itemType)
Expand All @@ -87,7 +87,7 @@ class VaultFormat6ShorteningProviderDecoratorTests: VaultFormat6ProviderDecorato
XCTAssertTrue(provider.createdFolders.contains("pathToVault/d/99/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"))
XCTAssertEqual(2, provider.createdFiles.count)
XCTAssertNotNil(provider.createdFiles["pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng"])
XCTAssertEqual("0\(String(repeating: "dir3", count: 33))".data(using: .utf8), provider.createdFiles["pathToVault/m/DL/2X/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng"])
XCTAssertEqual(Data("0\(String(repeating: "dir3", count: 33))".utf8), provider.createdFiles["pathToVault/m/DL/2X/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng"])
}

func testDeleteFileWithLongName() async throws {
Expand Down Expand Up @@ -141,7 +141,7 @@ class VaultFormat6ShorteningProviderDecoratorTests: VaultFormat6ProviderDecorato
XCTAssertTrue(provider.createdFolders.contains("pathToVault/m/DL"))
XCTAssertTrue(provider.createdFolders.contains("pathToVault/m/DL/2X"))
XCTAssertEqual(1, provider.createdFiles.count)
XCTAssertEqual("0\(String(repeating: "dir3", count: 33))".data(using: .utf8), provider.createdFiles["pathToVault/m/DL/2X/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng"])
XCTAssertEqual(Data("0\(String(repeating: "dir3", count: 33))".utf8), provider.createdFiles["pathToVault/m/DL/2X/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng"])
XCTAssertEqual(1, provider.moved.count)
XCTAssertEqual("pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/DL2XHF4PL5BKUCEJFIOEWB5JPAURMP3Y.lng", provider.moved["pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0dir1"])
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,21 @@ public class VaultFormat7CloudProviderMock: CloudProviderMock {
"pathToVault/d/44/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
]
let files = [
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/dir1.c9r/dir.c9r": "dir1-id".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/kUDsIDxDMxx1lK0CD1ZftCF376Y=.c9s/dir.c9r": "dir3-id".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/kUDsIDxDMxx1lK0CD1ZftCF376Y=.c9s/name.c9s": "\(String(repeating: "dir3", count: 55)).c9r".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file1.c9r": "ciphertext1".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file2.c9r": "ciphertext2".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9j5eVKQZdTojV6zlbxhcCLD_8bs=.c9s/contents.c9r": "ciphertext4".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9j5eVKQZdTojV6zlbxhcCLD_8bs=.c9s/name.c9s": "\(String(repeating: "file4", count: 44)).c9r".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/aw1qoKFUVs_FnB_n3lGtqKpyIeA=.c9s/contents.c9r": "ciphertext5".data(using: .utf8)!,
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/aw1qoKFUVs_FnB_n3lGtqKpyIeA=.c9s/name.c9s": "\(String(repeating: "file5", count: 44)).c9r".data(using: .utf8)!,
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/dir2.c9r/dir.c9r": "dir2-id".data(using: .utf8)!,
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/file3.c9r": "ciphertext3".data(using: .utf8)!,
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/ImoW6Jb8d-kdR00uEadGd1_TJDM=.c9s/dir.c9r": "dir4-id".data(using: .utf8)!,
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/ImoW6Jb8d-kdR00uEadGd1_TJDM=.c9s/name.c9s": "\(String(repeating: "dir4", count: 55)).c9r".data(using: .utf8)!,
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/nSuAAJhIy1kp2_GdVZ0KgqaLJ-U=.c9s/contents.c9r": "ciphertext6".data(using: .utf8)!,
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/nSuAAJhIy1kp2_GdVZ0KgqaLJ-U=.c9s/name.c9s": "\(String(repeating: "file6", count: 44)).c9r".data(using: .utf8)!
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/dir1.c9r/dir.c9r": Data("dir1-id".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/kUDsIDxDMxx1lK0CD1ZftCF376Y=.c9s/dir.c9r": Data("dir3-id".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/kUDsIDxDMxx1lK0CD1ZftCF376Y=.c9s/name.c9s": Data("\(String(repeating: "dir3", count: 55)).c9r".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file1.c9r": Data("ciphertext1".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/file2.c9r": Data("ciphertext2".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9j5eVKQZdTojV6zlbxhcCLD_8bs=.c9s/contents.c9r": Data("ciphertext4".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9j5eVKQZdTojV6zlbxhcCLD_8bs=.c9s/name.c9s": Data("\(String(repeating: "file4", count: 44)).c9r".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/aw1qoKFUVs_FnB_n3lGtqKpyIeA=.c9s/contents.c9r": Data("ciphertext5".utf8),
"pathToVault/d/00/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/aw1qoKFUVs_FnB_n3lGtqKpyIeA=.c9s/name.c9s": Data("\(String(repeating: "file5", count: 44)).c9r".utf8),
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/dir2.c9r/dir.c9r": Data("dir2-id".utf8),
"pathToVault/d/11/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/file3.c9r": Data("ciphertext3".utf8),
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/ImoW6Jb8d-kdR00uEadGd1_TJDM=.c9s/dir.c9r": Data("dir4-id".utf8),
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/ImoW6Jb8d-kdR00uEadGd1_TJDM=.c9s/name.c9s": Data("\(String(repeating: "dir4", count: 55)).c9r".utf8),
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/nSuAAJhIy1kp2_GdVZ0KgqaLJ-U=.c9s/contents.c9r": Data("ciphertext6".utf8),
"pathToVault/d/33/DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD/nSuAAJhIy1kp2_GdVZ0KgqaLJ-U=.c9s/name.c9s": Data("\(String(repeating: "file6", count: 44)).c9r".utf8)
]
self.init(folders: folders, files: files)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ class VaultFormat7CloudProviderMockTests: XCTestCase {
XCTAssertEqual(.file, metadata.itemType)
try await provider.downloadFile(from: metadata.cloudPath, to: localURL).async()
let downloadedContents = try Data(contentsOf: localURL)
XCTAssertEqual("dir1-id".data(using: .utf8), downloadedContents)
XCTAssertEqual(Data("dir1-id".utf8), downloadedContents)
}
}

0 comments on commit 45243b3

Please sign in to comment.