diff --git a/.gear/admc.spec b/.gear/admc.spec index 9a088f30..cfc641fd 100644 --- a/.gear/admc.spec +++ b/.gear/admc.spec @@ -71,7 +71,7 @@ cd BUILD %_bindir/admc %files admc-test -%_bindir/test_admc +%_bindir/admc-test %files gpgui %_bindir/gpgui diff --git a/README.md b/README.md index 35cf96fe..a60d3825 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Tests also require a domain and a connection to the domain. Launch tests from the build directory: ``` -$ ./test_admc +$ ./admc-test ``` # Screenshots diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index eaa03203..fe8dbcfc 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -26,8 +26,8 @@ set(ADMC_ORGANIZATION_DOMAIN "basealt.ru") configure_file(${PROJECT_SOURCE_DIR}/src/admc/config.h.in "config.h") # TODO: not sure how to avoid duplicating the list of ADMC sources here. Maybe could make a shared list somehow? Also maybe move "tests" so that it's inside "src/admc". -add_executable(test_admc - test_admc.cpp +add_executable(admc-test + admc_test.cpp ${PROJECT_SOURCE_DIR}/src/admc/ad_interface.cpp @@ -106,11 +106,11 @@ add_executable(test_admc ${PROJECT_SOURCE_DIR}/translations/translations.qrc ) -add_test(test_admc - test_admc +add_test(admc-test + admc-test ) -target_include_directories(test_admc +target_include_directories(admc-test PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} @@ -119,7 +119,7 @@ target_include_directories(test_admc ${PROJECT_SOURCE_DIR}/tests ) -target_link_libraries(test_admc +target_link_libraries(admc-test Qt5::Core Qt5::Widgets Qt5::Test @@ -130,4 +130,4 @@ target_link_libraries(test_admc Resolv::Resolv ) -install(TARGETS test_admc) +install(TARGETS admc-test) diff --git a/tests/test_admc.cpp b/tests/admc_test.cpp similarity index 93% rename from tests/test_admc.cpp rename to tests/admc_test.cpp index b523d346..7d79132f 100644 --- a/tests/test_admc.cpp +++ b/tests/admc_test.cpp @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -#include "test_admc.h" +#include "admc_test.h" #include "ad_interface.h" #include "ad_defines.h" @@ -54,7 +54,7 @@ #define PRINT_FOCUS_WIDGET_BEFORE_TAB false #define PRINT_FOCUS_WIDGET_AFTER_TAB false -void TestADMC::initTestCase() { +void ADMCTest::initTestCase() { const bool connected = AD()->connect(); QVERIFY2(connected, "Failed to connect to AD server"); @@ -66,11 +66,11 @@ void TestADMC::initTestCase() { cleanup(); } -void TestADMC::cleanupTestCase() { +void ADMCTest::cleanupTestCase() { } -void TestADMC::init() { +void ADMCTest::init() { parent_widget = new QWidget(); const QString dn = test_arena_dn(); @@ -82,7 +82,7 @@ void TestADMC::init() { // NOTE: can't just delete test arena while it has children // because LDAP forbids deleting non-leaf objects. So need // to delete leaves first. -void TestADMC::delete_test_arena_recursive(const QString &parent) { +void ADMCTest::delete_test_arena_recursive(const QString &parent) { const QHash search_results = AD()->search(QString(), QList(), SearchScope_Children, parent); const bool has_children = (search_results.size() > 0); @@ -96,7 +96,7 @@ void TestADMC::delete_test_arena_recursive(const QString &parent) { QVERIFY2(delete_success, "Failed to delete test-arena or it's contents"); } -void TestADMC::cleanup() { +void ADMCTest::cleanup() { if (parent_widget != nullptr) { delete parent_widget; parent_widget = nullptr; @@ -112,7 +112,7 @@ void TestADMC::cleanup() { } } -void TestADMC::object_add() { +void ADMCTest::object_add() { const QString name = TEST_USER; const QString dn = test_object_dn(name, CLASS_USER); @@ -122,7 +122,7 @@ void TestADMC::object_add() { QVERIFY2(object_exists(dn), "Created object doesn't exist"); } -void TestADMC::object_delete() { +void ADMCTest::object_delete() { const QString name = TEST_USER; const QString dn = test_object_dn(name, CLASS_USER); @@ -134,7 +134,7 @@ void TestADMC::object_delete() { QVERIFY2(!object_exists(dn), "Deleted object exists"); } -void TestADMC::object_menu_new_user() { +void ADMCTest::object_menu_new_user() { const QString name = TEST_USER; const QString logon_name = TEST_USER_LOGON; const QString password = TEST_PASSWORD; @@ -168,7 +168,7 @@ void TestADMC::object_menu_new_user() { QVERIFY(true); } -void TestADMC::object_menu_new_ou() { +void ADMCTest::object_menu_new_ou() { const QString name = TEST_OU; const QString parent = test_arena_dn(); const QString dn = test_object_dn(name, CLASS_OU); @@ -188,7 +188,7 @@ void TestADMC::object_menu_new_ou() { QVERIFY(true); } -void TestADMC::object_menu_new_computer() { +void ADMCTest::object_menu_new_computer() { const QString object_class = CLASS_COMPUTER; const QString name = TEST_COMPUTER; const QString parent = test_arena_dn(); @@ -213,7 +213,7 @@ void TestADMC::object_menu_new_computer() { QVERIFY(true); } -void TestADMC::object_menu_new_group() { +void ADMCTest::object_menu_new_group() { const QString object_class = CLASS_GROUP; const QString name = TEST_GROUP; const QString parent = test_arena_dn(); @@ -238,7 +238,7 @@ void TestADMC::object_menu_new_group() { QVERIFY(true); } -void TestADMC::object_menu_move() { +void ADMCTest::object_menu_move() { const QString parent = test_arena_dn(); const QString user_name = TEST_USER; @@ -288,7 +288,7 @@ void TestADMC::object_menu_move() { QVERIFY(true); } -void TestADMC::object_menu_reset_password() { +void ADMCTest::object_menu_reset_password() { const QString user_name = TEST_USER; const QString user_dn = test_object_dn(user_name, CLASS_USER); const QString password = "pass123!"; @@ -331,7 +331,7 @@ void TestADMC::object_menu_reset_password() { QVERIFY2(password_changed, "Failed to change password"); } -void TestADMC::object_menu_disable_enable_account() { +void ADMCTest::object_menu_disable_enable_account() { auto test_disable_enable = [=](const bool initial_disabled_state) { const QString dn = @@ -383,7 +383,7 @@ void TestADMC::object_menu_disable_enable_account() { test_disable_enable(false); } -void TestADMC::object_menu_find_simple() +void ADMCTest::object_menu_find_simple() { const QString parent = test_arena_dn(); @@ -424,7 +424,7 @@ void TestADMC::object_menu_find_simple() QVERIFY2(find_results->model()->rowCount(), "No results found"); } -void TestADMC::object_menu_find_advanced() +void ADMCTest::object_menu_find_advanced() { const QString parent = test_arena_dn(); @@ -467,7 +467,7 @@ void TestADMC::object_menu_find_advanced() QVERIFY2(find_results->model()->rowCount(), "No results found"); } -void TestADMC::object_menu_add_to_group() { +void ADMCTest::object_menu_add_to_group() { const QString parent = test_arena_dn(); const QString user_name = TEST_USER; @@ -532,7 +532,7 @@ void TestADMC::object_menu_add_to_group() { QVERIFY(true); } -void TestADMC::basic_rename(const QString& newname) { +void ADMCTest::basic_rename(const QString& newname) { QTest::keyClicks(QApplication::focusWidget(), "A", Qt::ControlModifier); QTest::keyClick(QApplication::focusWidget(), Qt::Key_Delete); @@ -540,14 +540,14 @@ void TestADMC::basic_rename(const QString& newname) { QTest::keyClicks(QApplication::focusWidget(), newname); }; -void TestADMC::object_menu_rename_computer() { +void ADMCTest::object_menu_rename_computer() { const QString computer_name = TEST_COMPUTER; const QString computer_renamed = computer_name + "2"; test_object_rename(computer_name, computer_renamed, CLASS_COMPUTER, basic_rename); } -void TestADMC::object_menu_rename_user() +void ADMCTest::object_menu_rename_user() { const QString user_name = TEST_USER; const QString user_renamed = user_name + "2"; @@ -555,7 +555,7 @@ void TestADMC::object_menu_rename_user() test_object_rename(user_name, user_renamed, CLASS_USER, basic_rename); } -void TestADMC::object_menu_rename_ou() +void ADMCTest::object_menu_rename_ou() { const QString ou_name = TEST_OU; const QString ou_renamed = ou_name + "2"; @@ -563,22 +563,22 @@ void TestADMC::object_menu_rename_ou() test_object_rename(ou_name, ou_renamed, CLASS_OU, basic_rename); } -void TestADMC::object_menu_rename_group() +void ADMCTest::object_menu_rename_group() { const QString group_name = TEST_GROUP; const QString group_renamed = group_name + "2"; auto group_rename = [this](const QString& newname) { - TestADMC::basic_rename(newname); + ADMCTest::basic_rename(newname); tab(); - TestADMC::basic_rename(newname); + ADMCTest::basic_rename(newname); }; test_object_rename(group_name, group_renamed, CLASS_GROUP, group_rename); } -QString TestADMC::test_arena_dn() { +QString ADMCTest::test_arena_dn() { const QString head_dn = AD()->domain_head(); const QString dn = QString("OU=test-arena,%1").arg(head_dn); @@ -586,14 +586,14 @@ QString TestADMC::test_arena_dn() { } // TODO: for OU's need to change from cn to ou, SO make a f-n in ad_utils.cpp that does what's currently in CreateDialog::accept(). Takes object name, parent dn and object class, returns dn. -QString TestADMC::test_object_dn(const QString &name, const QString &object_class) { +QString ADMCTest::test_object_dn(const QString &name, const QString &object_class) { const QString parent = test_arena_dn(); const QString dn = dn_from_name_and_parent(name, parent, object_class); return dn; } -void TestADMC::test_object_rename(const QString& oldname, const QString& newname, const QString &object_class, std::function rename_callback) { +void ADMCTest::test_object_rename(const QString& oldname, const QString& newname, const QString &object_class, std::function rename_callback) { const QString parent = test_arena_dn(); const QString dn = test_object_dn(oldname, object_class); @@ -618,14 +618,14 @@ void TestADMC::test_object_rename(const QString& oldname, const QString& newname QVERIFY2(object_exists(dn_after_rename), "Renamed object doesn't exist"); } -bool TestADMC::object_exists(const QString &dn) { +bool ADMCTest::object_exists(const QString &dn) { const QHash search_results = AD()->search(QString(), QList(), SearchScope_Object, dn); const bool exists = (search_results.size() == 1); return exists; } -void TestADMC::tab(const int n) { +void ADMCTest::tab(const int n) { static int tab_number = 0; for (int i = 0; i < n; i++) { if (PRINT_FOCUS_WIDGET_BEFORE_TAB) { @@ -642,7 +642,7 @@ void TestADMC::tab(const int n) { // Go down the list of objects by pressing Down arrow // until current item's dn equals to target dn -void TestADMC::navigate_until_object(QTreeView *view, const QString &target_dn) { +void ADMCTest::navigate_until_object(QTreeView *view, const QString &target_dn) { QModelIndex prev_index; while (true) { @@ -670,9 +670,9 @@ void TestADMC::navigate_until_object(QTreeView *view, const QString &target_dn) } } -void TestADMC::wait_for_widget_exposed(QWidget *widget) { +void ADMCTest::wait_for_widget_exposed(QWidget *widget) { const bool window_became_exposed = QTest::qWaitForWindowExposed(widget, 1000); QVERIFY(window_became_exposed); } -QTEST_MAIN(TestADMC) +QTEST_MAIN(ADMCTest) diff --git a/tests/test_admc.h b/tests/admc_test.h similarity index 97% rename from tests/test_admc.h rename to tests/admc_test.h index 29a569e1..39b77386 100644 --- a/tests/test_admc.h +++ b/tests/admc_test.h @@ -17,8 +17,8 @@ * along with this program. If not, see . */ -#ifndef TEST_ADMC_H -#define TEST_ADMC_H +#ifndef ADMC_TEST_H +#define ADMC_TEST_H /* * ADMC - AD Management Center @@ -49,7 +49,7 @@ class QString; class QTreeView; class QPushButton; -class TestADMC : public QObject { +class ADMCTest : public QObject { Q_OBJECT private slots: @@ -124,4 +124,4 @@ private: void wait_for_widget_exposed(QWidget *widget); }; -#endif /* TEST_ADMC_H */ +#endif /* ADMC_TEST_H */