| package jose |
| |
| import ( |
| "encoding/json" |
| "testing" |
| ) |
| |
| func TestMarshalProtectedHeader(t *testing.T) { |
| p := Protected{ |
| "alg": "HM256", |
| } |
| |
| b, err := json.Marshal(p) |
| if err != nil { |
| t.Error(err) |
| } |
| |
| var p2 Protected |
| |
| if json.Unmarshal(b, &p2); err != nil { |
| t.Error(err) |
| } |
| |
| if p2["alg"] != p["alg"] { |
| Error(t, p["alg"], p2["alg"]) |
| } |
| } |
| |
| func TestMarshalHeader(t *testing.T) { |
| h := Header{ |
| "alg": "HM256", |
| } |
| |
| b, err := json.Marshal(h) |
| if err != nil { |
| t.Error(err) |
| } |
| |
| var p2 Protected |
| |
| if json.Unmarshal(b, &p2); err != nil { |
| t.Error(err) |
| } |
| |
| if p2["alg"] != h["alg"] { |
| Error(t, h["alg"], p2["alg"]) |
| } |
| } |
| |
| func TestBasicHeaderFunctions(t *testing.T) { |
| var h Header |
| |
| if v := h.Get("b"); v != nil { |
| Error(t, nil, v) |
| } |
| |
| h = Header{} |
| |
| h.Set("a", "b") |
| |
| if v := h.Get("a"); v != "b" { |
| Error(t, "a", v) |
| } |
| |
| if !h.Has("a") { |
| t.Error("h should have `a`") |
| } |
| |
| if v := h.Get("b"); v != nil { |
| Error(t, nil, v) |
| } |
| |
| h.Del("a") |
| |
| if v := h.Get("a"); v != nil { |
| Error(t, nil, v) |
| } |
| } |