From ebd9ddf11ee48dc8b7739f7ec37b89b8042c9337 Mon Sep 17 00:00:00 2001 From: Shivam Garg Date: Fri, 18 Sep 2026 11:19:32 +0530 Subject: [PATCH] fix(network-plugin): resolve deprecated NSURLSessionDataTask/Metrics init usage in tests (#1961) --- .../BSGURLSessionTracingProxyTests.m | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/BugsnagNetworkRequestPlugin/BugsnagNetworkRequestPluginTests/BSGURLSessionTracingProxyTests.m b/BugsnagNetworkRequestPlugin/BugsnagNetworkRequestPluginTests/BSGURLSessionTracingProxyTests.m index 68f704a53..6d5e79e37 100644 --- a/BugsnagNetworkRequestPlugin/BugsnagNetworkRequestPluginTests/BSGURLSessionTracingProxyTests.m +++ b/BugsnagNetworkRequestPlugin/BugsnagNetworkRequestPluginTests/BSGURLSessionTracingProxyTests.m @@ -40,7 +40,7 @@ - (void)testDidReceiveDataIsForwarded { id proxy = [[BSGURLSessionTracingProxy alloc] initWithDelegate:sessionDelegate tracingDelegate:(id)tracingDelegate]; NSURLSession *session = [NSURLSession sessionWithConfiguration:NSURLSessionConfiguration.ephemeralSessionConfiguration]; - NSURLSessionDataTask *task = [[NSURLSessionDataTask alloc] init]; + NSURLSessionDataTask *task = [session dataTaskWithURL:[NSURL URLWithString:@"https://example.com"]]; XCTAssertTrue([proxy respondsToSelector:@selector(URLSession:dataTask:didReceiveData:)]); [proxy URLSession:session dataTask:task didReceiveData:[NSData data]]; @@ -55,11 +55,14 @@ - (void)testDidFinishCollectingMetricsIsForwardedToSessionDelegate { id proxy = [[BSGURLSessionTracingProxy alloc] initWithDelegate:sessionDelegate tracingDelegate:(id)tracingDelegate]; NSURLSession *session = [NSURLSession sessionWithConfiguration:NSURLSessionConfiguration.ephemeralSessionConfiguration]; - NSURLSessionDataTask *task = [[NSURLSessionDataTask alloc] init]; + NSURLSessionDataTask *task = [session dataTaskWithURL:[NSURL URLWithString:@"https://example.com"]]; XCTAssertFalse([proxy respondsToSelector:@selector(URLSession:dataTask:didReceiveData:)]); XCTAssertTrue([proxy respondsToSelector:@selector(URLSession:task:didFinishCollectingMetrics:)]); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [proxy URLSession:session task:task didFinishCollectingMetrics:[[NSURLSessionTaskMetrics alloc] init]]; +#pragma clang diagnostic pop XCTAssertTrue(sessionDelegate.didFinishCollectingMetricsWasCalled, @"The session delegate's method should be called"); XCTAssertTrue(tracingDelegate.didFinishCollectingMetricsWasCalled, @"The tracing delegate's method should be called"); } else { @@ -75,10 +78,13 @@ - (void)testDidFinishCollectingMetricsIsNotImplementedBySessionDelegate { id proxy = [[BSGURLSessionTracingProxy alloc] initWithDelegate:sessionDelegate tracingDelegate:(id)tracingDelegate]; NSURLSession *session = [NSURLSession sessionWithConfiguration:NSURLSessionConfiguration.ephemeralSessionConfiguration]; - NSURLSessionDataTask *task = [[NSURLSessionDataTask alloc] init]; + NSURLSessionDataTask *task = [session dataTaskWithURL:[NSURL URLWithString:@"https://example.com"]]; XCTAssertTrue([proxy respondsToSelector:@selector(URLSession:task:didFinishCollectingMetrics:)]); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" XCTAssertNoThrow([proxy URLSession:session task:task didFinishCollectingMetrics:[[NSURLSessionTaskMetrics alloc] init]]); +#pragma clang diagnostic pop XCTAssertTrue(tracingDelegate.didFinishCollectingMetricsWasCalled, @"The tracing delegate's method should be called"); } else { XCTSkip(@"Required API is not available for this test.");