@@ -78,7 +78,7 @@ func TestRejectRequest(t *testing.T) {
7878 t .Fatalf ("Parsing canned cert failed: %v" , err )
7979 }
8080 cert := pubKey .(* ssh.Certificate )
81- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
81+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
8282 if err != nil {
8383 t .Fatalf ("Should have succeeded. Failed with: %v" , err )
8484 }
@@ -87,7 +87,7 @@ func TestRejectRequest(t *testing.T) {
8787 if err != nil {
8888 t .Fatalf ("Should have succeeded. Failed with: %v" , err )
8989 }
90- err = requestHandler .addConfirmation ("DEADBEEFDEADBEEF" , "23:10:8d:d0:54:90:d5:d1:2e:4d:05:fe:4b:54:29:e4" , envConfig , false )
90+ err = requestHandler .addConfirmation ("DEADBEEFDEADBEEF" , "23:10:8d:d0:54:90:d5:d1:2e:4d:05:fe:4b:54:29:e4" , envConfig )
9191 if err == nil {
9292 t .Fatalf ("Sign after reject should fail." )
9393 }
@@ -104,12 +104,12 @@ func TestRejectRequestAfterSigning(t *testing.T) {
104104 t .Fatalf ("Parsing canned cert failed: %v" , err )
105105 }
106106 cert := pubKey .(* ssh.Certificate )
107- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
107+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
108108 if err != nil {
109109 t .Fatalf ("Should have succeeded. Failed with: %v" , err )
110110 }
111111
112- err = requestHandler .addConfirmation ("DEADBEEFDEADBEEF" , "23:10:8d:d0:54:90:d5:d1:2e:4d:05:fe:4b:54:29:e4" , envConfig , false )
112+ err = requestHandler .addConfirmation ("DEADBEEFDEADBEEF" , "23:10:8d:d0:54:90:d5:d1:2e:4d:05:fe:4b:54:29:e4" , envConfig )
113113 if err != nil {
114114 t .Fatalf ("Sign should have worked. It failed: %v" , err )
115115 }
@@ -119,7 +119,7 @@ func TestRejectRequestAfterSigning(t *testing.T) {
119119 t .Fatalf ("Should have succeeded. Failed with: %v" , err )
120120 }
121121
122- err = requestHandler .addConfirmation ("DEADBEEFDEADBEEF" , "23:10:8d:d0:54:90:d5:d1:2e:4d:05:fe:4b:54:29:e4" , envConfig , false )
122+ err = requestHandler .addConfirmation ("DEADBEEFDEADBEEF" , "23:10:8d:d0:54:90:d5:d1:2e:4d:05:fe:4b:54:29:e4" , envConfig )
123123 if err == nil {
124124 t .Fatalf ("Sign after reject should fail." )
125125 }
@@ -136,7 +136,7 @@ func TestSaveForeverCertDisallowed(t *testing.T) {
136136 t .Fatalf ("Parsing canned cert failed: %v" , err )
137137 }
138138 cert := pubKey .(* ssh.Certificate )
139- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
139+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
140140 if err == nil {
141141 t .Fatalf ("Should have failed because cert never expires." )
142142 }
@@ -146,7 +146,7 @@ func TestSaveForeverCertDisallowed(t *testing.T) {
146146 t .Fatalf ("Parsing canned cert failed: %v" , err )
147147 }
148148 cert = pubKey .(* ssh.Certificate )
149- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
149+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
150150 if err == nil {
151151 t .Fatalf ("Should have failed because cert expires in 2025." )
152152 }
@@ -163,7 +163,7 @@ func TestSaveForeverCertAllowed(t *testing.T) {
163163 t .Fatalf ("Parsing canned cert failed: %v" , err )
164164 }
165165 cert := pubKey .(* ssh.Certificate )
166- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
166+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
167167 if err != nil {
168168 t .Fatalf ("Should have worked, failed with: %v" , err )
169169 }
@@ -173,12 +173,32 @@ func TestSaveForeverCertAllowed(t *testing.T) {
173173 t .Fatalf ("Parsing canned cert failed: %v" , err )
174174 }
175175 cert = pubKey .(* ssh.Certificate )
176- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF2" , 1 , cert )
176+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF2" , 1 , cert )
177177 if err != nil {
178178 t .Fatalf ("Should have worked, failed with: %v" , err )
179179 }
180180}
181181
182+ func TestSaveRequestAutoSign (t * testing.T ) {
183+ allConfig := SetupSignerdConfig (- 1 , 0 )
184+ environment := "testing"
185+ envConfig := allConfig [environment ]
186+ requestHandler := makeCertRequestHandler (allConfig )
187+
188+ pubKey , _ , _ , _ , err := ssh .ParseAuthorizedKey ([]byte (boringUserCertString ))
189+ if err != nil {
190+ t .Fatalf ("Parsing canned cert failed: %v" , err )
191+ }
192+ cert := pubKey .(* ssh.Certificate )
193+ signed , err := requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
194+ if err != nil {
195+ t .Fatalf ("Should have succeeded. Failed with: %v" , err )
196+ }
197+ if ! signed {
198+ t .Fatal ("Should have auto signed. But we didn't." )
199+ }
200+ }
201+
182202func TestSaveRequestValidCert (t * testing.T ) {
183203 allConfig := SetupSignerdConfig (1 , 0 )
184204 environment := "testing"
@@ -190,29 +210,29 @@ func TestSaveRequestValidCert(t *testing.T) {
190210 t .Fatalf ("Parsing canned cert failed: %v" , err )
191211 }
192212 cert := pubKey .(* ssh.Certificate )
193- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
213+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
194214 if err != nil {
195215 t .Fatalf ("Should have succeeded. Failed with: %v" , err )
196216 }
197217
198- err = requestHandler .saveSigningRequest (envConfig , environment , "" , "DEADBEEFDEAD1111" , 1 , cert )
218+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "" , "DEADBEEFDEAD1111" , 1 , cert )
199219 if err == nil {
200220 t .Fatalf ("Should have failed, reason was missing." )
201221 }
202- err = requestHandler .saveSigningRequest (envConfig , "" , "reason: testing" , "DEADBEEFDEAD2222" , 1 , cert )
222+ _ , err = requestHandler .saveSigningRequest (envConfig , "" , "reason: testing" , "DEADBEEFDEAD2222" , 1 , cert )
203223 if err == nil {
204224 t .Fatalf ("Should have failed, environment was missing." )
205225 }
206- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "EEEFDF" , 1 , cert )
226+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "EEEFDF" , 1 , cert )
207227 if err == nil {
208228 t .Fatalf ("Should have failed with invalid request id (too short)." )
209229 }
210230
211- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "IAM_A_DUPLICATE_ID" , 1 , cert )
231+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "IAM_A_DUPLICATE_ID" , 1 , cert )
212232 if err != nil {
213233 t .Fatalf ("Should have succeeded. Failed with: %v" , err )
214234 }
215- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "IAM_A_DUPLICATE_ID" , 1 , cert )
235+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "IAM_A_DUPLICATE_ID" , 1 , cert )
216236 if err == nil {
217237 t .Fatalf ("Should have failed with duplicate error" )
218238 }
@@ -229,7 +249,7 @@ func TestSaveRequestInvalidCert(t *testing.T) {
229249 t .Fatalf ("Parsing canned cert failed: %v" , err )
230250 }
231251 cert := pubKey .(* ssh.Certificate )
232- err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
252+ _ , err = requestHandler .saveSigningRequest (envConfig , environment , "reason: testing" , "DEADBEEFDEADBEEF" , 1 , cert )
233253 if err == nil {
234254 t .Fatalf ("Should have failed with fingerprint not in list error." )
235255 }
0 commit comments