     ///
     func testHeadersInResponse()
     {
-        XCTFail("Test not implemented!");
+        let baseUrl = "http://localhost"
+        let requestPath = "test/request/path"
+        let expectation = self.expectationWithDescription(self.name)
+        let body = "test".dataUsingEncoding(NSUTF8StringEncoding)
+        
+        stub(isHost("localhost"), response: {
+            (request:NSURLRequest) in
+            
+            return OHHTTPStubsResponse(data: body!, statusCode: 200, headers: nil)
+        })
+        
+        let gateway:Gateway = CompositedGateway(baseUrl: NSURL(string: baseUrl)!)
+        gateway.get(requestPath, callback: { (result) in
+            XCTAssertNil(result.error)
+            XCTAssertNotNil(result.response)
+            XCTAssertEqual(result.response!.headers["Content-Length"], "4")
+            expectation.fulfill()
+        })
+        
+        self.waitForExpectationsWithTimeout(5, handler: nil)
     }
     
     ///

    ///
    func testResponseSuccess()
    {
        XCTFail("Test not implemented!");
    }
    
    ///

    ///
    func testResponse4xxFailure()
    {
        let baseUrl = "http://localhost"
        let requestPath = "test/request/path"
        let expectation = self.expectationWithDescription(self.name)
        
        stub(isHost("localhost"), response: {
            (request:NSURLRequest) in
            
            return OHHTTPStubsResponse(data: NSData(), statusCode: 404, headers: nil)
        })
        
        let gateway:Gateway = CompositedGateway(baseUrl: NSURL(string: baseUrl)!)
        gateway.get(requestPath, callback: { (result) in
            XCTAssertNotNil(result.error)
            XCTAssertNotNil(result.response)
            XCTAssertEqual(result.response!.statusCode, 404)
            expectation.fulfill()
        })
        
        self.waitForExpectationsWithTimeout(5, handler: nil)
    }
    
    ///
