namespace transport_adapter {
TEST(TcpAdapterBasicTest, Basic) {
- TransportAdapter* transport_adapter =
- static_cast<TransportAdapter*>(new TcpTransportAdapter);
+ TransportAdapter* transport_adapter = new TcpTransportAdapter(12345);
EXPECT_EQ("sdl-tcp", transport_adapter->GetDeviceType());
EXPECT_TRUE(transport_adapter->IsServerOriginatedConnectSupported());
}
TEST(TcpAdapterBasicTest, NotInitialised) {
- TransportAdapter* transport_adapter =
- static_cast<TransportAdapter*>(new TcpTransportAdapter);
+ TransportAdapter* transport_adapter = new TcpTransportAdapter(12345);
EXPECT_EQ(TransportAdapter::BAD_STATE, transport_adapter->SearchDevices());
EXPECT_EQ(TransportAdapter::OK,
class TcpAdapterTest : public ::testing::Test {
public:
TcpAdapterTest()
- : transport_adapter_(static_cast<TransportAdapter*>(new TcpTransportAdapter)),
+ : port_(ChoosePort()),
+ transport_adapter_(new TcpTransportAdapter(port_)),
suspended_(false),
finished_(false) {
pthread_mutex_init(&suspend_mutex_, 0);
pthread_cond_init(&suspend_cond_, 0);
}
+ uint16_t ChoosePort() {
+ return getpid() % 1000 + 3000;
+ }
+
virtual void SetUp() {
const TransportAdapter::Error error = transport_adapter_->Init();
ASSERT_EQ(TransportAdapter::OK, error);
pthread_mutex_unlock(&suspend_mutex_);
}
+ uint16_t port() const {return port_;}
+
+ const uint16_t port_;
TransportAdapter* transport_adapter_;
MockTransportAdapterListener mock_dal_;
ClientTcpSocket client_;
EXPECT_CALL(mock_dal_, OnConnectDone(transport_adapter_, _, _)).WillOnce(
InvokeWithoutArgs(this, &TcpAdapterTest::wakeUp));
}
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
}
TEST_F(TcpAdapterTestWithListenerAutoStart, Receive) {
OnDataReceiveDone(transport_adapter_, _, _, ContainsMessage("abcd"))).
WillOnce(InvokeWithoutArgs(this, &TcpAdapterTest::wakeUp));
}
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
EXPECT_TRUE(client_.Send("abcd"));
}
InvokeWithoutArgs(this, &TcpAdapterTest::wakeUp));
}
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
EXPECT_EQ("efgh", client_.receive(4));
}
EXPECT_CALL(mock_dal_, OnDisconnectDone(transport_adapter_, _, _)).WillOnce(
InvokeWithoutArgs(this, &TcpAdapterTest::wakeUp));
}
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
client_.Disconnect();
}
EXPECT_CALL(mock_dal_, OnDisconnectDone(transport_adapter_, _, _)).WillOnce(
InvokeWithoutArgs(this, &TcpAdapterTest::wakeUp));
}
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
}
TEST_F(TcpAdapterTestWithListenerAutoStart, SendToDisconnected) {
::testing::DoAll(Invoke(helper, &SendHelper::sendMessage),
InvokeWithoutArgs(this, &TcpAdapterTest::wakeUp)));
}
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
}
TEST_F(TcpAdapterTestWithListenerAutoStart, SendFailed) {
EXPECT_CALL(mock_dal_, OnDisconnectDone(transport_adapter_, _, _)).WillOnce(
InvokeWithoutArgs(this, &TcpAdapterTest::wakeUp));
}
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
client_.receive(2);
client_.Disconnect();
}
TEST_F(TcpAdapterTest, StartStop) {
EXPECT_EQ(TransportAdapter::BAD_STATE, transport_adapter_->StopClientListening());
- EXPECT_FALSE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_FALSE(client_.Connect(port()));
EXPECT_EQ(TransportAdapter::OK, transport_adapter_->StartClientListening());
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
client_.Disconnect();
EXPECT_EQ(TransportAdapter::BAD_STATE, transport_adapter_->StartClientListening());
- EXPECT_TRUE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_TRUE(client_.Connect(port()));
client_.Disconnect();
EXPECT_EQ(TransportAdapter::OK, transport_adapter_->StopClientListening());
- EXPECT_FALSE(client_.Connect(TcpTransportAdapter::default_port));
+ EXPECT_FALSE(client_.Connect(port()));
wakeUp();
}