Update tests to prevent memory leakage (#4164)

Install C and C++ tools in Travis
This commit is contained in:
sunn
2019-10-17 11:48:35 +02:00
committed by GitHub
parent c32fa5d012
commit f901a84743
9 changed files with 122 additions and 147 deletions

View File

@@ -4,12 +4,6 @@
#include <QTimer>
#include <QDebug>
OAIUserApi* UserApiTests::getApi() {
auto api = new OAIUserApi();
api->setHost("http://petstore.swagger.io");
return api;
}
OAIUser UserApiTests::createRandomUser() {
OAIUser user;
user.setId(QDateTime::currentMSecsSinceEpoch());
@@ -24,29 +18,29 @@ OAIUser UserApiTests::createRandomUser() {
}
void UserApiTests::createUserTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool userCreated = false;
connect(api, &OAIUserApi::createUserSignal, [&](){
connect(&api, &OAIUserApi::createUserSignal, [&](){
userCreated = true;
loop.quit();
});
api->createUser(createRandomUser());
api.createUser(createRandomUser());
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(userCreated, "didn't finish within timeout");
delete api;
}
void UserApiTests::createUsersWithArrayInputTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool usersCreated = false;
connect(api, &OAIUserApi::createUsersWithArrayInputSignal, [&](){
connect(&api, &OAIUserApi::createUsersWithArrayInputSignal, [&](){
usersCreated = true;
loop.quit();
});
@@ -55,20 +49,19 @@ void UserApiTests::createUsersWithArrayInputTest(){
users.append(createRandomUser());
users.append(createRandomUser());
users.append(createRandomUser());
api->createUsersWithArrayInput(users);
api.createUsersWithArrayInput(users);
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(usersCreated, "didn't finish within timeout");
delete api;
}
void UserApiTests::createUsersWithListInputTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool usersCreated = false;
connect(api, &OAIUserApi::createUsersWithListInputSignal, [&](){
connect(&api, &OAIUserApi::createUsersWithListInputSignal, [&](){
usersCreated = true;
loop.quit();
});
@@ -81,105 +74,98 @@ void UserApiTests::createUsersWithListInputTest(){
users.append(johndoe);
users.append(rambo);
users.append(createRandomUser());
api->createUsersWithListInput(users);
api.createUsersWithListInput(users);
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(usersCreated, "didn't finish within timeout");
delete api;
}
void UserApiTests::deleteUserTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool userDeleted = false;
connect(api, &OAIUserApi::deleteUserSignal, [&](){
connect(&api, &OAIUserApi::deleteUserSignal, [&](){
userDeleted = true;
loop.quit();
});
api->deleteUser("rambo");
api.deleteUser("rambo");
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(userDeleted, "didn't finish within timeout");
delete api;
}
void UserApiTests::getUserByNameTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool userFetched = false;
connect(api, &OAIUserApi::getUserByNameSignal, [&](OAIUser summary) {
connect(&api, &OAIUserApi::getUserByNameSignal, [&](OAIUser summary) {
userFetched = true;
qDebug() << summary.getUsername();
QVERIFY(summary.getUsername() == "johndoe");
loop.quit();
});
api->getUserByName("johndoe");
api.getUserByName("johndoe");
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(userFetched, "didn't finish within timeout");
delete api;
}
void UserApiTests::loginUserTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool userLogged = false;
connect(api, &OAIUserApi::loginUserSignal, [&](QString summary) {
connect(&api, &OAIUserApi::loginUserSignal, [&](QString summary) {
userLogged = true;
qDebug() << summary;
loop.quit();
});
api->loginUser("johndoe", "123456789");
api.loginUser("johndoe", "123456789");
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(userLogged, "didn't finish within timeout");
delete api;
}
void UserApiTests::logoutUserTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool userLoggedOut = false;
connect(api, &OAIUserApi::logoutUserSignal, [&](){
connect(&api, &OAIUserApi::logoutUserSignal, [&](){
userLoggedOut = true;
loop.quit();
});
api->logoutUser();
api.logoutUser();
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(userLoggedOut, "didn't finish within timeout");
delete api;
}
void UserApiTests::updateUserTest(){
auto api = getApi();
OAIUserApi api;
api.setHost(PetStoreHost);
QEventLoop loop;
bool userUpdated = false;
connect(api, &OAIUserApi::updateUserSignal, [&]() {
connect(&api, &OAIUserApi::updateUserSignal, [&]() {
userUpdated = true;
loop.quit();
});
auto johndoe = createRandomUser();
johndoe.setUsername("johndoe");
api->updateUser("johndoe", johndoe);
api.updateUser("johndoe", johndoe);
QTimer::singleShot(14000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY2(userUpdated, "didn't finish within timeout");
delete api;
}