DataChannel: Add open/close stress test

Repeatedly open and close data channels on a peer connection
to check that the channels are properly negotiated and SCTP
stream IDs properly recycled.

Bug: webrtc:13994, chromium:1320194
Change-Id: I244911abb5abaf0a290de07a0d790cd1edffe8cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260984
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36780}
diff --git a/pc/test/integration_test_helpers.h b/pc/test/integration_test_helpers.h
index 525e2d4..24d4616 100644
--- a/pc/test/integration_test_helpers.h
+++ b/pc/test/integration_test_helpers.h
@@ -426,7 +426,7 @@
     return data_channels_.back().get();
   }
   // Return all data channels.
-  const std::vector<rtc::scoped_refptr<DataChannelInterface>>& data_channels() {
+  std::vector<rtc::scoped_refptr<DataChannelInterface>>& data_channels() {
     return data_channels_;
   }
 
@@ -437,6 +437,10 @@
     return data_observers_.back().get();
   }
 
+  std::vector<std::unique_ptr<MockDataChannelObserver>>& data_observers() {
+    return data_observers_;
+  }
+
   int audio_frames_received() const {
     return fake_audio_capture_module_->frames_received();
   }