Skip to content

Commit 7442a19

Browse files
committed
Input file test fixes
1 parent 9351df4 commit 7442a19

File tree

2 files changed

+53
-51
lines changed

2 files changed

+53
-51
lines changed

templates/swift/Sources/Client.swift.twig

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ open class Client {
342342

343343
switch(input.sourceType) {
344344
case "path":
345-
input.data = ByteBuffer(data: try! Data(contentsOf: URL(fileURLWithPath: FileManager.default.currentDirectoryPath + input.path)))
345+
input.data = ByteBuffer(data: try! Data(contentsOf: URL(fileURLWithPath: input.path)))
346346
case "data":
347347
input.data = ByteBuffer(data: input.data as! Data)
348348
default:
@@ -352,6 +352,7 @@ open class Client {
352352
let size = (input.data as! ByteBuffer).readableBytes
353353

354354
if size < Client.chunkSize {
355+
params[paramName] = input
355356
return try await call(
356357
method: "POST",
357358
path: path,
@@ -377,13 +378,11 @@ open class Client {
377378
offset = min(size, (chunksUploaded * Client.chunkSize))
378379
}
379380

380-
let cachedInput = input
381-
382381
while offset < size {
383-
input.data = (cachedInput.data as! ByteBuffer).getSlice(at: offset, length: Client.chunkSize)
384-
?? (cachedInput.data as! ByteBuffer).getSlice(at: offset, length: Int(size - offset))
382+
let slice = (input.data as! ByteBuffer).getSlice(at: offset, length: Client.chunkSize)
383+
?? (input.data as! ByteBuffer).getSlice(at: offset, length: Int(size - offset))
385384

386-
params[paramName] = input
385+
params[paramName] = InputFile.fromBuffer(slice!, filename: input.filename, mimeType: input.mimeType)
387386
headers["content-range"] = "bytes \(offset)-\(min((offset + Client.chunkSize) - 1, size))/\(size)"
388387

389388
result = try await call(

tests/languages/swift-server/Tests.swift

Lines changed: 48 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -75,50 +75,53 @@ class Tests: XCTestCase {
7575
} catch let error as AppwriteError {
7676
print(error.message)
7777
}
78-
// do {
79-
// var file = InputFile.fromPath("\(FileManager.default.currentDirectoryPath)/../../resources/large_file.mp4")
80-
// mock = try await general.upload(x: "string", y: 123, z: ["string in array"], file: file, onProgress: nil)
81-
// print(mock.result)
82-
// } catch let error as AppwriteError {
83-
// print(error.message)
84-
// }
85-
// do {
86-
// var url = URL(fileURLWithPath: "\(FileManager.default.currentDirectoryPath)/../../resources/file.png")
87-
// var buffer = ByteBuffer(data: try! Data(contentsOf: url))
88-
// var file = InputFile.fromBuffer(buffer, filename: "file.png", mimeType: "image/png")
89-
// mock = try await general.upload(x: "string", y: 123, z: ["string in array"], file: file, onProgress: nil)
90-
// print(mock.result)
91-
// } catch let error as AppwriteError {
92-
// print(error.message)
93-
// }
94-
// do {
95-
// var url = URL(fileURLWithPath: "\(FileManager.default.currentDirectoryPath)/../../resources/large_file.mp4")
96-
// var buffer = ByteBuffer(data: try! Data(contentsOf: url))
97-
// var file = InputFile.fromBuffer(buffer, filename: "large_file.mp4", mimeType: "video/mp4")
98-
// mock = try await general.upload(x: "string", y: 123, z: ["string in array"], file: file, onProgress: nil)
99-
// print(mock.result)
100-
// } catch let error as AppwriteError {
101-
// print(error.message)
102-
// }
103-
//
104-
// do {
105-
// try await general.error400()
106-
// } catch let error as AppwriteError {
107-
// print(error.message)
108-
// }
109-
//
110-
// do {
111-
// try await general.error500()
112-
// } catch {
113-
// print(error.localizedDescription)
114-
// }
115-
//
116-
// do {
117-
// try await general.error502()
118-
// } catch {
119-
// print(String(describing: error))
120-
// }
121-
//
122-
// try! await general.empty()
78+
79+
do {
80+
var file = InputFile.fromPath("\(FileManager.default.currentDirectoryPath)/../../resources/large_file.mp4")
81+
mock = try await general.upload(x: "string", y: 123, z: ["string in array"], file: file, onProgress: nil)
82+
print(mock.result)
83+
} catch let error as AppwriteError {
84+
print(error.message)
85+
}
86+
87+
do {
88+
var url = URL(fileURLWithPath: "\(FileManager.default.currentDirectoryPath)/../../resources/file.png")
89+
var buffer = ByteBuffer(data: try! Data(contentsOf: url))
90+
var file = InputFile.fromBuffer(buffer, filename: "file.png", mimeType: "image/png")
91+
mock = try await general.upload(x: "string", y: 123, z: ["string in array"], file: file, onProgress: nil)
92+
print(mock.result)
93+
} catch let error as AppwriteError {
94+
print(error.message)
95+
}
96+
97+
do {
98+
var url = URL(fileURLWithPath: "\(FileManager.default.currentDirectoryPath)/../../resources/large_file.mp4")
99+
var buffer = ByteBuffer(data: try! Data(contentsOf: url))
100+
var file = InputFile.fromBuffer(buffer, filename: "large_file.mp4", mimeType: "video/mp4")
101+
mock = try await general.upload(x: "string", y: 123, z: ["string in array"], file: file, onProgress: nil)
102+
print(mock.result)
103+
} catch let error as AppwriteError {
104+
print(error.message)
105+
}
106+
107+
do {
108+
try await general.error400()
109+
} catch let error as AppwriteError {
110+
print(error.message)
111+
}
112+
113+
do {
114+
try await general.error500()
115+
} catch {
116+
print(error.localizedDescription)
117+
}
118+
119+
do {
120+
try await general.error502()
121+
} catch {
122+
print(String(describing: error))
123+
}
124+
125+
try! await general.empty()
123126
}
124127
}

0 commit comments

Comments
 (0)