@@ -43,7 +43,11 @@ func TestParseCredentialCreationResponse(t *testing.T) {
43
43
Type : "public-key" ,
44
44
},
45
45
RawID : byteID ,
46
+ ClientExtensionResults : AuthenticationExtensionsClientOutputs {
47
+ "appid" : true ,
48
+ },
46
49
},
50
+ Transports : []AuthenticatorTransport {USB , NFC , "fake" },
47
51
Response : ParsedAttestationResponse {
48
52
CollectedClientData : CollectedClientData {
49
53
Type : CeremonyType ("webauthn.create" ),
@@ -72,13 +76,17 @@ func TestParseCredentialCreationResponse(t *testing.T) {
72
76
ID : "6xrtBhJQW6QU4tOaB4rrHaS2Ks0yDDL_q8jDC16DEjZ-VLVf4kCRkvl2xp2D71sTPYns-exsHQHTy3G-zJRK8g" ,
73
77
},
74
78
RawID : byteID ,
79
+ ClientExtensionResults : AuthenticationExtensionsClientOutputs {
80
+ "appid" : true ,
81
+ },
75
82
},
76
83
AttestationResponse : AuthenticatorAttestationResponse {
77
84
AuthenticatorResponse : AuthenticatorResponse {
78
85
ClientDataJSON : byteClientDataJSON ,
79
86
},
80
87
AttestationObject : byteAttObject ,
81
88
},
89
+ Transports : []string {"usb" , "nfc" , "fake" },
82
90
},
83
91
},
84
92
wantErr : false ,
@@ -93,22 +101,25 @@ func TestParseCredentialCreationResponse(t *testing.T) {
93
101
return
94
102
}
95
103
if ! reflect .DeepEqual (got .ClientExtensionResults , tt .want .ClientExtensionResults ) {
96
- t .Errorf ("ClientExtensionResults = %v \n want: %v" , got , tt .want )
104
+ t .Errorf ("Extensions = %v \n want: %v" , got .ClientExtensionResults , tt .want .ClientExtensionResults )
105
+ }
106
+ if ! reflect .DeepEqual (got .Transports , tt .want .Transports ) {
107
+ t .Errorf ("Transports = %v \n want: %v" , got .Transports , tt .want .Transports )
97
108
}
98
109
if ! reflect .DeepEqual (got .ID , tt .want .ID ) {
99
110
t .Errorf ("ID = %v \n want: %v" , got , tt .want )
100
111
}
101
112
if ! reflect .DeepEqual (got .ParsedCredential , tt .want .ParsedCredential ) {
102
- t .Errorf ("ParsedCredential = %v \n want: %v" , got , tt .want )
113
+ t .Errorf ("ParsedCredential = %v \n want: %v" , got . ParsedCredential , tt .want . ParsedCredential )
103
114
}
104
115
if ! reflect .DeepEqual (got .ParsedPublicKeyCredential , tt .want .ParsedPublicKeyCredential ) {
105
- t .Errorf ("ParsedPublicKeyCredential = %v \n want: %v" , got , tt .want )
116
+ t .Errorf ("ParsedPublicKeyCredential = %v \n want: %v" , got . ParsedPublicKeyCredential , tt .want . ParsedPublicKeyCredential )
106
117
}
107
118
if ! reflect .DeepEqual (got .Raw , tt .want .Raw ) {
108
- t .Errorf ("Raw = %v \n want: %v" , got , tt .want )
119
+ t .Errorf ("Raw = %v \n want: %v" , got . Raw , tt .want . Raw )
109
120
}
110
121
if ! reflect .DeepEqual (got .RawID , tt .want .RawID ) {
111
- t .Errorf ("RawID = %v \n want: %v" , got , tt .want )
122
+ t .Errorf ("RawID = %v \n want: %v" , got . RawID , tt .want . RawID )
112
123
}
113
124
// Unmarshall CredentialPublicKey
114
125
var pkWant interface {}
@@ -236,6 +247,10 @@ var testCredentialRequestBody = `{
236
247
"id":"6xrtBhJQW6QU4tOaB4rrHaS2Ks0yDDL_q8jDC16DEjZ-VLVf4kCRkvl2xp2D71sTPYns-exsHQHTy3G-zJRK8g",
237
248
"rawId":"6xrtBhJQW6QU4tOaB4rrHaS2Ks0yDDL_q8jDC16DEjZ-VLVf4kCRkvl2xp2D71sTPYns-exsHQHTy3G-zJRK8g",
238
249
"type":"public-key",
250
+ "transports":["usb","nfc","fake"],
251
+ "clientExtensionResults":{
252
+ "appid":true
253
+ },
239
254
"response":{
240
255
"attestationObject":"o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVjEdKbqkhPJnC90siSSsyDPQCYqlMGpUKA5fyklC2CEHvBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAQOsa7QYSUFukFOLTmgeK6x2ktirNMgwy_6vIwwtegxI2flS1X-JAkZL5dsadg-9bEz2J7PnsbB0B08txvsyUSvKlAQIDJiABIVggLKF5xS0_BntttUIrm2Z2tgZ4uQDwllbdIfrrBMABCNciWCDHwin8Zdkr56iSIh0MrB5qZiEzYLQpEOREhMUkY6q4Vw",
241
256
"clientDataJSON":"eyJjaGFsbGVuZ2UiOiJXOEd6RlU4cEdqaG9SYldyTERsYW1BZnFfeTRTMUNaRzFWdW9lUkxBUnJFIiwib3JpZ2luIjoiaHR0cHM6Ly93ZWJhdXRobi5pbyIsInR5cGUiOiJ3ZWJhdXRobi5jcmVhdGUifQ"
0 commit comments