forked from aws-amplify/aws-sdk-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAWSSQSTests.m
86 lines (68 loc) · 2.79 KB
/
AWSSQSTests.m
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//
// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//
#import <XCTest/XCTest.h>
#import "AWSSQS.h"
#import "AWSTestUtility.h"
@interface AWSSQSTests : XCTestCase
@end
@implementation AWSSQSTests
+ (void)setUp {
[super setUp];
[AWSTestUtility setupSessionCredentialsProvider];
}
-(void)testClockSkewSQS {
[AWSTestUtility setupSwizzling];
XCTAssertFalse([NSDate aws_getRuntimeClockSkew], @"current RunTimeClockSkew is not zero!");
[AWSTestUtility setMockDate:[NSDate dateWithTimeIntervalSince1970:3600]];
AWSSQS *sqs = [AWSSQS defaultSQS];
XCTAssertNotNil(sqs);
AWSSQSListQueuesRequest *listQueuesRequest = [AWSSQSListQueuesRequest new];
[[[sqs listQueues:listQueuesRequest] continueWithBlock:^id(AWSTask *task) {
if (task.error) {
XCTFail(@"Error: [%@]", task.error);
}
return nil;
}] waitUntilFinished];
[AWSTestUtility revertSwizzling];
}
- (void)testListQueuesRequest {
AWSSQS *sqs = [AWSSQS defaultSQS];
AWSSQSListQueuesRequest *listQueuesRequest = [AWSSQSListQueuesRequest new];
[[[sqs listQueues:listQueuesRequest] continueWithBlock:^id(AWSTask *task) {
if (task.error) {
XCTFail(@"Error: [%@]", task.error);
}
if (task.result) {
AWSSQSListQueuesResult *listQueuesResult = task.result;
AWSDDLogDebug(@"[%@]", listQueuesResult);
XCTAssertNotNil(listQueuesResult.queueUrls);
}
return nil;
}] waitUntilFinished];
}
- (void)testGetQueueAttributesRequestFailure {
AWSSQS *sqs = [AWSSQS defaultSQS];
AWSSQSGetQueueAttributesRequest *attributesRequest = [AWSSQSGetQueueAttributesRequest new];
attributesRequest.queueUrl = @""; //queueURL is empty
[[[sqs getQueueAttributes:attributesRequest] continueWithBlock:^id(AWSTask *task) {
XCTAssertNotNil(task.error, @"expected InvalidAddress Error but got nil");
XCTAssertEqualObjects(task.error.domain, AWSSQSErrorDomain);
XCTAssertEqual(task.error.code, AWSSQSErrorUnknown);
XCTAssertTrue([@"InvalidAddress" isEqualToString:task.error.userInfo[@"Code"]]);
XCTAssertTrue([@"The address is not valid for this endpoint." isEqualToString:task.error.userInfo[@"Message"]]);
return nil;
}] waitUntilFinished];
}
@end