forked from jsonmodel/jsonmodel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMockNSURLConnection.m
More file actions
50 lines (40 loc) · 1.09 KB
/
MockNSURLConnection.m
File metadata and controls
50 lines (40 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//
// MockNSURLConnection.m
// JSONModelDemo_iOS
//
// Created by Marin Todorov on 3/26/13.
// Copyright (c) 2013 Underplot ltd. All rights reserved.
//
#import "MockNSURLConnection.h"
#import "MTTestSemaphor.h"
static NSHTTPURLResponse* nextResponse = nil;
static NSError* nextError = nil;
static NSData* nextData = nil;
static NSURLRequest* lastRequest = nil;
static int responseDelayInSeconds = 0;
@implementation NSURLConnection(Mock)
+(void)setNextResponse:(NSHTTPURLResponse*)response data:(NSData*)data error:(NSError*)error
{
nextResponse = response;
nextData = data;
nextError = error;
}
+(NSURLRequest*)lastRequest
{
return lastRequest;
}
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSHTTPURLResponse **)response error:(NSError **)error
{
if (responseDelayInSeconds>0) {
[NSThread sleepForTimeInterval: responseDelayInSeconds];
}
lastRequest = request;
*response = nextResponse;
*error = nextError;
return nextData;
}
+(void)setResponseDelay:(int)seconds
{
responseDelayInSeconds = seconds;
}
@end