带阿里标识的版本

This commit is contained in:
robin
2026-02-28 18:55:33 +08:00
parent 150799f41d
commit 5d0b7c7e91
477 changed files with 10813 additions and 4044 deletions

View File

@@ -1,9 +1,9 @@
//
// IpDetectorTest.m
// AlicloudHttpDNSTests
// TrustHttpDNSTests
//
// Created by xuyecan on 2025/3/14.
// Copyright © 2025 alibaba-inc.com. All rights reserved.
// Copyright © 2025 trustapp.com. All rights reserved.
//
#import <Foundation/Foundation.h>
@@ -25,14 +25,14 @@
[super tearDown];
}
#pragma mark -
#pragma mark - <EFBFBD><EFBFBD>?
- (void)testSharedInstance {
//
HttpdnsIPQualityDetector *detector1 = [HttpdnsIPQualityDetector sharedInstance];
HttpdnsIPQualityDetector *detector2 = [HttpdnsIPQualityDetector sharedInstance];
XCTAssertEqual(detector1, detector2, @"单例模式应该返回相同的实例");
XCTAssertEqual(detector1, detector2, @"<EFBFBD><EFBFBD>?);
XCTAssertNotNil(detector1, @"单例实例不应为nil");
}
@@ -42,7 +42,7 @@
// IP
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
// 使DNS
// 使DNS<EFBFBD><EFBFBD>?
NSInteger costTime = [detector tcpConnectToIP:@"8.8.8.8" port:53];
//
@@ -56,8 +56,8 @@
// 使IP
NSInteger costTime = [detector tcpConnectToIP:@"192.168.255.255" port:12345];
// -1
XCTAssertEqual(costTime, -1, @"连接到无效IP应返回-1");
// <EFBFBD><EFBFBD>?1
XCTAssertEqual(costTime, -1, @"连接到无效IP应返<EFBFBD><EFBFBD>?1");
}
- (void)testTcpConnectWithInvalidParameters {
@@ -66,21 +66,21 @@
// IP
NSInteger costTime = [detector tcpConnectToIP:nil port:80];
XCTAssertEqual(costTime, -1, @"使用nil IP应返回-1");
XCTAssertEqual(costTime, -1, @"使用nil IP应返<EFBFBD><EFBFBD>?1");
// IP
costTime = [detector tcpConnectToIP:@"not-an-ip" port:80];
XCTAssertEqual(costTime, -1, @"使用无效格式IP应返回-1");
XCTAssertEqual(costTime, -1, @"使用无效格式IP应返<EFBFBD><EFBFBD>?1");
//
costTime = [detector tcpConnectToIP:@"8.8.8.8" port:-1];
XCTAssertEqual(costTime, -1, @"使用无效端口应返回-1");
XCTAssertEqual(costTime, -1, @"使用无效端口应返<EFBFBD><EFBFBD>?1");
}
#pragma mark -
- (void)testScheduleIPQualityDetection {
// IP
// IP<EFBFBD><EFBFBD>?
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
id detectorMock = OCMPartialMock(detector);
@@ -110,7 +110,7 @@
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
id detectorMock = OCMPartialMock(detector);
// executeDetection
// executeDetection<EFBFBD><EFBFBD>?
OCMReject([detectorMock executeDetection:[OCMArg any]
ip:[OCMArg any]
port:[OCMArg any]
@@ -146,7 +146,7 @@
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
id detectorMock = OCMPartialMock(detector);
// dispatch_semaphore_wait
// dispatch_semaphore_wait<EFBFBD><EFBFBD>?
// scheduleIPQualityDetectionaddPendingTask
OCMStub([detectorMock scheduleIPQualityDetection:[OCMArg any]
ip:[OCMArg any]
@@ -163,7 +163,7 @@
[invocation getArgument:&port atIndex:4];
[invocation getArgument:&callback atIndex:5];
// addPendingTask
// addPendingTask<EFBFBD><EFBFBD>?
[detector addPendingTask:cacheKey ip:ip port:port callback:callback];
});
@@ -193,14 +193,14 @@
}
- (void)testAddPendingTask {
//
// <EFBFBD><EFBFBD>?
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
id detectorMock = OCMPartialMock(detector);
// processPendingTasksIfNeeded
// processPendingTasksIfNeeded<EFBFBD><EFBFBD>?
OCMStub([detectorMock processPendingTasksIfNeeded]);
//
// <EFBFBD><EFBFBD>?
NSUInteger initialCount = [detector pendingTasksCount];
//
@@ -209,8 +209,8 @@
port:[NSNumber numberWithInt:80]
callback:^(NSString *cacheKey, NSString *ip, NSInteger costTime) {}];
//
XCTAssertEqual([detector pendingTasksCount], initialCount + 1, @"添加任务后待处理任务数量应增加1");
// <EFBFBD><EFBFBD>?
XCTAssertEqual([detector pendingTasksCount], initialCount + 1, @"添加任务后待处理任务数量应增<EFBFBD><EFBFBD>?");
//
[detectorMock stopMocking];
@@ -221,7 +221,7 @@
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
id detectorMock = OCMPartialMock(detector);
// executeDetection
// executeDetection<EFBFBD><EFBFBD>?
OCMStub([detectorMock executeDetection:[OCMArg any]
ip:[OCMArg any]
port:[OCMArg any]
@@ -233,13 +233,13 @@
port:[NSNumber numberWithInt:80]
callback:^(NSString *cacheKey, NSString *ip, NSInteger costTime) {}];
//
// <EFBFBD><EFBFBD>?
[detectorMock processPendingTasksIfNeeded];
//
// <EFBFBD><EFBFBD>?
[NSThread sleepForTimeInterval:0.1];
//
// <EFBFBD><EFBFBD>?
XCTAssertEqual([detector pendingTasksCount], 0, @"处理后待处理任务数量应为0");
//
@@ -253,7 +253,7 @@
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
id detectorMock = OCMPartialMock(detector);
// tcpConnectToIP
// tcpConnectToIP<EFBFBD><EFBFBD>?
OCMStub([detectorMock tcpConnectToIP:@"1.2.3.4" port:80]).andReturn(100);
//
@@ -265,9 +265,9 @@
port:[NSNumber numberWithInt:80]
callback:^(NSString *cacheKey, NSString *ip, NSInteger costTime) {
//
XCTAssertEqualObjects(cacheKey, @"example.com", @"回调中的cacheKey应正确");
XCTAssertEqualObjects(ip, @"1.2.3.4", @"回调中的IP应正确");
XCTAssertEqual(costTime, 100, @"回调中的耗时应正确");
XCTAssertEqualObjects(cacheKey, @"example.com", @"cacheKey<EFBFBD><EFBFBD>?);
XCTAssertEqualObjects(ip, @"1.2.3.4", @"IP<EFBFBD><EFBFBD>?);
XCTAssertEqual(costTime, 100, @"<EFBFBD><EFBFBD>?);
[expectation fulfill];
}];
@@ -296,8 +296,8 @@
port:[NSNumber numberWithInt:80]
callback:^(NSString *cacheKey, NSString *ip, NSInteger costTime) {
//
XCTAssertEqualObjects(cacheKey, @"example.com", @"回调中的cacheKey应正确");
XCTAssertEqualObjects(ip, @"1.2.3.4", @"回调中的IP应正确");
XCTAssertEqualObjects(cacheKey, @"example.com", @"cacheKey<EFBFBD><EFBFBD>?);
XCTAssertEqualObjects(ip, @"1.2.3.4", @"IP<EFBFBD><EFBFBD>?);
XCTAssertEqual(costTime, -1, @"连接失败时回调中的耗时应为-1");
[expectation fulfill];
@@ -311,11 +311,11 @@
}
- (void)testExecuteDetectionWithNilPort {
// nil
// nil<EFBFBD><EFBFBD>?
HttpdnsIPQualityDetector *detector = [HttpdnsIPQualityDetector sharedInstance];
id detectorMock = OCMPartialMock(detector);
// tcpConnectToIP使80
// tcpConnectToIP使<EFBFBD><EFBFBD>?0
OCMExpect([detectorMock tcpConnectToIP:@"1.2.3.4" port:80]).andReturn(100);
//
@@ -356,9 +356,9 @@
// tcpConnectToIP
OCMStub([detectorMock tcpConnectToIP:[OCMArg any] port:80]).andDo(^(NSInvocation *invocation) {
// GC
// GC<EFBFBD><EFBFBD>?
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//
// <EFBFBD><EFBFBD>?
NSInteger result = 100;
[invocation setReturnValue:&result];
});
@@ -373,24 +373,24 @@
port:[NSNumber numberWithInt:80]
callback:^(NSString *cacheKey, NSString *ip, NSInteger costTime) {
//
XCTAssertEqualObjects(cacheKey, @"example.com", @"回调中的cacheKey应正确");
XCTAssertEqualObjects(ip, @"1.2.3.4", @"回调中的IP应正确");
XCTAssertEqualObjects(cacheKey, @"example.com", @"cacheKey<EFBFBD><EFBFBD>?);
XCTAssertEqualObjects(ip, @"1.2.3.4", @"IP<EFBFBD><EFBFBD>?);
[expectation fulfill];
}];
//
// <EFBFBD><EFBFBD>?
tempCacheKey = nil;
tempIP = nil;
// GCARC
// GCARC<EFBFBD><EFBFBD>?
@autoreleasepool {
//
// <EFBFBD><EFBFBD>?
}
// executeDetection
XCTAssertNotNil(weakCacheKey, @"cacheKey不应被释放");
XCTAssertNotNil(weakIP, @"IP不应被释放");
XCTAssertNotNil(weakCacheKey, @"cacheKey<EFBFBD><EFBFBD>?);
XCTAssertNotNil(weakIP, @"IP<EFBFBD><EFBFBD>?);
//
[self waitForExpectationsWithTimeout:5.0 handler:nil];