summaryrefslogtreecommitdiff
path: root/platform/ios/uitest/OHHTTPStubs/OHHTTPStubs/UnitTests/Test Suites/AFNetworkingTests.m
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/uitest/OHHTTPStubs/OHHTTPStubs/UnitTests/Test Suites/AFNetworkingTests.m')
m---------platform/ios/uitest/OHHTTPStubs0
-rw-r--r--platform/ios/uitest/OHHTTPStubs/OHHTTPStubs/UnitTests/Test Suites/AFNetworkingTests.m225
2 files changed, 0 insertions, 225 deletions
diff --git a/platform/ios/uitest/OHHTTPStubs b/platform/ios/uitest/OHHTTPStubs
new file mode 160000
+Subproject deed01a1592210a4c37f3f5c5f2b32fe0e41c60
diff --git a/platform/ios/uitest/OHHTTPStubs/OHHTTPStubs/UnitTests/Test Suites/AFNetworkingTests.m b/platform/ios/uitest/OHHTTPStubs/OHHTTPStubs/UnitTests/Test Suites/AFNetworkingTests.m
deleted file mode 100644
index a4ee670a6e..0000000000
--- a/platform/ios/uitest/OHHTTPStubs/OHHTTPStubs/UnitTests/Test Suites/AFNetworkingTests.m
+++ /dev/null
@@ -1,225 +0,0 @@
-/***********************************************************************************
- *
- * Copyright (c) 2012 Olivier Halligon
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- ***********************************************************************************/
-
-#import <XCTest/XCTest.h>
-#import <OHHTTPStubs/OHHTTPStubs.h>
-
-#import "AFHTTPRequestOperation.h"
-
-static const NSTimeInterval kResponseTimeTolerence = 1.0;
-
-@interface AFNetworkingTests : XCTestCase @end
-
-@implementation AFNetworkingTests
-
--(void)setUp
-{
- [super setUp];
- [OHHTTPStubs removeAllStubs];
-}
-
--(void)test_AFHTTPRequestOperation_success
-{
- static const NSTimeInterval kRequestTime = 0.05;
- static const NSTimeInterval kResponseTime = 0.1;
- NSData* expectedResponse = [NSStringFromSelector(_cmd) dataUsingEncoding:NSUTF8StringEncoding];
- [OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
- return YES;
- } withStubResponse:^OHHTTPStubsResponse *(NSURLRequest *request) {
- return [[OHHTTPStubsResponse responseWithData:expectedResponse statusCode:200 headers:nil]
- requestTime:kRequestTime responseTime:kResponseTime];
- }];
-
- XCTestExpectation* expectation = [self expectationWithDescription:@"AFHTTPRequestOperation request finished"];
-
- NSURLRequest* req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.iana.org/domains/example/"]];
- AFHTTPRequestOperation* op = [[AFHTTPRequestOperation alloc] initWithRequest:req];
- [op setResponseSerializer:[AFHTTPResponseSerializer serializer]];
- __block __strong id response = nil;
- [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
- response = responseObject; // keep strong reference
- [expectation fulfill];
- } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
- XCTFail(@"Unexpected network failure");
- [expectation fulfill];
- }];
- [op start];
-
- [self waitForExpectationsWithTimeout:kRequestTime+kResponseTime+kResponseTimeTolerence handler:nil];
-
- XCTAssertEqualObjects(response, expectedResponse, @"Unexpected data received");
-}
-
--(void)test_AFHTTPRequestOperation_multiple_choices
-{
- static const NSTimeInterval kRequestTime = 0.05;
- static const NSTimeInterval kResponseTime = 0.1;
- NSData* expectedResponse = [NSStringFromSelector(_cmd) dataUsingEncoding:NSUTF8StringEncoding];
- [OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
- return YES;
- } withStubResponse:^OHHTTPStubsResponse *(NSURLRequest *request) {
- return [[OHHTTPStubsResponse responseWithData:expectedResponse statusCode:300 headers:@{@"Location":@"http://www.iana.org/domains/another/example"}]
- requestTime:kRequestTime responseTime:kResponseTime];
- }];
-
- XCTestExpectation* expectation = [self expectationWithDescription:@"AFHTTPRequestOperation request finished"];
-
- NSURLRequest* req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.iana.org/domains/example/"]];
- AFHTTPRequestOperation* op = [[AFHTTPRequestOperation alloc] initWithRequest:req];
- AFHTTPResponseSerializer* serializer = [AFHTTPResponseSerializer serializer];
- [serializer setAcceptableStatusCodes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(200, 101)]];
- [op setResponseSerializer:serializer];
-
- __block __strong id response = nil;
- [op setRedirectResponseBlock:^NSURLRequest *(NSURLConnection *connection, NSURLRequest *request, NSURLResponse *redirectResponse) {
- if (redirectResponse == nil) {
- return request;
- }
- XCTFail(@"Unexpected redirect");
- return nil;
- }];
-
- [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
- response = responseObject; // keep strong reference
- [expectation fulfill];
- } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
- XCTFail(@"Unexpected network failure");
- [expectation fulfill];
- }];
- [op start];
-
- [self waitForExpectationsWithTimeout:kRequestTime+kResponseTime+kResponseTimeTolerence handler:nil];
-
- XCTAssertEqualObjects(response, expectedResponse, @"Unexpected data received");
-}
-
--(void)test_AFHTTPRequestOperation_redirect
-{
- static const NSTimeInterval kRequestTime = 0.05;
- static const NSTimeInterval kResponseTime = 0.1;
-
- NSURL* redirectURL = [NSURL URLWithString:@"http://www.iana.org/domains/another/example"];
- [OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
- return YES;
- } withStubResponse:^OHHTTPStubsResponse *(NSURLRequest *request) {
- return [[OHHTTPStubsResponse responseWithData:[NSData data] statusCode:311 headers:@{@"Location":redirectURL.absoluteString}]
- requestTime:kRequestTime responseTime:kResponseTime];
- }];
-
- XCTestExpectation* expectation = [self expectationWithDescription:@"AFHTTPRequestOperation request finished"];
-
- NSURLRequest* req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.iana.org/domains/example/"]];
- AFHTTPRequestOperation* op = [[AFHTTPRequestOperation alloc] initWithRequest:req];
- [op setResponseSerializer:[AFHTTPResponseSerializer serializer]];
-
- __block __strong NSURL* url = nil;
- [op setRedirectResponseBlock:^NSURLRequest *(NSURLConnection *connection, NSURLRequest *request, NSURLResponse *redirectResponse) {
- if (redirectResponse == nil) {
- return request;
- }
- url = request.URL;
- [expectation fulfill];
- return nil;
- }];
-
- [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
- XCTFail(@"Unexpected response");
- [expectation fulfill];
- } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
- XCTFail(@"Unexpected network failure");
- [expectation fulfill];
- }];
- [op start];
-
- [self waitForExpectationsWithTimeout:kRequestTime+kResponseTime+kResponseTimeTolerence handler:nil];
-
- XCTAssertEqualObjects(url, redirectURL, @"Unexpected data received");
-}
-
-@end
-
-
-
-#pragma mark - NSURLSession / AFHTTPURLSession support
-
-// Compile this only if SDK version (…MAX_ALLOWED) is iOS7+/10.9+ because NSURLSession is a class only known starting these SDKs
-// (this code won't compile if we use an eariler SDKs, like when building with Xcode4)
-#if (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000) \
- || (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090)
-
-#import "AFHTTPSessionManager.h"
-
-@interface AFNetworkingTests (NSURLSession) @end
-@implementation AFNetworkingTests (NSURLSession)
-
-- (void)test_AFHTTPURLSessionCustom
-{
- if ([NSURLSession class] && [NSURLSessionConfiguration class])
- {
- static const NSTimeInterval kRequestTime = 0.1;
- static const NSTimeInterval kResponseTime = 0.2;
- NSDictionary *expectedResponseDict = @{@"Success" : @"Yes"};
-
- [OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
- return [request.URL.scheme isEqualToString:@"stubs"];
- } withStubResponse:^OHHTTPStubsResponse *(NSURLRequest *request) {
- return [[OHHTTPStubsResponse responseWithJSONObject:expectedResponseDict statusCode:200 headers:nil]
- requestTime:kRequestTime responseTime:kResponseTime];
- }];
-
- XCTestExpectation* expectation = [self expectationWithDescription:@"AFHTTPSessionManager request finished"];
-
- NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
- NSURL* baseURL = [NSURL URLWithString:@"stubs://stubs/"];
- AFHTTPSessionManager *sessionManager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL
- sessionConfiguration:sessionConfig];
-
- __block __strong id response = nil;
- [sessionManager GET:@"foo"
- parameters:nil
- success:^(NSURLSessionDataTask *task, id responseObject) {
- response = responseObject; // keep strong reference
- [expectation fulfill];
- }
- failure:^(NSURLSessionDataTask *task, NSError *error) {
- XCTFail(@"Unexpected network failure");
- [expectation fulfill];
- }];
-
- [self waitForExpectationsWithTimeout:kRequestTime+kResponseTime+kResponseTimeTolerence handler:nil];
-
- XCTAssertEqualObjects(response, expectedResponseDict, @"Unexpected data received");
- }
- else
- {
- NSLog(@"/!\\ Test skipped because the NSURLSession class is not available on this OS version. Run the tests a target with a more recent OS.\n");
- }
-}
-
-@end
-
-#else
-#warning Unit Tests using NSURLSession were not compiled nor executed, because NSURLSession is only available since iOS7/OSX10.9 SDK. \
--------- Compile using iOS7 or OSX10.9 SDK then launch the tests on the iOS7 simulator or an OSX10.9 target for them to be executed.
-#endif