Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 61 additions & 24 deletions Tests/SentryTests/SentryHttpStatusCodeRangeTests.swift
Original file line number Diff line number Diff line change
@@ -1,46 +1,83 @@
import XCTest

class SentryHttpStatusCodeRangeTests: XCTestCase {

func testWithinRange() {

// MARK: - Init Properties

func testInit_whenMinAndMax_shouldSetProperties() {
let range = HttpStatusCodeRange(min: 400, max: 499)

XCTAssertEqual(range.min, 400)
XCTAssertEqual(range.max, 499)
}

func testInit_whenStatusCode_shouldSetMinAndMaxEqual() {
let range = HttpStatusCodeRange(statusCode: 500)

XCTAssertEqual(range.min, 500)
XCTAssertEqual(range.max, 500)
}

// MARK: - Range Init: isInRange

func testIsInRange_whenStatusCodeWithinRange_shouldReturnTrue() {
let range = HttpStatusCodeRange(min: 500, max: 599)

XCTAssertTrue(range.is(inRange: 550))
}
func testMinWithinRange() {

func testIsInRange_whenStatusCodeEqualsMin_shouldReturnTrue() {
let range = HttpStatusCodeRange(min: 500, max: 599)

XCTAssertTrue(range.is(inRange: 500))
}
func testLowerMinNotWithinRange() {

func testIsInRange_whenStatusCodeEqualsMax_shouldReturnTrue() {
let range = HttpStatusCodeRange(min: 500, max: 599)
XCTAssertFalse(range.is(inRange: 499))

XCTAssertTrue(range.is(inRange: 599))
}
func testMaxWithinRange() {

func testIsInRange_whenStatusCodeBelowMin_shouldReturnFalse() {
let range = HttpStatusCodeRange(min: 500, max: 599)
XCTAssertTrue(range.is(inRange: 599))

XCTAssertFalse(range.is(inRange: 499))
}
func testHigherMaxNotWithinRange() {

func testIsInRange_whenStatusCodeAboveMax_shouldReturnFalse() {
let range = HttpStatusCodeRange(min: 500, max: 599)

XCTAssertFalse(range.is(inRange: 600))
}

func testStatusCodeWithinRange() {

func testIsInRange_whenMinEqualsMax_shouldMatchOnlyThatCode() {
let range = HttpStatusCodeRange(min: 500, max: 500)

XCTAssertTrue(range.is(inRange: 500))
XCTAssertFalse(range.is(inRange: 499))
XCTAssertFalse(range.is(inRange: 501))
}

// The init does not validate min <= max, so an inverted range matches nothing.
func testIsInRange_whenMinGreaterThanMax_shouldAlwaysReturnFalse() {
let range = HttpStatusCodeRange(min: 599, max: 500)

XCTAssertFalse(range.is(inRange: 500))
XCTAssertFalse(range.is(inRange: 550))
XCTAssertFalse(range.is(inRange: 599))
}

// MARK: - StatusCode Init: isInRange

func testIsInRange_whenStatusCodeInitAndExactMatch_shouldReturnTrue() {
let range = HttpStatusCodeRange(statusCode: 500)

XCTAssertTrue(range.is(inRange: 500))
}
func testStatusCodeNotWithinRange() {

func testIsInRange_whenStatusCodeInitAndDifferentCode_shouldReturnFalse() {
let range = HttpStatusCodeRange(statusCode: 500)
XCTAssertFalse(range.is(inRange: 200))

XCTAssertFalse(range.is(inRange: 501))
}
}
Loading