From 2b8309eb04f62d9064a10bec78c542ce596b06b4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 13 Apr 2021 16:01:07 +0200 Subject: [PATCH] [users] Add tests for autologin settings - four possibilities for old and new keys - 6e is the check for not-actually-set, to track defaults --- src/modules/users/Tests.cpp | 40 ++++++++++++++++++++++ src/modules/users/tests/6a-issue-1672.conf | 7 ++++ src/modules/users/tests/6b-issue-1672.conf | 7 ++++ src/modules/users/tests/6c-issue-1672.conf | 7 ++++ src/modules/users/tests/6d-issue-1672.conf | 7 ++++ src/modules/users/tests/6e-issue-1672.conf | 7 ++++ 6 files changed, 75 insertions(+) create mode 100644 src/modules/users/tests/6a-issue-1672.conf create mode 100644 src/modules/users/tests/6b-issue-1672.conf create mode 100644 src/modules/users/tests/6c-issue-1672.conf create mode 100644 src/modules/users/tests/6d-issue-1672.conf create mode 100644 src/modules/users/tests/6e-issue-1672.conf diff --git a/src/modules/users/Tests.cpp b/src/modules/users/Tests.cpp index 4106cd785..acb0c9d6d 100644 --- a/src/modules/users/Tests.cpp +++ b/src/modules/users/Tests.cpp @@ -44,6 +44,9 @@ private Q_SLOTS: void testHostActions(); void testPasswordChecks(); void testUserPassword(); + + void testAutoLogin_data(); + void testAutoLogin(); }; UserTests::UserTests() {} @@ -339,6 +342,43 @@ UserTests::testUserPassword() } } +void +UserTests::testAutoLogin_data() +{ + QTest::addColumn< QString >( "filename" ); + QTest::addColumn< bool >( "autoLoginIsSet" ); + QTest::addColumn< QString >( "autoLoginGroupName" ); + + QTest::newRow( "old, old" ) << "tests/6a-issue-1672.conf" << true << "derp"; + QTest::newRow( "old, new" ) << "tests/6b-issue-1672.conf" << true << "derp"; + QTest::newRow( "new, old" ) << "tests/6c-issue-1672.conf" << true << "derp"; + QTest::newRow( "new, new" ) << "tests/6d-issue-1672.conf" << true << "derp"; + QTest::newRow( "default" ) << "tests/6e-issue-1672.conf" << false << QString(); +} + +void +UserTests::testAutoLogin() +{ + QFETCH( QString, filename ); + QFETCH( bool, autoLoginIsSet ); + QFETCH( QString, autoLoginGroupName ); + + // BUILD_AS_TEST is the source-directory path + QFile fi( QString( "%1/%2" ).arg( BUILD_AS_TEST, filename ) ); + QVERIFY( fi.exists() ); + + bool ok = false; + const auto map = CalamaresUtils::loadYaml( fi, &ok ); + QVERIFY( ok ); + QVERIFY( map.count() > 0 ); + + Config c; + c.setConfigurationMap( map ); + + QCOMPARE( c.doAutoLogin(), autoLoginIsSet ); + QCOMPARE( c.autoLoginGroup(), autoLoginGroupName ); +} + QTEST_GUILESS_MAIN( UserTests ) diff --git a/src/modules/users/tests/6a-issue-1672.conf b/src/modules/users/tests/6a-issue-1672.conf new file mode 100644 index 000000000..b8ba24266 --- /dev/null +++ b/src/modules/users/tests/6a-issue-1672.conf @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +--- +autologinGroup: derp +doAutologin: true + diff --git a/src/modules/users/tests/6b-issue-1672.conf b/src/modules/users/tests/6b-issue-1672.conf new file mode 100644 index 000000000..a54e71e01 --- /dev/null +++ b/src/modules/users/tests/6b-issue-1672.conf @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +--- +autologinGroup: derp +doAutoLogin: true + diff --git a/src/modules/users/tests/6c-issue-1672.conf b/src/modules/users/tests/6c-issue-1672.conf new file mode 100644 index 000000000..5d12bd71e --- /dev/null +++ b/src/modules/users/tests/6c-issue-1672.conf @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +--- +autoLoginGroup: derp +doAutologin: true + diff --git a/src/modules/users/tests/6d-issue-1672.conf b/src/modules/users/tests/6d-issue-1672.conf new file mode 100644 index 000000000..80976bf64 --- /dev/null +++ b/src/modules/users/tests/6d-issue-1672.conf @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +--- +autoLoginGroup: derp +doAutoLogin: true + diff --git a/src/modules/users/tests/6e-issue-1672.conf b/src/modules/users/tests/6e-issue-1672.conf new file mode 100644 index 000000000..df299b480 --- /dev/null +++ b/src/modules/users/tests/6e-issue-1672.conf @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +--- +doautologin: true +autologingroup: wheel +