Add IceTransportInterface object
This creates the API for an ICE transport object, and lets it
be accessible from a DTLS transport object.
Bug: chromium:907849
Change-Id: Ieb24570217dec75ce0deca8420739c1f116fbba4
Reviewed-on: https://webrtc-review.googlesource.com/c/118703
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26472}
diff --git a/pc/ice_transport_unittest.cc b/pc/ice_transport_unittest.cc
index c299b2c..8d668de 100644
--- a/pc/ice_transport_unittest.cc
+++ b/pc/ice_transport_unittest.cc
@@ -9,18 +9,39 @@
*/
#include "pc/ice_transport.h"
-#include "p2p/base/fake_port_allocator.h"
+#include <memory>
+#include <utility>
+#include <vector>
+
+#include "absl/memory/memory.h"
+#include "api/ice_transport_factory.h"
+#include "p2p/base/fake_ice_transport.h"
+#include "p2p/base/fake_port_allocator.h"
+#include "rtc_base/gunit.h"
+#include "test/gmock.h"
#include "test/gtest.h"
namespace webrtc {
class IceTransportTest : public testing::Test {};
-TEST_F(IceTransportTest, CreateStandaloneIceTransport) {
- auto port_allocator = new cricket::FakePortAllocator(nullptr, nullptr);
- auto transport = CreateIceTransport(port_allocator);
- ASSERT_TRUE(transport->internal());
+TEST_F(IceTransportTest, CreateNonSelfDeletingTransport) {
+ auto cricket_transport =
+ absl::make_unique<cricket::FakeIceTransport>("name", 0, nullptr);
+ rtc::scoped_refptr<IceTransportWithPointer> ice_transport =
+ new rtc::RefCountedObject<IceTransportWithPointer>(
+ cricket_transport.get());
+ EXPECT_EQ(ice_transport->internal(), cricket_transport.get());
+ ice_transport->Clear();
+ EXPECT_NE(ice_transport->internal(), cricket_transport.get());
+}
+
+TEST_F(IceTransportTest, CreateSelfDeletingTransport) {
+ std::unique_ptr<cricket::FakePortAllocator> port_allocator(
+ absl::make_unique<cricket::FakePortAllocator>(nullptr, nullptr));
+ auto ice_transport = CreateIceTransport(port_allocator.get());
+ EXPECT_NE(nullptr, ice_transport->internal());
}
} // namespace webrtc