blob: e0d24413250f7fbb3a52c650d11c1a3d379d438f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
#!/usr/bin/env bash
export test_description="Tests pass otp insert commands"
. ./setup.sh
test_expect_success 'Reads non-terminal input' '
uri="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example"
test_pass_init &&
"$PASS" otp insert passfile <<< "$uri" &&
[[ $("$PASS" show passfile) == "$uri" ]]
'
test_expect_success 'Reads terminal input in noecho mode' '
uri="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example"
test_pass_init
expect <<EOD
spawn "$PASS" otp insert passfile
expect {
"Enter" {
send "$uri\r"
exp_continue
}
"Retype" {
send "$uri\r"
exp_continue
}
eof
}
EOD
[[ $("$PASS" show passfile) == "$uri" ]]
'
test_expect_success 'Reads terminal input in echo mode' '
uri="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example"
test_pass_init
expect <<EOD
spawn "$PASS" otp insert -e passfile
expect {
"Enter" {
send "$uri\r"
exp_continue
}
eof
}
EOD
[[ $("$PASS" show passfile) == "$uri" ]]
'
test_expect_success 'Prompts before overwriting key URI' '
uri1="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Foo"
uri2="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Bar"
test_pass_init
"$PASS" otp insert passfile <<< "$uri1" || return 1
expect <<EOD
spawn "$PASS" otp insert -e passfile
expect {
"Enter" {
send "$uri2\r"
exp_continue
}
"An entry already exists" {
send "n\r"
exp_continue
}
eof
}
EOD
[[ $("$PASS" show passfile) == "$uri1" ]]
'
test_expect_success 'Generates default pass-name from label' '
uri="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example"
test_pass_init
"$PASS" otp insert <<< "$uri"
[[ $("$PASS" show "Example/alice@google.com") == "$uri" ]]
'
test_expect_success 'Prompts when inserting default pass-name from terminal' '
uri="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example"
test_pass_init
expect <<EOD
spawn "$PASS" otp insert -e
expect {
"Enter" {
send "$uri\r"
exp_continue
}
"Insert into Example/alice@google.com?" {
send "y\r"
exp_continue
}
eof
}
EOD
[[ $("$PASS" show "Example/alice@google.com") == "$uri" ]]
'
test_expect_success 'Force overwrites key URI' '
uri1="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Foo"
uri2="otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Bar"
test_pass_init &&
"$PASS" otp insert passfile <<< "$uri1" &&
"$PASS" otp insert -f passfile <<< "$uri2" &&
[[ $("$PASS" show passfile) == "$uri2" ]]
'
test_done
|