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.
session-ios/Signal/test/util/OWSScrubbingLogFormatterTest.m

64 lines
2.2 KiB
Matlab

// Created by Michael Kirk on 9/27/16.
// Copyright © 2016 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 *actual = [formatter
formatLogMessage:[self
messageWithString:[NSString stringWithFormat:@"My phone number is %@", phoneString]]];
NSRange redactedRange = [actual rangeOfString:@"My phone number is [ REDACTED_PHONE_NUMBER ]"];
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