[2/2] testsuite: fix deterministic password test in image account extension

Message ID 20261026121844.663746-2-clara.kowalsky@siemens.com
State New
Headers show
Series [1/2] testsuite: fix run_privileged_cmd in image account extension unit test | expand

Commit Message

Clara Kowalsky Oct. 26, 2026, 12:18 p.m. UTC
The test expected two process.run calls which worked for the original
crypt-based implementation. Commit 6144daf9 replaced crypt with an
openssl passwd subprocess, adding a third call, but did not update the
test.
Also mock the openssl output and verify the expected salt and password
input.

Fixes: 6144daf9 ("image-account-extension: Avoid deprecated crypt module")
Signed-off-by: Clara Kowalsky <clara.kowalsky@siemens.com>
---
 testsuite/unittests/test_image_account_extension.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Moessbauer, Felix Oct. 26, 2026, 12:41 p.m. UTC | #1
On Mon, 2026-10-26 at 13:18 +0100, 'Clara Kowalsky' via isar-users
wrote:
> The test expected two process.run calls which worked for the original
> crypt-based implementation. Commit 6144daf9 replaced crypt with an
> openssl passwd subprocess, adding a third call, but did not update the
> test.
> Also mock the openssl output and verify the expected salt and password
> input.

Hi,

the changes itself are fine. But we need to ensure these tests are also
executed via our testsuite. Please add a third commit that registers
them with the "fast" tests.

Felix

> 
> Fixes: 6144daf9 ("image-account-extension: Avoid deprecated crypt module")
> Signed-off-by: Clara Kowalsky <clara.kowalsky@siemens.com>
> ---
>  testsuite/unittests/test_image_account_extension.py | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/testsuite/unittests/test_image_account_extension.py b/testsuite/unittests/test_image_account_extension.py
> index ecadc15f..fcc23506 100644
> --- a/testsuite/unittests/test_image_account_extension.py
> +++ b/testsuite/unittests/test_image_account_extension.py
> @@ -117,11 +117,16 @@ class TestImageAccountExtensionImageCreateUsers(
>          )
>  
>          with patch.object(process, 'run') as run_mock:
> +            run_mock.return_value = (encrypted_password, '')
>              image_create_users(d)
>  
>          password_data = f"{test_user}:{encrypted_password}".encode()
>  
> -        assert run_mock.call_count == 2
> +        assert run_mock.call_count == 3
> +        run_mock.assert_any_call([
> +            'openssl', 'passwd', '-6', '--salt', 'eb2e2a12cccc88a',
> +            cleartext_password,
> +        ])
>          assert run_mock.call_args[0][1] == password_data
>  
>  
> -- 
> 2.55.0
> 
> -- 
> You received this message because you are subscribed to the Google Groups "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/isar-users/20261026121844.663746-2-clara.kowalsky%40siemens.com.

Patch

diff --git a/testsuite/unittests/test_image_account_extension.py b/testsuite/unittests/test_image_account_extension.py
index ecadc15f..fcc23506 100644
--- a/testsuite/unittests/test_image_account_extension.py
+++ b/testsuite/unittests/test_image_account_extension.py
@@ -117,11 +117,16 @@  class TestImageAccountExtensionImageCreateUsers(
         )
 
         with patch.object(process, 'run') as run_mock:
+            run_mock.return_value = (encrypted_password, '')
             image_create_users(d)
 
         password_data = f"{test_user}:{encrypted_password}".encode()
 
-        assert run_mock.call_count == 2
+        assert run_mock.call_count == 3
+        run_mock.assert_any_call([
+            'openssl', 'passwd', '-6', '--salt', 'eb2e2a12cccc88a',
+            cleartext_password,
+        ])
         assert run_mock.call_args[0][1] == password_data