|
@@ -5,202 +5,116 @@
|
|
|
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
|
*
|
|
|
*/
|
|
|
-#include "ConnectionManagerUnitTests.h"
|
|
|
-#include "native/connection/connectionManager.h"
|
|
|
-#include "native/connection/connection.h"
|
|
|
+
|
|
|
+#include <native/unittests/AssetProcessorUnitTests.h>
|
|
|
+
|
|
|
+#include <native/connection/connectionManager.h>
|
|
|
+#include <native/connection/connection.h>
|
|
|
+
|
|
|
#include <QCoreApplication>
|
|
|
|
|
|
const QString s_connectionSettingsPrefix = QStringLiteral("AssetProcessorUnitTests_");
|
|
|
|
|
|
-ConnectionManagerUnitTest::ConnectionManagerUnitTest()
|
|
|
+class ConnectionManagerUnitTest
|
|
|
+ : public UnitTest::AssetProcessorUnitTestBase
|
|
|
{
|
|
|
- m_connectionManager = ConnectionManager::Get();
|
|
|
- QObject::connect(m_connectionManager, &ConnectionManager::ConnectionRemoved, this, &ConnectionManagerUnitTest::ConnectionDeleted);
|
|
|
- QObject::connect(this, &ConnectionManagerUnitTest::RunFirstPhaseofUnitTestsForConnectionManager, this, &ConnectionManagerUnitTest::RunFirstPartOfUnitTestsForConnectionManager);
|
|
|
- QObject::connect(this, &ConnectionManagerUnitTest::AllConnectionsRemoved, this, &ConnectionManagerUnitTest::RunSecondPartOfUnitTestsForConnectionManager);
|
|
|
- QObject::connect(this, &ConnectionManagerUnitTest::ConnectionRemoved, this, &ConnectionManagerUnitTest::RunThirdPartOfUnitTestsForConnectionManager);
|
|
|
-}
|
|
|
+public:
|
|
|
|
|
|
-void ConnectionManagerUnitTest::StartTest()
|
|
|
-{
|
|
|
- UpdateConnectionManager();
|
|
|
-}
|
|
|
+ virtual void SetUp() override;
|
|
|
+ virtual void TearDown() override;
|
|
|
|
|
|
-int ConnectionManagerUnitTest::UnitTestPriority() const
|
|
|
-{
|
|
|
- return -10;
|
|
|
-}
|
|
|
+protected:
|
|
|
+ void UpdateConnectionManager();
|
|
|
+ ConnectionManager* m_connectionManager;
|
|
|
+};
|
|
|
|
|
|
-ConnectionManagerUnitTest::~ConnectionManagerUnitTest()
|
|
|
+void ConnectionManagerUnitTest::SetUp()
|
|
|
{
|
|
|
+ UnitTest::AssetProcessorUnitTestBase::SetUp();
|
|
|
+
|
|
|
+ m_connectionManager = ConnectionManager::Get();
|
|
|
}
|
|
|
|
|
|
-void ConnectionManagerUnitTest::RunFirstPartOfUnitTestsForConnectionManager()
|
|
|
+void ConnectionManagerUnitTest::TearDown()
|
|
|
{
|
|
|
- int count = m_connectionManager->getCount();
|
|
|
- if (count != 4)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Count is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- m_connectionManager->SaveConnections(s_connectionSettingsPrefix);
|
|
|
//removing all connections
|
|
|
for (auto iter = m_connectionManager->getConnectionMap().begin(); iter != m_connectionManager->getConnectionMap().end(); iter++)
|
|
|
{
|
|
|
iter.value()->Terminate();
|
|
|
}
|
|
|
+
|
|
|
+ // Process all the pending events
|
|
|
+ QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete);
|
|
|
+ QCoreApplication::processEvents();
|
|
|
+
|
|
|
+ UnitTest::AssetProcessorUnitTestBase::TearDown();
|
|
|
}
|
|
|
|
|
|
-void ConnectionManagerUnitTest::RunSecondPartOfUnitTestsForConnectionManager()
|
|
|
+TEST_F(ConnectionManagerUnitTest, AddAndSaveConnections_FeedUserConnections_Success)
|
|
|
{
|
|
|
+ UpdateConnectionManager();
|
|
|
+
|
|
|
int count = m_connectionManager->getCount();
|
|
|
- if (count != 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Count is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
+ EXPECT_EQ(count, 4) << "Count is Invalid";
|
|
|
+ m_connectionManager->SaveConnections(s_connectionSettingsPrefix);
|
|
|
+}
|
|
|
+
|
|
|
+TEST_F(ConnectionManagerUnitTest, LoadConnection_FeedConnectionSettingsPrefix_Success)
|
|
|
+{
|
|
|
+ int count = m_connectionManager->getCount();
|
|
|
+ EXPECT_EQ(count, 0) << "Count is Invalid";
|
|
|
m_connectionManager->LoadConnections(s_connectionSettingsPrefix);
|
|
|
count = m_connectionManager->getCount();
|
|
|
- if (count != 4)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Count is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
+ EXPECT_EQ(count, 4) << "Count is Invalid";
|
|
|
+}
|
|
|
+
|
|
|
+TEST_F(ConnectionManagerUnitTest, GetConnection_FeedConnectionId_Success)
|
|
|
+{
|
|
|
+ m_connectionManager->LoadConnections(s_connectionSettingsPrefix);
|
|
|
unsigned int connId = m_connectionManager->GetConnectionId("127.0.0.2", 12345);
|
|
|
- if (connId == 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Connection is not present ,which is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
+ EXPECT_NE(connId, 0) << "Connection is not present ,which is Invalid";
|
|
|
Connection* testConnection = m_connectionManager->getConnection(connId);
|
|
|
- if (testConnection->Identifier().compare("PC Game", Qt::CaseSensitive) != 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Identifier is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->IpAddress().compare("127.0.0.2", Qt::CaseInsensitive) != 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("IpAddress is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->Port() != 12345)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Port is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->Status() != Connection::Disconnected)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Status is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->AutoConnect() != false)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("autoConnect status is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
+ EXPECT_EQ(testConnection->Identifier().compare("PC Game", Qt::CaseSensitive), 0) << "Identifier is Invalid";
|
|
|
+ EXPECT_EQ(testConnection->IpAddress().compare("127.0.0.2", Qt::CaseInsensitive), 0) << "IpAddress is Invalid";
|
|
|
+ EXPECT_EQ(testConnection->Port(), 12345) << "Port is Invalid";
|
|
|
+ EXPECT_EQ(testConnection->Status(), Connection::Disconnected) << "Status is Invalid";
|
|
|
+ EXPECT_FALSE(testConnection->AutoConnect()) << "AutoConnect status is Invalid";
|
|
|
+}
|
|
|
|
|
|
- connId = m_connectionManager->addUserConnection();
|
|
|
- count = m_connectionManager->getCount();
|
|
|
- if (count != 5)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Count is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (connId == 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Index of the connection is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- testConnection = m_connectionManager->getConnection(connId);
|
|
|
+TEST_F(ConnectionManagerUnitTest, RemoveConnection_FeedConnectionId_Success)
|
|
|
+{
|
|
|
+ // Add a new connection to remove
|
|
|
+ unsigned int connId = m_connectionManager->addUserConnection();
|
|
|
+ int count = m_connectionManager->getCount();
|
|
|
+ EXPECT_EQ(count, 1) << "Count is Invalid";
|
|
|
+ EXPECT_NE(connId, 0) << "Index of the connection is Invalid";
|
|
|
+ Connection* testConnection = m_connectionManager->getConnection(connId);
|
|
|
testConnection->SetIdentifier("PC Game");
|
|
|
testConnection->SetIpAddress("98.45.67.89");
|
|
|
testConnection->SetPort(22234);
|
|
|
testConnection->SetStatus(Connection::Connecting);
|
|
|
testConnection->SetAutoConnect(true);
|
|
|
|
|
|
- if (testConnection->Identifier().compare("PC Game", Qt::CaseSensitive) != 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Identifier is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->IpAddress().compare("98.45.67.89", Qt::CaseInsensitive) != 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("IpAddress is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->Port() != 22234)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Port is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->Status() != Connection::Connecting)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Status is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (testConnection->AutoConnect() != true)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Autoconnect status is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
+ EXPECT_EQ(testConnection->Identifier().compare("PC Game", Qt::CaseSensitive), 0) << "Identifier is Invalid";
|
|
|
+ EXPECT_EQ(testConnection->IpAddress().compare("98.45.67.89", Qt::CaseInsensitive), 0) << "IpAddress is Invalid";
|
|
|
+ EXPECT_EQ(testConnection->Port(), 22234) << "Port is Invalid";
|
|
|
+ EXPECT_EQ(testConnection->Status(), Connection::Connecting) << "Status is Invalid";
|
|
|
+ EXPECT_TRUE(testConnection->AutoConnect()) << "Autoconnect status is Invalid";
|
|
|
connId = m_connectionManager->GetConnectionId("98.45.67.89", 22234);
|
|
|
- if (connId == 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Connection is not present ,which is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- count = m_connectionManager->getCount();
|
|
|
- if (count != 5)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Count is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
- m_connectionManager->removeConnection(connId);
|
|
|
-}
|
|
|
+ EXPECT_NE(connId, 0) << "Connection is not present ,which is Invalid";
|
|
|
|
|
|
-void ConnectionManagerUnitTest::RunThirdPartOfUnitTestsForConnectionManager()
|
|
|
-{
|
|
|
- int count = m_connectionManager->getCount();
|
|
|
- if (count != 4)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Count is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- unsigned int connId = m_connectionManager->GetConnectionId("98.45.67.89", 22234);
|
|
|
- if (connId != 0)
|
|
|
- {
|
|
|
- Q_EMIT UnitTestFailed("Connection is present ,which is Invalid");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- QObject::disconnect(this, &ConnectionManagerUnitTest::AllConnectionsRemoved, this, &ConnectionManagerUnitTest::RunSecondPartOfUnitTestsForConnectionManager);
|
|
|
- QObject::connect(this, &ConnectionManagerUnitTest::AllConnectionsRemoved, this, &ConnectionManagerUnitTest::RunFourthPartOfUnitTestsForConnectionManager);
|
|
|
- //removing all connections
|
|
|
- for (auto iter = m_connectionManager->getConnectionMap().begin(); iter != m_connectionManager->getConnectionMap().end(); iter++)
|
|
|
- {
|
|
|
- iter.value()->Terminate();
|
|
|
- }
|
|
|
-}
|
|
|
+ m_connectionManager->removeConnection(connId);
|
|
|
+ // Process all the pending events
|
|
|
+ QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete);
|
|
|
+ QCoreApplication::processEvents();
|
|
|
|
|
|
-void ConnectionManagerUnitTest::RunFourthPartOfUnitTestsForConnectionManager()
|
|
|
-{
|
|
|
- qApp->processEvents();
|
|
|
+ count = m_connectionManager->getCount();
|
|
|
+ EXPECT_EQ(count, 0) << "Count is Invalid";
|
|
|
|
|
|
- Q_EMIT UnitTestPassed();
|
|
|
+ connId = m_connectionManager->GetConnectionId("98.45.67.89", 22234);
|
|
|
+ EXPECT_EQ(connId, 0) << "Connection is present ,which is Invalid";
|
|
|
}
|
|
|
|
|
|
-void ConnectionManagerUnitTest::ConnectionDeleted(unsigned int connId)
|
|
|
-{
|
|
|
- if (m_connectionManager->getConnectionMap().isEmpty())
|
|
|
- {
|
|
|
- Q_EMIT AllConnectionsRemoved();
|
|
|
- }
|
|
|
- else if (connId == 9)
|
|
|
- {
|
|
|
- Q_EMIT ConnectionRemoved();
|
|
|
- }
|
|
|
-}
|
|
|
|
|
|
void ConnectionManagerUnitTest::UpdateConnectionManager()
|
|
|
{
|
|
@@ -235,9 +149,4 @@ void ConnectionManagerUnitTest::UpdateConnectionManager()
|
|
|
c4->SetIpAddress("127.0.0.4");
|
|
|
c4->SetPort(12345);
|
|
|
c4->SetAutoConnect(false);
|
|
|
- Q_EMIT RunFirstPhaseofUnitTestsForConnectionManager();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-REGISTER_UNIT_TEST(ConnectionManagerUnitTest)
|
|
|
-
|