mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Objective-C
		
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Objective-C
		
	
//
 | 
						|
//  Copyright (c) 2017 Open Whisper Systems. All rights reserved.
 | 
						|
//
 | 
						|
 | 
						|
#import "OWSScrubbingLogFormatter.h"
 | 
						|
#import <XCTest/XCTest.h>
 | 
						|
 | 
						|
NS_ASSUME_NONNULL_BEGIN
 | 
						|
 | 
						|
@interface OWSScrubbingLogFormatterTest : XCTestCase
 | 
						|
 | 
						|
@end
 | 
						|
 | 
						|
@implementation OWSScrubbingLogFormatterTest
 | 
						|
 | 
						|
- (DDLogMessage *)messageWithString:(NSString *)string
 | 
						|
{
 | 
						|
    return [[DDLogMessage alloc] initWithMessage:string
 | 
						|
                                           level:DDLogLevelInfo
 | 
						|
                                            flag:0
 | 
						|
                                         context:0
 | 
						|
                                            file:nil
 | 
						|
                                        function:nil
 | 
						|
                                            line:0
 | 
						|
                                             tag:nil
 | 
						|
                                         options:0
 | 
						|
                                       timestamp:[NSDate new]];
 | 
						|
}
 | 
						|
 | 
						|
- (void)testPhoneNumbersScrubbed
 | 
						|
{
 | 
						|
    NSArray<NSString *> *phoneStrings = @[
 | 
						|
        @"+13331231234 ",
 | 
						|
        @"+4113331231234",
 | 
						|
        @"+13331231234 something something +13331231234",
 | 
						|
    ];
 | 
						|
 | 
						|
    for (NSString *phoneString in phoneStrings) {
 | 
						|
        OWSScrubbingLogFormatter *formatter = [OWSScrubbingLogFormatter new];
 | 
						|
        NSString *messageText = [NSString stringWithFormat:@"My phone number is %@", phoneString];
 | 
						|
        NSString *actual = [formatter formatLogMessage:[self messageWithString:messageText]];
 | 
						|
        NSRange redactedRange = [actual rangeOfString:@"My phone number is [ REDACTED_PHONE_NUMBER:xxx234 ]"];
 | 
						|
        XCTAssertNotEqual(NSNotFound, redactedRange.location, "Failed to redact phone string: %@", phoneString);
 | 
						|
 | 
						|
        NSRange phoneNumberRange = [actual rangeOfString:phoneString];
 | 
						|
        XCTAssertEqual(NSNotFound, phoneNumberRange.location, "Failed to redact phone string: %@", phoneString);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
- (void)testNonPhonenumberNotScrubbed
 | 
						|
{
 | 
						|
    OWSScrubbingLogFormatter *formatter = [OWSScrubbingLogFormatter new];
 | 
						|
    NSString *actual =
 | 
						|
        [formatter formatLogMessage:[self messageWithString:[NSString stringWithFormat:@"Some unfiltered string"]]];
 | 
						|
 | 
						|
    NSRange redactedRange = [actual rangeOfString:@"Some unfiltered string"];
 | 
						|
    XCTAssertNotEqual(NSNotFound, redactedRange.location, "Shouldn't touch non phone string.");
 | 
						|
}
 | 
						|
 | 
						|
@end
 | 
						|
 | 
						|
NS_ASSUME_NONNULL_END
 |