cb72197f8e
* initial work for supporting non-optimised mp4 * Update AppCoordinator.swift * some refactor and fixed seek for a restructured mp4 * nit * nit * nit * runs swiftlint * improvements * improvements * handles case where we the stream is not seekable for an mp4 file * better check for mp4, seekable and moov atom * nit * fix an issue with seek * some refactoring
66 lines
2.2 KiB
Swift
66 lines
2.2 KiB
Swift
//
|
|
// Created by Dimitrios Chatzieleftheriou on 26/05/2020.
|
|
// Copyright © 2020 Decimal. All rights reserved.
|
|
//
|
|
|
|
import XCTest
|
|
@testable import AudioStreaming
|
|
|
|
class NetworkingClientTests: XCTestCase {
|
|
func testInitialiseCorrectly() throws {
|
|
let networking = NetworkingClient()
|
|
|
|
XCTAssertNotNil(networking.session.delegate)
|
|
XCTAssert(networking.delegate === networking.session.delegate)
|
|
}
|
|
|
|
func testInitialiseCorrectlyWithCustomArguments() {
|
|
let configuration = URLSessionConfiguration.default
|
|
let delegate = NetworkSessionDelegate()
|
|
let queue = DispatchQueue(label: "temp.queue")
|
|
|
|
let networking = NetworkingClient(configuration: configuration,
|
|
delegate: delegate,
|
|
networkQueue: queue)
|
|
|
|
XCTAssertNotNil(networking.session)
|
|
XCTAssertTrue(networking.delegate === networking.session.delegate)
|
|
XCTAssertTrue(networking.networkQueue == queue)
|
|
}
|
|
|
|
func testShouldStartRequestImmediatelly() {
|
|
let networking = NetworkingClient()
|
|
let url = URL(string: "https://httpbin.org/get")!
|
|
let request = URLRequest(url: url)
|
|
|
|
let expectation = self.expectation(description: "\(url)")
|
|
|
|
var responseCompletion: NetworkDataStream.Completion?
|
|
var receivedData: Data?
|
|
|
|
networking.stream(request: request)
|
|
.responseStream { event in
|
|
switch event {
|
|
case let .stream(result):
|
|
switch result {
|
|
case let .success(value):
|
|
receivedData = value.data
|
|
case .failure: break
|
|
}
|
|
case let .complete(completion):
|
|
responseCompletion = completion
|
|
expectation.fulfill()
|
|
case .response:
|
|
break
|
|
}
|
|
}
|
|
.resume()
|
|
|
|
waitForExpectations(timeout: 10, handler: nil)
|
|
|
|
XCTAssertEqual(responseCompletion?.response?.statusCode, 200)
|
|
XCTAssertNotNil(responseCompletion)
|
|
XCTAssertNotNil(receivedData)
|
|
}
|
|
}
|