Blame internal/common/states_test.go
|
Packit |
63bb0d |
package common
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"encoding/json"
|
|
Packit |
63bb0d |
"testing"
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
"github.com/stretchr/testify/assert"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func TestJSONConversions(t *testing.T) {
|
|
Packit |
63bb0d |
type TestJson struct {
|
|
Packit |
63bb0d |
Ibs ImageBuildState `json:"ibs"`
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
typedCases := []TestJson{
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Ibs: IBWaiting,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
{
|
|
Packit |
63bb0d |
Ibs: IBRunning,
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
strCases := []string{
|
|
Packit Service |
509fd4 |
`{"ibs": "WAITING"}`,
|
|
Packit Service |
509fd4 |
`{"ibs": "RUNNING"}`,
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
for n, c := range strCases {
|
|
Packit |
63bb0d |
var inputStringAsStruct *TestJson
|
|
Packit |
63bb0d |
err := json.Unmarshal([]byte(c), &inputStringAsStruct)
|
|
Packit |
63bb0d |
assert.NoErrorf(t, err, "Failed to unmarshal: %#v", err)
|
|
Packit |
63bb0d |
assert.Equal(t, inputStringAsStruct, &typedCases[n])
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
var byteArrays [][]byte
|
|
Packit |
63bb0d |
for _, c := range typedCases {
|
|
Packit |
63bb0d |
data, err := json.Marshal(c)
|
|
Packit |
63bb0d |
assert.NoError(t, err)
|
|
Packit |
63bb0d |
byteArrays = append(byteArrays, data)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
for n, b := range byteArrays {
|
|
Packit |
63bb0d |
var inputStringAsStruct *TestJson
|
|
Packit |
63bb0d |
err := json.Unmarshal(b, &inputStringAsStruct)
|
|
Packit |
63bb0d |
assert.NoError(t, err)
|
|
Packit |
63bb0d |
assert.Equal(t, inputStringAsStruct, &typedCases[n])
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
}
|