Skip to content

Commit 6817d84

Browse files
committed
add test
1 parent 4f26cf6 commit 6817d84

File tree

2 files changed

+58
-7
lines changed

2 files changed

+58
-7
lines changed

Sources/ParseSwift/Types/ParseFile.swift

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,6 @@ extension ParseFile {
157157
name = try values.decode(String.self, forKey: .name)
158158
id = UUID()
159159
}
160-
/*
161-
public func encode(to encoder: Encoder) throws {
162-
var container = encoder.container(keyedBy: CodingKeys.self)
163-
try container.encode(type, forKey: .type)
164-
try container.encode(name, forKey: .name)
165-
try container.encode(url, forKey: .url)
166-
} */
167160
}
168161

169162
// MARK: Deleting

Tests/ParseSwiftTests/ParseFileTests.swift

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,6 +1150,64 @@ class ParseFileTests: XCTestCase { // swiftlint:disable:this type_body_length
11501150
#endif
11511151
}
11521152

1153+
func testFetchFileWithDirInName() throws {
1154+
// swiftlint:disable:next line_length
1155+
guard let parseFileURL = URL(string: "http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg") else {
1156+
XCTFail("Should create URL")
1157+
return
1158+
}
1159+
var parseFile = ParseFile(name: "myFolder/d3a37aed0672a024595b766f97133615_logo.svg", cloudURL: parseFileURL)
1160+
parseFile.url = parseFileURL
1161+
1162+
let response = FileUploadResponse(name: "myFolder/d3a37aed0672a024595b766f97133615_logo.svg",
1163+
url: parseFileURL)
1164+
let encoded: Data!
1165+
do {
1166+
encoded = try ParseCoding.jsonEncoder().encode(response)
1167+
} catch {
1168+
XCTFail("Should encode/decode. Error \(error)")
1169+
return
1170+
}
1171+
MockURLProtocol.mockRequests { _ in
1172+
return MockURLResponse(data: encoded, statusCode: 200, delay: 0.0)
1173+
}
1174+
1175+
let fetchedFile = try parseFile.fetch()
1176+
XCTAssertEqual(fetchedFile.name, response.name)
1177+
XCTAssertEqual(fetchedFile.url, response.url)
1178+
guard let localURL = fetchedFile.localURL else {
1179+
XCTFail("Should have unwrapped")
1180+
return
1181+
}
1182+
XCTAssertFalse(localURL.pathComponents.contains("myFolder"))
1183+
1184+
// Cache policy flakey on older Swift versions
1185+
#if compiler(>=5.5.0)
1186+
// Remove URL mocker so we can check cache
1187+
MockURLProtocol.removeAll()
1188+
1189+
let fetchedFile2 = try parseFile.fetch(options: [.cachePolicy(.returnCacheDataDontLoad)])
1190+
XCTAssertEqual(fetchedFile2.name, fetchedFile.name)
1191+
XCTAssertEqual(fetchedFile2.url, fetchedFile.url)
1192+
XCTAssertNotNil(fetchedFile2.localURL)
1193+
1194+
// More cache tests
1195+
guard let currentMemoryUsage = URLSession.parse.configuration.urlCache?.currentMemoryUsage,
1196+
let currentDiskUsage = URLSession.parse.configuration.urlCache?.currentDiskUsage else {
1197+
XCTFail("Should have unwrapped")
1198+
return
1199+
}
1200+
XCTAssertGreaterThan(currentMemoryUsage, 0)
1201+
XCTAssertGreaterThan(currentDiskUsage, 0)
1202+
ParseSwift.clearCache()
1203+
guard let updatedMemoryUsage = URLSession.parse.configuration.urlCache?.currentMemoryUsage else {
1204+
XCTFail("Should have unwrapped")
1205+
return
1206+
}
1207+
XCTAssertLessThan(updatedMemoryUsage, currentMemoryUsage)
1208+
#endif
1209+
}
1210+
11531211
func testFetchFileProgress() throws {
11541212
// swiftlint:disable:next line_length
11551213
guard let parseFileURL = URL(string: "http://localhost:1337/1/files/applicationId/d3a37aed0672a024595b766f97133615_logo.svg") else {

0 commit comments

Comments
 (0)