|
|
|
@ -6,6 +6,11 @@ import Foundation
|
|
|
|
|
@testable import SignalServiceKit
|
|
|
|
|
import XCTest
|
|
|
|
|
|
|
|
|
|
func XCTAssertMatch(expectedPattern: String, actualText: String, file: StaticString = #file, line: UInt = #line) {
|
|
|
|
|
let regex = try! NSRegularExpression(pattern: expectedPattern, options: [])
|
|
|
|
|
XCTAssert(regex.hasMatch(input: actualText), "\(actualText) did not match pattern \(expectedPattern)", file: file, line: line)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class OWSLinkPreviewTest: SSKBaseTestSwift {
|
|
|
|
|
|
|
|
|
|
override func setUp() {
|
|
|
|
@ -382,7 +387,13 @@ class OWSLinkPreviewTest: SSKBaseTestSwift {
|
|
|
|
|
XCTAssertNotNil(content)
|
|
|
|
|
|
|
|
|
|
XCTAssertEqual(content.title, "Walter \"MFPallytime\" on Instagram: “Lol gg”")
|
|
|
|
|
XCTAssertEqual(content.imageUrl, "https://scontent-mia3-2.cdninstagram.com/vp/9035a7d6b32e6f840856661e4a11e3cf/5CFC285B/t51.2885-15/e35/47690175_2275988962411653_1145978227188801192_n.jpg?_nc_ht=scontent-mia3-2.cdninstagram.com")
|
|
|
|
|
// Actual URL can change based on network response
|
|
|
|
|
// https://scontent-mia3-2.cdninstagram.com/vp/9035a7d6b32e6f840856661e4a11e3cf/5CFC285B/t51.2885-15/e35/47690175_2275988962411653_1145978227188801192_n.jpg?_nc_ht=scontent-mia3-2.cdninstagram.com
|
|
|
|
|
// It seems like some parts of the URL are stable, so we can pattern match, but if this continues to be brittle we may choose
|
|
|
|
|
// to remove it or stub the network response
|
|
|
|
|
XCTAssertMatch(expectedPattern: "^https://.*.cdninstagram.com/.*/47690175_2275988962411653_1145978227188801192_n.jpg\\?.*$",
|
|
|
|
|
actualText: content.imageUrl!)
|
|
|
|
|
// XCTAssertEqual(content.imageUrl, "https://scontent-mia3-2.cdninstagram.com/vp/9035a7d6b32e6f840856661e4a11e3cf/5CFC285B/t51.2885-15/e35/47690175_2275988962411653_1145978227188801192_n.jpg?_nc_ht=scontent-mia3-2.cdninstagram.com")
|
|
|
|
|
|
|
|
|
|
expectation.fulfill()
|
|
|
|
|
}.catch { (error) in
|
|
|
|
@ -403,7 +414,12 @@ class OWSLinkPreviewTest: SSKBaseTestSwift {
|
|
|
|
|
XCTAssertNotNil(content)
|
|
|
|
|
|
|
|
|
|
XCTAssertEqual(content.title, "Walter \"MFPallytime\" on Instagram: “Lol gg”")
|
|
|
|
|
XCTAssertEqual(content.imageUrl, "https://scontent-mia3-2.cdninstagram.com/vp/9035a7d6b32e6f840856661e4a11e3cf/5CFC285B/t51.2885-15/e35/47690175_2275988962411653_1145978227188801192_n.jpg?_nc_ht=scontent-mia3-2.cdninstagram.com")
|
|
|
|
|
// Actual URL can change based on network response
|
|
|
|
|
// https://scontent-mia3-2.cdninstagram.com/vp/9035a7d6b32e6f840856661e4a11e3cf/5CFC285B/t51.2885-15/e35/47690175_2275988962411653_1145978227188801192_n.jpg?_nc_ht=scontent-mia3-2.cdninstagram.com
|
|
|
|
|
// It seems like some parts of the URL are stable, so we can pattern match, but if this continues to be brittle we may choose
|
|
|
|
|
// to remove it or stub the network response
|
|
|
|
|
XCTAssertMatch(expectedPattern: "^https://.*.cdninstagram.com/.*/47690175_2275988962411653_1145978227188801192_n.jpg\\?.*$",
|
|
|
|
|
actualText: content.imageUrl!)
|
|
|
|
|
|
|
|
|
|
expectation.fulfill()
|
|
|
|
|
}.catch { (error) in
|
|
|
|
|