Skip to content

Commit

Permalink
Merge pull request #84 from pmkowal/xcode-server-endpoints-create-req…
Browse files Browse the repository at this point in the history
…uest-tests

XcodeServerEndpoints.createRequest tests
  • Loading branch information
Honza Dvorsky committed Jul 25, 2015
2 parents 8b1917b + e6e5f40 commit eefef5b
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions XcodeServerSDKTests/XcodeServerEndpointsTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,60 @@ class XcodeServerEndpointsTests: XCTestCase {
self.endpoints = XcodeServerEndpoints(serverConfig: serverConfig)
}

// MARK: createRequest()

// If malformed URL is passed to request creation function it should early exit and retur nil
func testMalformedURLCreation() {
let expectation = endpoints?.createRequest(.GET, endpoint: .Bots, params: ["test": "test"], query: ["test//http\\": "!test"], body: ["test": "test"], doBasicAuth: true)
XCTAssertNil(expectation, "Shouldn't create request from malformed URL")
}

func testRequestCreationForEmptyAuthorizationParams() {
let expectedUrl = NSURL(string: "https://127.0.0.1:20343/api/bots/bot_id/integrations")
let expectedRequest = NSMutableURLRequest(URL: expectedUrl!)
// HTTPMethod
expectedRequest.HTTPMethod = "GET"
// Authorization header: "": ""
expectedRequest.setValue("Basic Og==", forHTTPHeaderField: "Authorization")

let noAuthorizationConfig = try! XcodeServerConfig(host: "https://127.0.0.1")
let noAuthorizationEndpoints = XcodeServerEndpoints(serverConfig: noAuthorizationConfig)
let request = noAuthorizationEndpoints.createRequest(.GET, endpoint: .Integrations, params: ["bot": "bot_id"], query: nil, body: nil, doBasicAuth: true)
XCTAssertEqual(expectedRequest, request!)
}

func testGETRequestCreation() {
let expectedUrl = NSURL(string: "https://127.0.0.1:20343/api/bots/bot_id/integrations?format=json")
let expectedRequest = NSMutableURLRequest(URL: expectedUrl!)
// HTTPMethod
expectedRequest.HTTPMethod = "GET"
// Authorization header: "test": "test"
expectedRequest.setValue("Basic dGVzdDp0ZXN0", forHTTPHeaderField: "Authorization")

let request = self.endpoints?.createRequest(.GET, endpoint: .Integrations, params: ["bot": "bot_id"], query: ["format": "json"], body: nil, doBasicAuth: true)
XCTAssertEqual(expectedRequest, request!)
}

func testPOSTRequestCreation() {
let expectedUrl = NSURL(string: "https://127.0.0.1:20343/api/auth/logout")
let expectedRequest = NSMutableURLRequest(URL: expectedUrl!)
// HTTPMethod
expectedRequest.HTTPMethod = "POST"

let request = self.endpoints?.createRequest(.POST, endpoint: .Logout, params: nil, query: nil, body: nil, doBasicAuth: false)
XCTAssertEqual(expectedRequest, request!)
}

func testDELETERequestCreation() {
let expectedUrl = NSURL(string: "https://127.0.0.1:20343/api/bots/bot_id/rev_id")
let expectedRequest = NSMutableURLRequest(URL: expectedUrl!)
// HTTPMethod
expectedRequest.HTTPMethod = "DELETE"

let request = self.endpoints?.createRequest(.DELETE, endpoint: .Bots, params: ["bot": "bot_id", "rev": "rev_id", "method": "DELETE"], query: nil, body: nil, doBasicAuth: false)
XCTAssertEqual(expectedRequest, request!)
}

// MARK: endpointURL(.Bots)

func testEndpointURLCreationForBotsPath() {
Expand Down

0 comments on commit eefef5b

Please sign in to comment.