| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- //
- // FilesTests.swift
- // Swifter
- //
- // Created by Michael Enger on 02/09/2021.
- // Copyright © 2021 Damian Kołakowski. All rights reserved.
- //
- import XCTest
- #if os(Linux)
- import FoundationNetworking
- #endif
- @testable import Swifter
- class FilesTests: XCTestCase {
- let temporaryDirectoryURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true)
- let temporaryFileName = UUID().uuidString + ".png"
- override func setUp() {
- super.setUp()
- let temporaryFileURL = temporaryDirectoryURL.appendingPathComponent(temporaryFileName)
- let data = "This is a file"
- do {
- try data.write(to: temporaryFileURL, atomically: true, encoding: String.Encoding.utf8)
- } catch {
- XCTFail("Failed to create temporary file")
- }
- }
- override func tearDown() {
- let temporaryFileURL = temporaryDirectoryURL.appendingPathComponent(temporaryFileName)
- do {
- try FileManager.default.removeItem(at: temporaryFileURL)
- } catch {
- // no worries
- }
-
- super.tearDown()
- }
-
- func testShareFile() {
- let request = HttpRequest()
- let closure = shareFile(temporaryDirectoryURL.appendingPathComponent(temporaryFileName).path)
- let result = closure(request)
- let headers = result.headers()
- XCTAssert(result.statusCode == 200)
- XCTAssert(headers["Content-Type"] == "image/png")
- XCTAssert(headers["Content-Length"] == "14")
- }
-
- func testShareFileNotFound() {
- let request = HttpRequest()
- let closure = shareFile(temporaryDirectoryURL.appendingPathComponent("does_not_exist").path)
- let result = closure(request)
- XCTAssert(result == .notFound)
- }
- func testShareFilesFromDirectory() {
- let request = HttpRequest()
- request.params = ["path": temporaryFileName]
- let closure = shareFilesFromDirectory(temporaryDirectoryURL.path)
- let result = closure(request)
- let headers = result.headers()
- XCTAssert(result.statusCode == 200)
- XCTAssert(headers["Content-Type"] == "image/png")
- XCTAssert(headers["Content-Length"] == "14")
- }
-
- func testShareFilesFromDirectoryFileNotFound() {
- let request = HttpRequest()
- request.params = ["path": "does_not_exist.wav"]
- let closure = shareFilesFromDirectory(temporaryDirectoryURL.path)
- let result = closure(request)
- XCTAssert(result == .notFound)
- }
-
- func testDirectoryBrowser() {
- let request = HttpRequest()
- request.params = ["path": ""]
- let closure = directoryBrowser(temporaryDirectoryURL.path)
- let result = closure(request)
- XCTAssert(result.statusCode == 200)
- }
-
- func testDirectoryBrowserNotFound() {
- let request = HttpRequest()
- request.params = ["path": "does/not/exist"]
- let closure = directoryBrowser(temporaryDirectoryURL.path)
- let result = closure(request)
- XCTAssert(result == .notFound)
- }
- }
|