@@ -160,31 +160,43 @@ func TestHeader(t *testing.T) {
160
160
161
161
t .Run ("ErrorHandling" , func (t * testing.T ) {
162
162
t .Parallel ()
163
- // Test invalid JSON
164
- invalidHeader := jwsbb .HeaderParseCompact ([]byte ("invalid-json" ))
165
163
166
- _ , err := jwsbb .HeaderGetString (invalidHeader , "alg" )
167
- require .Error (t , err , "HeaderGetString should return error for invalid header" )
164
+ t .Run ("non-existent field" , func (t * testing.T ) {
165
+ t .Parallel ()
166
+ headerJSON := `{"alg":"HS256","typ":"JWT"}`
167
+ h := jwsbb .HeaderParse ([]byte (headerJSON ))
168
+ _ , err := jwsbb .HeaderGetString (h , "nonexistent" )
169
+ require .Error (t , err , "HeaderGetString should return error for non-existent field" )
170
+ require .ErrorIs (t , err , jwsbb .ErrHeaderNotFound (), "Error should be ErrHeaderNotFound" )
171
+ })
172
+ t .Run ("invalid JSON" , func (t * testing.T ) {
173
+ t .Parallel ()
174
+ // Test invalid JSON
175
+ invalidHeader := jwsbb .HeaderParseCompact ([]byte ("invalid-json" ))
168
176
169
- _ , err = jwsbb .HeaderGetBool (invalidHeader , "debug " )
170
- require .Error (t , err , "HeaderGetBool should return error for invalid header" )
177
+ _ , err : = jwsbb .HeaderGetString (invalidHeader , "alg " )
178
+ require .Error (t , err , "HeaderGetString should return error for invalid header" )
171
179
172
- _ , err = jwsbb .HeaderGetInt (invalidHeader , "count " )
173
- require .Error (t , err , "HeaderGetInt should return error for invalid header" )
180
+ _ , err = jwsbb .HeaderGetBool (invalidHeader , "debug " )
181
+ require .Error (t , err , "HeaderGetBool should return error for invalid header" )
174
182
175
- _ , err = jwsbb .HeaderGetFloat64 (invalidHeader , "pi " )
176
- require .Error (t , err , "HeaderGetFloat64 should return error for invalid header" )
183
+ _ , err = jwsbb .HeaderGetInt (invalidHeader , "count " )
184
+ require .Error (t , err , "HeaderGetInt should return error for invalid header" )
177
185
178
- _ , err = jwsbb .HeaderGetStringBytes (invalidHeader , "data " )
179
- require .Error (t , err , "HeaderGetStringBytes should return error for invalid header" )
186
+ _ , err = jwsbb .HeaderGetFloat64 (invalidHeader , "pi " )
187
+ require .Error (t , err , "HeaderGetFloat64 should return error for invalid header" )
180
188
181
- _ , err = jwsbb .HeaderGetUint (invalidHeader , "count " )
182
- require .Error (t , err , "HeaderGetUint should return error for invalid header" )
189
+ _ , err = jwsbb .HeaderGetStringBytes (invalidHeader , "data " )
190
+ require .Error (t , err , "HeaderGetStringBytes should return error for invalid header" )
183
191
184
- _ , err = jwsbb .HeaderGetInt64 (invalidHeader , "timestamp " )
185
- require .Error (t , err , "HeaderGetInt64 should return error for invalid header" )
192
+ _ , err = jwsbb .HeaderGetUint (invalidHeader , "count " )
193
+ require .Error (t , err , "HeaderGetUint should return error for invalid header" )
186
194
187
- _ , err = jwsbb .HeaderGetUint64 (invalidHeader , "timestamp" )
188
- require .Error (t , err , "HeaderGetUint64 should return error for invalid header" )
195
+ _ , err = jwsbb .HeaderGetInt64 (invalidHeader , "timestamp" )
196
+ require .Error (t , err , "HeaderGetInt64 should return error for invalid header" )
197
+
198
+ _ , err = jwsbb .HeaderGetUint64 (invalidHeader , "timestamp" )
199
+ require .Error (t , err , "HeaderGetUint64 should return error for invalid header" )
200
+ })
189
201
})
190
202
}
0 commit comments