mirror of https://github.com/docker/docs.git
More coverage of the validation error serialization
Signed-off-by: Ying Li <ying.li@docker.com>
This commit is contained in:
parent
20f5b5f3b2
commit
b69c200038
|
@ -23,29 +23,27 @@ func TestNewSerializableErrorValidationError(t *testing.T) {
|
||||||
assert.Equal(t, vError, s.Error)
|
assert.Equal(t, vError, s.Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// We can unmarshal a marshalled SerializableError
|
// We can unmarshal a marshalled SerializableError for all validation errors
|
||||||
func TestUnmarshalSerialiableErrorSuccessfully(t *testing.T) {
|
func TestUnmarshalSerialiableErrorSuccessfully(t *testing.T) {
|
||||||
origS, err := NewSerializableError(ErrBadHierarchy{Missing: "root", Msg: "badness"})
|
validationErrors := []error{
|
||||||
assert.NoError(t, err)
|
ErrValidation{"bad validation"},
|
||||||
|
ErrBadHierarchy{Missing: "root", Msg: "badness"},
|
||||||
b, err := json.Marshal(origS)
|
ErrBadRoot{"bad root"},
|
||||||
assert.NoError(t, err)
|
ErrBadTargets{"bad targets"},
|
||||||
|
ErrBadSnapshot{"bad snapshot"},
|
||||||
jsonBytes := [][]byte{
|
|
||||||
b,
|
|
||||||
[]byte(`{"Name":"ErrBadHierarchy","Error":{"Missing":"root","Msg":"badness"}}`),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, toUnmarshal := range jsonBytes {
|
for _, validError := range validationErrors {
|
||||||
var newS SerializableError
|
origS, err := NewSerializableError(validError)
|
||||||
err = json.Unmarshal(toUnmarshal, &newS)
|
assert.NoError(t, err)
|
||||||
|
jsonBytes, err := json.Marshal(origS)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, "ErrBadHierarchy", newS.Name)
|
var newS SerializableError
|
||||||
e, ok := newS.Error.(ErrBadHierarchy)
|
err = json.Unmarshal(jsonBytes, &newS)
|
||||||
assert.True(t, ok)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, "root", e.Missing)
|
|
||||||
assert.Equal(t, "badness", e.Msg)
|
assert.Equal(t, validError, newS.Error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue