[Enhancement] Communications library for non Apple platforms (#15)
This PR contains the work done to allow the `MakeURLRequestUseCase` use case to be used in non-Apple platforms, as it use has been restricted before. To provide further details about the work done: - [x] improved the `MakeURLRequestUseCase` use case to be available in non-Apple platforms; - [x] moved the `TestEndpoint` helper endpoint to its own file; - [x] moved some test cases files around; - [x] updated some text in the `README` file. Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: #15
This commit was merged in pull request #15.
This commit is contained in:
@@ -10,11 +10,14 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if os(iOS) || os(macOS) || os(tvOS) || os(watchOS)
|
||||
import Communications
|
||||
import Foundation
|
||||
import XCTest
|
||||
|
||||
#if canImport(FoundationNetworking)
|
||||
import FoundationNetworking
|
||||
#endif
|
||||
|
||||
final class MakeURLRequestUseCaseTests: XCTestCase {
|
||||
|
||||
// MARK: Properties
|
||||
@@ -111,35 +114,3 @@ final class MakeURLRequestUseCaseTests: XCTestCase {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - TestEndpoint
|
||||
|
||||
private struct TestEndpoint: Endpoint {
|
||||
|
||||
// MARK: Properties
|
||||
|
||||
let scheme: String = "http"
|
||||
let host: String = "www.something.com"
|
||||
let port: Int?
|
||||
let path: String = "/path/to/endpoint"
|
||||
let parameters: Parameters
|
||||
let method: HTTPRequestMethod = .get
|
||||
let headers: Headers
|
||||
let body: Data?
|
||||
|
||||
// MARK: Initialisers
|
||||
|
||||
init(
|
||||
port: Int? = nil,
|
||||
parameters: Parameters = [:],
|
||||
headers: Headers = [:],
|
||||
body: Data? = nil
|
||||
) {
|
||||
self.port = port
|
||||
self.parameters = parameters
|
||||
self.headers = headers
|
||||
self.body = body
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This source file is part of the SwiftLibs open source project
|
||||
//
|
||||
// Copyright (c) 2023 Röck+Cöde VoF. and the SwiftLibs project authors
|
||||
// Licensed under the EUPL 1.2 or later.
|
||||
//
|
||||
// See LICENSE.txt for license information
|
||||
// See CONTRIBUTORS.txt for the list of SwiftLibs project authors
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
import Communications
|
||||
import Foundation
|
||||
|
||||
struct TestEndpoint: Endpoint {
|
||||
|
||||
// MARK: Properties
|
||||
|
||||
let scheme: String = "http"
|
||||
let host: String = "www.something.com"
|
||||
let port: Int?
|
||||
let path: String = "/path/to/endpoint"
|
||||
let parameters: Parameters
|
||||
let method: HTTPRequestMethod = .get
|
||||
let headers: Headers
|
||||
let body: Data?
|
||||
|
||||
// MARK: Initialisers
|
||||
|
||||
init(
|
||||
port: Int? = nil,
|
||||
parameters: Parameters = [:],
|
||||
headers: Headers = [:],
|
||||
body: Data? = nil
|
||||
) {
|
||||
self.port = port
|
||||
self.parameters = parameters
|
||||
self.headers = headers
|
||||
self.body = body
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user