metatext/ServiceLayer/Tests/ServiceLayerTests/AuthenticationServiceTests.swift

28 lines
1.1 KiB
Swift
Raw Normal View History

2020-08-09 08:04:43 +00:00
// Copyright © 2020 Metabolist. All rights reserved.
import XCTest
import Combine
import CombineExpectations
2020-08-31 18:57:02 +00:00
@testable import ServiceLayer
@testable import ServiceLayerMocks
2020-08-09 08:04:43 +00:00
class AuthenticationServiceTests: XCTestCase {
func testAuthentication() throws {
2020-09-01 07:33:49 +00:00
let sut = AuthenticationService(environment: .mock())
2020-08-09 08:04:43 +00:00
let instanceURL = URL(string: "https://mastodon.social")!
let appAuthorizationRecorder = sut.authorizeApp(instanceURL: instanceURL).record()
let appAuthorization = try wait(for: appAuthorizationRecorder.next(), timeout: 1)
2020-08-09 08:04:43 +00:00
XCTAssertEqual(appAuthorization.clientId, "AUTHORIZATION_CLIENT_ID_STUB_VALUE")
XCTAssertEqual(appAuthorization.clientSecret, "AUTHORIZATION_CLIENT_SECRET_STUB_VALUE")
2020-08-09 08:04:43 +00:00
let accessTokenRecorder = sut.authenticate(
instanceURL: instanceURL,
appAuthorization: appAuthorization)
.record()
let accessToken = try wait(for: accessTokenRecorder.next(), timeout: 1)
2020-08-09 08:04:43 +00:00
XCTAssertEqual(accessToken.accessToken, "ACCESS_TOKEN_STUB_VALUE")
2020-08-09 08:04:43 +00:00
}
}