FRAMessageUtilsTests.m revision 6a2ae9c7fb4d2c40d75cab0edaf940f22c18224f
2cacab200fb387e290386593d9b2fca2e7beef33csovant * The contents of this file are subject to the terms of the Common Development and
2cacab200fb387e290386593d9b2fca2e7beef33csovant * Distribution License (the License). You may not use this file except in compliance with the
2cacab200fb387e290386593d9b2fca2e7beef33csovant * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
2cacab200fb387e290386593d9b2fca2e7beef33csovant * specific language governing permission and limitations under the License.
2cacab200fb387e290386593d9b2fca2e7beef33csovant * When distributing Covered Software, include this CDDL Header Notice in each file and include
2cacab200fb387e290386593d9b2fca2e7beef33csovant * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
2cacab200fb387e290386593d9b2fca2e7beef33csovant * Header, with the fields enclosed by brackets [] replaced by your own identifying
2cacab200fb387e290386593d9b2fca2e7beef33csovant * information: "Portions copyright [year] [name of copyright owner]".
2cacab200fb387e290386593d9b2fca2e7beef33csovant * Copyright 2016 ForgeRock AS.
2cacab200fb387e290386593d9b2fca2e7beef33csovant#import "FRAMessageUtils.h"
2cacab200fb387e290386593d9b2fca2e7beef33csovant#import "FRAMockURLProtocol.h"
2cacab200fb387e290386593d9b2fca2e7beef33csovantstatic NSString * const url = @"http://any.website.com";
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot XCTestExpectation *expectation = [self expectationWithDescription:@"asynchronous request"];
2cacab200fb387e290386593d9b2fca2e7beef33csovant NSURLRequest *request = [FRAMockURLProtocol getRequest];
2cacab200fb387e290386593d9b2fca2e7beef33csovant XCTAssertEqualObjects([request HTTPMethod], @"POST");
2cacab200fb387e290386593d9b2fca2e7beef33csovant [self waitForExpectationsWithTimeout:testTimeout handler:nil];
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant XCTestExpectation *expectation = [self expectationWithDescription:@"asynchronous request"];
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant NSURLRequest *request = [FRAMockURLProtocol getRequest];
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant [self waitForExpectationsWithTimeout:testTimeout handler:nil];
d81f6d00c343633159fc5ea08599d145135612c0ludovicp XCTestExpectation *expectation = [self expectationWithDescription:@"asynchronous request"];
2cacab200fb387e290386593d9b2fca2e7beef33csovant NSURLRequest *request = [FRAMockURLProtocol getRequest];
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant XCTAssertEqualObjects([request valueForHTTPHeaderField:@"Content-Type"], @"application/json");
2cacab200fb387e290386593d9b2fca2e7beef33csovant [self waitForExpectationsWithTimeout:testTimeout handler:nil];
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant NSString* altertJwt = @"eyAidHlwIjogIkpXVCIsICJhbGciOiAiSFMyNTYiIH0.eyAiYyI6ICJKZVlTTXlLdW9QbldmRHVXaU1GVGlENlc2WTNQOWVYTVBYUDljNUEvSEJNPSIsICJ0IjogIjEyMCIsICJ1IjogIjMiLCAibCI6ICJZVzFzWW1OdmIydHBaVDFoYld4aVkyOXZhMmxsUFRBeCIgfQ.1SAWJlT-5vjYRbpZ_57K-NpFRs4VZbSzZjAF_3RTu7k";
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant NSDictionary* dictionary = [FRAMessageUtils extractJTWBodyFromString:altertJwt error:nil];
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant XCTAssertEqualObjects([dictionary valueForKey:@"c"], @"JeYSMyKuoPnWfDuWiMFTiD6W6Y3P9eXMPXP9c5A/HBM=");
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant XCTAssertEqualObjects([dictionary valueForKey:@"l"], @"YW1sYmNvb2tpZT1hbWxiY29va2llPTAx");
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant XCTAssertEqualObjects([dictionary valueForKey:@"t"], @"120");
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant XCTAssertEqualObjects([dictionary valueForKey:@"u"], @"3");
2cacab200fb387e290386593d9b2fca2e7beef33csovant XCTestExpectation *expectation = [self expectationWithDescription:@"request with cookie"];
2cacab200fb387e290386593d9b2fca2e7beef33csovant NSURLRequest *request = [FRAMockURLProtocol getRequest];
2cacab200fb387e290386593d9b2fca2e7beef33csovant cookiesWithResponseHeaderFields:[request allHTTPHeaderFields]
2cacab200fb387e290386593d9b2fca2e7beef33csovant XCTAssertTrue([@"amlbcookie" isEqualToString:actualCookie.name]);
2cacab200fb387e290386593d9b2fca2e7beef33csovant XCTAssertTrue([@"03" isEqualToString:actualCookie.value]);