Skip to content

Commit 0745de3

Browse files
committed
pam/integration-tests: Re-implement Wait pattern to improve debugging
In case `Wait` fails we don't have relevant debugging output, so let's just simulate it by using Wait+Screen regex. See: charmbracelet/vhs#533
1 parent 49c514d commit 0745de3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+104
-98
lines changed

pam/integration-tests/native_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ func TestNativeAuthenticate(t *testing.T) {
163163
tape: "switch_local_broker",
164164
tapeSettings: []tapeSetting{{vhsHeight, 700}},
165165
clientOptions: clientOptions{PamUser: "user-integration-switch-broker"},
166-
tapeVariables: map[string]string{"AUTHD_TAPE_FINAL_WAIT_PATTERN": ""},
166+
tapeVariables: map[string]string{"AUTHD_TAPE_FINAL_WAIT_PATTERN": `/>[\n]*/`},
167167
},
168168
"Authenticate user and add it to local group": {
169169
tape: "local_group",

pam/integration-tests/testdata/tapes/cli/bad_password.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-needs-reset"
10-
Wait /Username: user-needs-reset$/
10+
Wait /Username: user-needs-reset\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/form_with_button.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-form-w-button"
10-
Wait /Username: user-integration-form-w-button$/
10+
Wait /Username: user-integration-form-w-button\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/local_broker.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-local-broker"
10-
Wait /Username: user-local-broker$/
10+
Wait /Username: user-local-broker\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/local_group.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-local-groups"
10-
Wait /Username: user-local-groups$/
10+
Wait /Username: user-local-groups\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/local_user.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "root"
10-
Wait /Username: root$/
10+
Wait /Username: root\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/mandatory_password_reset.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-needs-reset-integration-mandatory"
10-
Wait /Username: user-needs-reset-integration-mandatory$/
10+
Wait /Username: user-needs-reset-integration-mandatory\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/max_attempts.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-max-attempts"
10-
Wait /Username: user-integration-max-attempts$/
10+
Wait /Username: user-integration-max-attempts\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/mfa_auth.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-mfa"
10-
Wait /Username: user-mfa$/
10+
Wait /Username: user-mfa\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/mfa_reset_pwquality_auth.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-mfa-with-reset"
10-
Wait /Username: user-mfa-with-reset$/
10+
Wait /Username: user-mfa-with-reset\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/optional_password_reset_skip.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-can-reset"
10-
Wait /Username: user-can-reset$/
10+
Wait /Username: user-can-reset\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_auth_fail.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-max-attempts"
10-
Wait /Username: user-integration-max-attempts$/
10+
Wait /Username: user-integration-max-attempts\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_bad_password.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-bad-password"
10-
Wait /Username: user-integration-bad-password$/
10+
Wait /Username: user-integration-bad-password\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_local_broker.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-local-broker"
10-
Wait /Username: user-local-broker$/
10+
Wait /Username: user-local-broker\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_mfa.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-mfa"
10-
Wait /Username: user-mfa$/
10+
Wait /Username: user-mfa\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_not_changed.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-same-new-password"
10-
Wait /Username: user-integration-same-new-password$/
10+
Wait /Username: user-integration-same-new-password\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_not_confirmed.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-wrong-confirmation"
10-
Wait /Username: user-integration-wrong-confirmation$/
10+
Wait /Username: user-integration-wrong-confirmation\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_rejected.tape

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-invalid-new-password"
10-
Wait /Username: user-integration-invalid-new-password$/
10+
Wait /Username: user-integration-invalid-new-password\n/
1111
Show
1212

1313
Hide
@@ -67,12 +67,12 @@ ClearTerminal
6767
Hide
6868
Type "${AUTHD_TEST_TAPE_COMMAND}"
6969
Enter
70-
Wait /Username: user name$/
70+
Wait /Username: user name\n/
7171
Show
7272

7373
Hide
7474
Type "user-integration-invalid-new-password"
75-
Wait /Username: user-integration-invalid-new-password$/
75+
Wait /Username: user-integration-invalid-new-password\n/
7676
Show
7777

7878
Hide

pam/integration-tests/testdata/tapes/cli/passwd_sigint.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-sigint"
10-
Wait /Username: user-integration-sigint$/
10+
Wait /Username: user-integration-sigint\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/passwd_simple.tape

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user1"
10-
Wait /Username: user1$/
10+
Wait /Username: user1\n/
1111
Show
1212

1313
Hide
@@ -50,12 +50,12 @@ ClearTerminal
5050
Hide
5151
Type "${AUTHD_TEST_TAPE_LOGIN_COMMAND}"
5252
Enter
53-
Wait /Username: user name$/
53+
Wait /Username: user name\n/
5454
Show
5555

5656
Hide
5757
Type "user1"
58-
Wait+Screen /Username: user1\n/
58+
Wait /Username: user1\n/
5959
Show
6060

6161
Hide

pam/integration-tests/testdata/tapes/cli/passwd_unexistent_user.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-unexistent"
10-
Wait /Username: user-unexistent$/
10+
Wait /Username: user-unexistent\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/qr_code_quick_regenerate.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-qrcode-static-regenerate"
10-
Wait /Username: user-integration-qrcode-static-regenerate$/
10+
Wait /Username: user-integration-qrcode-static-regenerate\n/
1111
Show
1212

1313
Hide

pam/integration-tests/testdata/tapes/cli/remember_broker_and_mode.tape

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-remember-mode"
10-
Wait /Username: user-integration-remember-mode$/
10+
Wait /Username: user-integration-remember-mode\n/
1111
Show
1212

1313
Hide
@@ -41,12 +41,12 @@ Hide
4141
Wait
4242
Type "${AUTHD_TEST_TAPE_COMMAND}"
4343
Enter
44-
Wait /Username: user name$/
44+
Wait /Username: user name\n/
4545
Show
4646

4747
Hide
4848
Type "user-integration-remember-mode"
49-
Wait /Username: user-integration-remember-mode$/
49+
Wait /Username: user-integration-remember-mode\n/
5050
Show
5151

5252
Hide

pam/integration-tests/testdata/tapes/cli/sigint.tape

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Hide
22
Wait
33
Type "${AUTHD_TEST_TAPE_COMMAND}"
44
Enter
5-
Wait /Username: user name$/
5+
Wait /Username: user name\n/
66
Show
77

88
Hide
99
Type "user-integration-sigint"
10-
Wait /Username: user-integration-sigint$/
10+
Wait /Username: user-integration-sigint\n/
1111
Show
1212

1313
Hide

0 commit comments

Comments
 (0)