Skip to content

Commit 165c03e

Browse files
committed
code cleanup
1 parent 57a71ab commit 165c03e

File tree

2 files changed

+23
-15
lines changed

2 files changed

+23
-15
lines changed

Sources/OpenAISwift/OpenAISwift.swift

+2-15
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ extension InternalError: Decodable {}
3434

3535
public class OpenAISwift {
3636
private let urlSession: URLSession
37-
fileprivate(set) var token: String
37+
private let token: String
3838

3939
public init(urlSession: URLSession = .shared, authToken: String) {
4040
self.urlSession = urlSession
@@ -69,7 +69,7 @@ extension OpenAISwift {
6969

7070
private func makeRequest<BodyType: Encodable>(endpoint: Endpoint, body: BodyType, completionHandler: @escaping (Result<OpenAI, OpenAIError>) -> Void) {
7171
guard let request = prepareRequest(endpoint, body: body) else {
72-
completionHandler(.failure(.decodingError(error: RequestError())))
72+
completionHandler(.failure(.genericError(error: RequestError())))
7373
return
7474
}
7575
let task = urlSession.dataTask(with: request) { (data, response, error) in
@@ -91,19 +91,6 @@ extension OpenAISwift {
9191
task.resume()
9292
}
9393

94-
private func makeRequest(request: URLRequest, completionHandler: @escaping (Result<Data, Error>) -> Void) {
95-
let session = URLSession.shared
96-
let task = session.dataTask(with: request) { (data, response, error) in
97-
if let error = error {
98-
completionHandler(.failure(error))
99-
} else if let data = data {
100-
completionHandler(.success(data))
101-
}
102-
}
103-
104-
task.resume()
105-
}
106-
10794
private func prepareRequest<BodyType: Encodable>(_ endpoint: Endpoint, body: BodyType) -> URLRequest? {
10895
guard let baseUrl = URL(string: endpoint.baseURL()) else {
10996
return nil

Tests/OpenAISwiftTests/OpenAISwiftTests.swift

+21
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,27 @@ final class OpenAISwiftTests: XCTestCase {
5555
}
5656
}
5757

58+
func testDecodingError() async throws {
59+
do {
60+
let responseData = try XCTUnwrap("{}".data(using: .utf8))
61+
let expectedUrl = try XCTUnwrap(URL(string: "https://api.openai.com/v1/completions"))
62+
let expectedToken = try XCTUnwrap(validAuthToken)
63+
MockURLProtocol.handlers.add(match: { $0.url == expectedUrl },
64+
inspect: {
65+
XCTAssertEqual($0.allHTTPHeaderFields?["Content-Type"], "application/json")
66+
XCTAssertEqual($0.allHTTPHeaderFields?["Authorization"], "Bearer \(expectedToken)")
67+
},
68+
result: .success(.init(statusCode: 500, data: responseData)))
69+
let sut = OpenAISwift(urlSession: mockUrlSession, authToken: validAuthToken)
70+
71+
_ = try await sut.sendCompletion(with: "Write a haiku")
72+
73+
XCTFail("sendCompletion must fail")
74+
} catch OpenAIError.decodingError {
75+
XCTAssertTrue(true)
76+
}
77+
}
78+
5879
func testSuccess() async throws {
5980
let successData = try XCTUnwrap("""
6081
{

0 commit comments

Comments
 (0)