Skip to content

Commit e19f7aa

Browse files
committed
nio conversion
1 parent 95e6793 commit e19f7aa

File tree

9 files changed

+47
-40
lines changed

9 files changed

+47
-40
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ let package = Package(
77
.library(name: "VaporTestTools", targets: ["VaporTestTools"]),
88
],
99
dependencies: [
10-
.package(url: "https://github.com/vapor/vapor.git", from: "3.0.0-beta.3.1.3"),
10+
.package(url: "https://github.com/vapor/vapor.git", .branch("nio")),
1111
],
1212
targets: [
1313
.target(

Sources/VaporTestTools/Extensions/Requests/HTTPHeaders+Tools.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ extension TestableProperty where TestableType == Dictionary<String, String> {
1414
func asHTTPHeaders() -> HTTPHeaders {
1515
var headersObject = HTTPHeaders()
1616
for key in element.keys {
17-
let value = element[key]
18-
headersObject[HTTPHeaderName(key)] = value
17+
let value = element[key]!
18+
headersObject.replaceOrAdd(name: key, value: value)
1919
}
2020
return headersObject
2121
}

Sources/VaporTestTools/Extensions/Requests/HTTPRequest+Make.swift

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,66 +10,69 @@ import Vapor
1010
import Routing
1111

1212

13+
public typealias URI = String
14+
15+
1316
extension TestableProperty where TestableType == HTTPRequest {
1417

1518
public static func request(method: HTTPMethod, uri: URI, data: Data? = nil, headers: [String: String]? = nil) -> HTTPRequest {
16-
var req = HTTPRequest(method: method, uri: uri)
19+
var req = HTTPRequest(method: method, url: URL(string: uri)!)
1720
if let headers = headers {
1821
req.headers = headers.testable.asHTTPHeaders()
1922
}
2023
if let data = data {
21-
req.body = HTTPBody(data)
24+
req.body = HTTPBody(data: data)
2225
}
2326
return req
2427
}
2528

2629
public static func get(uri: URI, headers: [String: String]? = nil) -> HTTPRequest {
27-
let req = request(method: .get, uri: uri, headers: headers)
30+
let req = request(method: .GET, uri: uri, headers: headers)
2831
return req
2932
}
3033

3134
public static func put(uri: URI, data: Data? = nil, headers: [String: String]? = nil) -> HTTPRequest {
32-
let req = request(method: .put, uri: uri, data: data, headers: headers)
35+
let req = request(method: .PUT, uri: uri, data: data, headers: headers)
3336
return req
3437
}
3538

3639
public static func post(uri: URI, data: Data? = nil, headers: [String: String]? = nil) -> HTTPRequest {
37-
let req = request(method: .post, uri: uri, data: data, headers: headers)
40+
let req = request(method: .POST, uri: uri, data: data, headers: headers)
3841
return req
3942
}
4043

4144
public static func patch(uri: URI, data: Data? = nil, headers: [String: String]? = nil) -> HTTPRequest {
42-
let req = request(method: .patch, uri: uri, data: data, headers: headers)
45+
let req = request(method: .PATCH, uri: uri, data: data, headers: headers)
4346
return req
4447
}
4548

4649
public static func delete(uri: URI, headers: [String: String]? = nil) -> HTTPRequest {
47-
let req = request(method: .delete, uri: uri, headers: headers)
50+
let req = request(method: .DELETE, uri: uri, headers: headers)
4851
return req
4952
}
5053

5154
public static func response(get uri: URI, headers: [String: String]? = nil, with app: Application) -> TestResponse {
52-
let req = request(method: .get, uri: uri, headers: headers)
55+
let req = request(method: .GET, uri: uri, headers: headers)
5356
return app.testable.response(to: req)
5457
}
5558

5659
public static func response(put uri: URI, data: Data? = nil, headers: [String: String]? = nil, with app: Application) -> TestResponse {
57-
let req = request(method: .put, uri: uri, data: data, headers: headers)
60+
let req = request(method: .PUT, uri: uri, data: data, headers: headers)
5861
return app.testable.response(to: req)
5962
}
6063

6164
public static func response(post uri: URI, data: Data? = nil, headers: [String: String]? = nil, with app: Application) -> TestResponse {
62-
let req = request(method: .post, uri: uri, data: data, headers: headers)
65+
let req = request(method: .POST, uri: uri, data: data, headers: headers)
6366
return app.testable.response(to: req)
6467
}
6568

6669
public static func response(patch uri: URI, data: Data? = nil, headers: [String: String]? = nil, with app: Application) -> TestResponse {
67-
let req = request(method: .patch, uri: uri, data: data, headers: headers)
70+
let req = request(method: .PATCH, uri: uri, data: data, headers: headers)
6871
return app.testable.response(to: req)
6972
}
7073

7174
public static func response(delete uri: URI, headers: [String: String]? = nil, with app: Application) -> TestResponse {
72-
let req = request(method: .delete, uri: uri, headers: headers)
75+
let req = request(method: .DELETE, uri: uri, headers: headers)
7376
return app.testable.response(to: req)
7477
}
7578

Sources/VaporTestTools/Extensions/Requests/HTTPRequest+Response.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77

88
import Foundation
99
import Vapor
10+
@testable import NIO
1011

1112
extension TestableProperty where TestableType == HTTPRequest {
1213

1314
func response(using app: Application) -> Response {
1415
let responder = try! app.make(Responder.self)
1516
let wrappedRequest = Request(http: element, using: app)
16-
return try! responder.respond(to: wrappedRequest).await(on: app)
17+
return try! responder.respond(to: wrappedRequest).wait()
1718
}
1819

1920
}

Sources/VaporTestTools/Extensions/Response tools/Response+Checks.swift

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import Foundation
99
@testable import Vapor
10+
@testable import NIO
1011

1112

1213
extension TestableProperty where TestableType: Response {
@@ -40,21 +41,16 @@ extension TestableProperty where TestableType: Response {
4041
return has(header: headerName, value: String(value))
4142
}
4243

43-
public func has(statusCode value: Int) -> Bool {
44-
let status = HTTPStatus(code: value)
45-
return has(statusCode: status)
46-
}
47-
48-
public func has(statusCode value: Int, message: String) -> Bool {
49-
return element.http.status.code == value && element.http.status.message == message
50-
}
51-
5244
public func has(statusCode value: HTTPStatus) -> Bool {
53-
return element.http.status.code == value.code
45+
return has(statusCode: value)
5446
}
5547

56-
public func has(content value: String) -> Bool {
57-
return contentString == value
48+
public func has(statusCode value: HTTPStatus, message: String) -> Bool {
49+
return element.http.status.code == value.code && element.http.status.reasonPhrase == message
5850
}
5951

52+
// public func has(content value: String) -> Bool {
53+
// return contentString == value
54+
// }
55+
6056
}

Sources/VaporTestTools/Extensions/Response tools/Response+Debug.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ extension TestableProperty where TestableType: Response {
1919
print("\t\(header.name.description) = \(header.value)")
2020
}
2121
print("Content:")
22-
if let size = element.content.body.count {
22+
if let size = element.content.body?.count {
2323
print("\tSize: \(String(size))")
2424
}
2525
if let mediaType = element.content.mediaType {

Sources/VaporTestTools/Extensions/Response tools/Response+Decoding.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import Vapor
1212
extension TestableProperty where TestableType: Response {
1313

1414
public func content<T>(as type: T.Type) -> T? where T: Decodable {
15-
let object = try? element.content.decode(type).await(on: element)
15+
let object = try? element.content.decode(type).wait()
1616
return object
1717
}
1818

Sources/VaporTestTools/Extensions/Response tools/Response+Getters.swift

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,38 @@ import Foundation
1111

1212
extension TestableProperty where TestableType: Response {
1313

14+
public func fakeRequest() -> Request {
15+
let http = HTTPRequest(method: .GET, url: URL(string: "/")!)
16+
let req = Request(http: http, using: element)
17+
return req
18+
}
19+
1420
public func header(name: String) -> String? {
1521
let headerName = HTTPHeaderName(name)
1622
return header(name: headerName)
1723
}
1824

1925
public func header(name: HTTPHeaderName) -> String? {
20-
return element.http.headers[name]
26+
return element.http.headers[name].first
2127
}
2228

2329
public var contentSize: Int? {
24-
return element.content.body.count
30+
return element.content.body?.count
2531
}
2632

2733
public var contentString: String? {
28-
guard let data = try? element.content.body.makeData(max: 500000).await(on: element) else {
34+
35+
guard let data = try? element.content.body?.consumeData(max: 500000, on: fakeRequest()).wait() else {
2936
return nil
3037
}
31-
return String(data: data, encoding: .utf8)
38+
return String(data: data!, encoding: .utf8)
3239
}
3340

3441
public func contentString(encoding: String.Encoding) -> String? {
35-
guard let data = try? element.content.body.makeData(max: 500000).await(on: element) else {
42+
guard let data = try? element.content.body?.consumeData(max: 500000, on: fakeRequest()).wait() else {
3643
return nil
3744
}
38-
return String(data: data, encoding: encoding)
45+
return String(data: data!, encoding: encoding)
3946
}
4047

4148
}

Sources/VaporTestTools/Extensions/Testable/Application+Testable.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,18 @@ extension TestableProperty where TestableType: Application {
3535
public func response(to request: HTTPRequest) -> TestResponse {
3636
let responder = try! element.make(Responder.self)
3737
let wrappedRequest = Request(http: request, using: element)
38-
return try! (response: responder.respond(to: wrappedRequest).await(on: element), request: wrappedRequest)
38+
return try! (response: responder.respond(to: wrappedRequest).wait(), request: wrappedRequest)
3939
}
4040

4141
public func response(throwingTo request: HTTPRequest) throws -> TestResponse {
4242
let responder = try element.make(Responder.self)
4343
let wrappedRequest = Request(http: request, using: element)
44-
return try (response: responder.respond(to: wrappedRequest).await(on: element), request: wrappedRequest)
44+
return try (response: responder.respond(to: wrappedRequest).wait(), request: wrappedRequest)
4545
}
4646

4747
public func fakeRequest() -> Request {
48-
let http = HTTPRequest(method: .get, uri: "/")
49-
let req = Request.init(http: http, using: element)
48+
let http = HTTPRequest(method: .GET, url: URL(string: "/")!)
49+
let req = Request(http: http, using: element)
5050
return req
5151
}
5252

0 commit comments

Comments
 (0)