Files
Dimitris C cb72197f8e feature(Mp4): Support for non-optimised mp4 (#67)
* 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
2024-04-01 16:02:51 +03:00

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)
}
}