     override func spec() {
         describe("ServiceQueue") {
 
-            var mockSession: MockSession!
+            var mockSession: MockAsyncSession!
             var service: ServiceQueue!
             let call = Call(path: "mock")
             let config = Configuration(baseURL: "mockService")

                    var task2: URLSessionDataTask!
                    var task3: URLSessionDataTask!

                    beforeEach {
                        isFinalCalled = false
                        service = ServiceQueue(configuration: config, faroSession: mockSession) { failedTasks in
                            isFinalCalled = true
                        }
                        task1 = service.perform(call, autoStart: false) { (_: Result<MockModel>) in }!
                        task2 = service.perform(call, autoStart: true) { (_: Result<MockModel>) in }!
                        task3 = service.perform(call, autoStart: false) { (_: Result<MockModel>) in }!
                    }

                    it("autoStart one") {


                    context("some fail") {

                        var fail1: MockURLSessionTask!

                        beforeEach {
                            fail1 = service.perform(call, autoStart: false) { (_: Result<MockModel>) in } as! MockURLSessionTask
                            mockSession.tasksToFail = [fail1]
                        }

                        it("should queue the failed task") {
                            expect(service.taskQueue).to(contain(fail1))
                            expect(mockSession.tasksToFail).to(contain(fail1))
                        }

                        it("should report failure in final") {
                            service.resumeAll()
                            expect(failedTasks?.first).toEventually(equal(fail1))
                        }
                        
                    }

                }
            }

        }
