Skip to content

Smartcard multi token tests#8519

Draft
krishnavema wants to merge 2 commits intoSSSD:masterfrom
krishnavema:smartcard-multi-token-tests
Draft

Smartcard multi token tests#8519
krishnavema wants to merge 2 commits intoSSSD:masterfrom
krishnavema:smartcard-multi-token-tests

Conversation

@krishnavema
Copy link
Copy Markdown
Contributor

No description provided.

@krishnavema krishnavema requested a review from spoore1 March 15, 2026 16:12
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces system tests for multi-token smartcard authentication. It includes new helper functions for setting up tokens and authenticating, along with several test cases covering different scenarios with two tokens. A key change is updating the sssd-test-framework dependency to a personal fork to support these new tests. My review focuses on the risk associated with this dependency and on improving the maintainability and robustness of the new test code by addressing magic numbers and polling logic.

git+https://github.com/next-actions/pytest-tier
git+https://github.com/next-actions/pytest-output
git+https://github.com/SSSD/sssd-test-framework
git+https://github.com/krishnavema/sssd-test-framework@multi-token-smart-card-support
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

This change introduces a dependency on a personal fork (krishnavema/sssd-test-framework). While this might be acceptable for development, it poses a security and maintenance risk for the main branch. The changes from this fork should be merged into the upstream SSSD/sssd-test-framework repository, and the dependency should point to an official release or commit from the upstream repository before this pull request is merged.

git+https://github.com/SSSD/sssd-test-framework

Comment on lines +16 to +18
TOKEN1_LABEL = "SC_Token_1"
TOKEN2_LABEL = "SC_Token_2"
TOKEN_PIN = "123456"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

To improve readability and maintainability of the polling loop in authenticate_with_smartcard, it's good practice to define the magic numbers used there as constants here.

TOKEN1_LABEL = "SC_Token_1"
TOKEN2_LABEL = "SC_Token_2"
TOKEN_PIN = "123456"

# Constants for the user resolvability polling loop
USER_RESOLVABLE_ATTEMPTS = 15
USER_RESOLVABLE_INTERVAL_S = 2
USER_RESOLVABLE_CACHE_EXPIRY_ATTEMPT = 3

Copy link
Copy Markdown
Contributor

@spoore1 spoore1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good start. I've run into a couple snags with testing but basics are working so here's a start for review.

@krishnavema krishnavema force-pushed the smartcard-multi-token-tests branch from 2592a18 to 1322416 Compare March 20, 2026 08:01
@krishnavema krishnavema marked this pull request as ready for review March 20, 2026 08:02
@krishnavema krishnavema requested a review from spoore1 March 20, 2026 08:03
@alexey-tikhonov
Copy link
Copy Markdown
Member

'changes requested': all platforms fail test_smartcard__two_tokens_match_on_both

@spoore1
Copy link
Copy Markdown
Contributor

spoore1 commented Mar 26, 2026

'changes requested': all platforms fail test_smartcard__two_tokens_match_on_both

We're investigating this issue now. I hadn't looked at the test failures yet because I was hitting this one locally.

@krishnavema krishnavema marked this pull request as draft March 27, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants