@@ -53,11 +53,11 @@ class HeadBasedSamplingTests: XCTestCase {
5353 parent. finish ( )
5454
5555 let spans = core. waitAndReturnSpanEvents ( )
56- XCTAssertEqual ( spans. count, 3 , " It must send all spans " )
5756
58- let allKept = spans. filter ( { $0. isKept } ) . count == 3
59- let allDropped = spans. filter ( { !$0. isKept } ) . count == 3
60- XCTAssertTrue ( allKept || allDropped, " All spans must be either kept or dropped " )
57+ guard spans. isEmpty else {
58+ XCTAssertEqual ( spans. filter ( { $0. isKept } ) . count, 3 , " All spans must be either kept or dropped " )
59+ return
60+ }
6161 }
6262
6363 func testSamplingLocalTraceWithImplicitParent( ) throws {
@@ -82,11 +82,11 @@ class HeadBasedSamplingTests: XCTestCase {
8282 parent. finish ( )
8383
8484 let spans = core. waitAndReturnSpanEvents ( )
85- XCTAssertEqual ( spans. count, 3 , " It must send all spans " )
8685
87- let allKept = spans. filter ( { $0. isKept } ) . count == 3
88- let allDropped = spans. filter ( { !$0. isKept } ) . count == 3
89- XCTAssertTrue ( allKept || allDropped, " All spans must be either kept or dropped " )
86+ guard spans. isEmpty else {
87+ XCTAssertEqual ( spans. filter ( { $0. isKept } ) . count, 3 , " All spans must be either kept or dropped " )
88+ return
89+ }
9090 }
9191
9292 // MARK: - Distributed Tracing (through network instrumentation API)
@@ -154,18 +154,10 @@ class HeadBasedSamplingTests: XCTestCase {
154154 let request = try sendURLSessionRequest ( to: " https://foo.com/request " , using: InstrumentedSessionDelegate ( ) )
155155
156156 // Then
157- let span = try XCTUnwrap ( core. waitAndReturnSpanEvents ( ) . first, " It should send span event " )
158- XCTAssertEqual ( span. operationName, " urlsession.request " )
159- XCTAssertEqual ( span. samplingRate, 0 , " Span must use distributed trace sample rate " )
160- XCTAssertFalse ( span. isKept, " Span must be dropped " )
161-
162- // Then
163- let expectedTraceIDField = span. traceID. toString ( representation: . decimal)
164- let expectedSpanIDField = span. spanID. toString ( representation: . decimal)
165- let expectedTagsField = " _dd.p.tid= \( span. traceID. idHiHex) "
166- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) , expectedTraceIDField)
167- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) , expectedSpanIDField)
168- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) , expectedTagsField)
157+ XCTAssertNil ( core. waitAndReturnSpanEvents ( ) . first, " It should not send span event " )
158+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) )
159+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) )
160+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) )
169161 XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . samplingPriorityField) , " 0 " )
170162 }
171163
@@ -245,23 +237,13 @@ class HeadBasedSamplingTests: XCTestCase {
245237
246238 // Then
247239 let spanEvents = core. waitAndReturnSpanEvents ( )
248- let activeSpan = try XCTUnwrap ( spanEvents. first ( where: { $0. operationName == " active.span " } ) )
249- let urlsessionSpan = try XCTUnwrap ( spanEvents. first ( where: { $0. operationName == " urlsession.request " } ) )
250-
251- XCTAssertEqual ( activeSpan. samplingRate, 0 , " Span must use local trace sample rate " )
252- XCTAssertFalse ( activeSpan. isKept, " Span must not be sampled " )
253- XCTAssertEqual ( urlsessionSpan. samplingRate, 0 , " Span must use local trace sample rate " )
254- XCTAssertFalse ( urlsessionSpan. isKept, " Span must not be sampled " )
255- XCTAssertEqual ( urlsessionSpan. traceID, activeSpan. traceID)
256- XCTAssertEqual ( urlsessionSpan. parentID, activeSpan. spanID)
240+ XCTAssertNil ( spanEvents. first ( where: { $0. operationName == " active.span " } ) )
241+ XCTAssertNil ( spanEvents. first ( where: { $0. operationName == " urlsession.request " } ) )
257242
258243 // Then
259- let expectedTraceIDField = activeSpan. traceID. toString ( representation: . decimal)
260- let expectedSpanIDField = urlsessionSpan. spanID. toString ( representation: . decimal)
261- let expectedTagsField = " _dd.p.tid= \( activeSpan. traceID. idHiHex) "
262- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) , expectedTraceIDField)
263- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) , expectedSpanIDField)
264- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) , expectedTagsField)
244+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) )
245+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) )
246+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) )
265247 XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . samplingPriorityField) , " 0 " )
266248 }
267249
@@ -329,18 +311,12 @@ class HeadBasedSamplingTests: XCTestCase {
329311 span. finish ( )
330312
331313 // Then
332- let networkSpan = try XCTUnwrap ( core. waitAndReturnSpanEvents ( ) . first, " It should send span event " )
333- XCTAssertEqual ( networkSpan. operationName, " network.span " )
334- XCTAssertEqual ( networkSpan. samplingRate, 0 , " Span must use local trace sample rate " )
335- XCTAssertFalse ( networkSpan. isKept, " Span must be dropped " )
314+ XCTAssertNil ( core. waitAndReturnSpanEvents ( ) . first, " It should not send span event " )
336315
337316 // Then
338- let expectedTraceIDField = networkSpan. traceID. toString ( representation: . decimal)
339- let expectedSpanIDField = networkSpan. spanID. toString ( representation: . decimal)
340- let expectedTagsField = " _dd.p.tid= \( networkSpan. traceID. idHiHex) "
341- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) , expectedTraceIDField)
342- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) , expectedSpanIDField)
343- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) , expectedTagsField)
317+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) )
318+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) )
319+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) )
344320 XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . samplingPriorityField) , " 0 " )
345321 }
346322
@@ -420,23 +396,13 @@ class HeadBasedSamplingTests: XCTestCase {
420396
421397 // Then
422398 let spanEvents = core. waitAndReturnSpanEvents ( )
423- let activeSpan = try XCTUnwrap ( spanEvents. first ( where: { $0. operationName == " active.span " } ) )
424- let networkSpan = try XCTUnwrap ( spanEvents. first ( where: { $0. operationName == " network.span " } ) )
425-
426- XCTAssertEqual ( activeSpan. samplingRate, 0 , " Span must use local trace sample rate " )
427- XCTAssertFalse ( activeSpan. isKept, " Span must be dropped " )
428- XCTAssertEqual ( networkSpan. samplingRate, 0 , " Span must use local trace sample rate " )
429- XCTAssertFalse ( networkSpan. isKept, " Span must be dropped " )
430- XCTAssertEqual ( networkSpan. traceID, activeSpan. traceID)
431- XCTAssertEqual ( networkSpan. parentID, activeSpan. spanID)
399+ XCTAssertNil ( spanEvents. first ( where: { $0. operationName == " active.span " } ) )
400+ XCTAssertNil ( spanEvents. first ( where: { $0. operationName == " network.span " } ) )
432401
433402 // Then
434- let expectedTraceIDField = activeSpan. traceID. toString ( representation: . decimal)
435- let expectedSpanIDField = networkSpan. spanID. toString ( representation: . decimal)
436- let expectedTagsField = " _dd.p.tid= \( activeSpan. traceID. idHiHex) "
437- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) , expectedTraceIDField)
438- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) , expectedSpanIDField)
439- XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) , expectedTagsField)
403+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . traceIDField) )
404+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . parentSpanIDField) )
405+ XCTAssertNotNil ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . tagsField) )
440406 XCTAssertEqual ( request. value ( forHTTPHeaderField: TracingHTTPHeaders . samplingPriorityField) , " 0 " )
441407 }
442408
0 commit comments