package pipelines import ( "github.com/stretchr/testify/assert" "testing" ) func TestDeserializeOptionsResizeImage(t *testing.T) { const Payload string = `{ "name": "example pipeline", "type": 0, "removeMetadata": false, "steps": [ { "name": "resize image", "type": 0, "options": { "width": 1280, "height": 720, "upscale": false } } ] }` t.Run("Image pipeline deserialization is successful", func(t *testing.T) { values := DeserializePipelines([][]byte{[]byte(Payload)}) _, err := values[0].GetSteps()[0].GetExecutable() assert.Equal(t, nil, err) }) } func TestDeserializeOptionsCompressImage(t *testing.T) { const Payload string = `{ "name": "example pipeline", "type": 0, "removeMetadata": false, "steps": [ { "name": "compress image", "type": 1, "options": { "quality": 80 } } ] }` t.Run("Image pipeline deserialization is successful", func(t *testing.T) { values := DeserializePipelines([][]byte{[]byte(Payload)}) _, err := values[0].GetSteps()[0].GetExecutable() assert.Equal(t, nil, err) }) } func TestDeserializeMissingOptions(t *testing.T) { const Payload string = `{ "name": "example pipeline", "type": 0, "removeMetadata": false, "steps": [ { "name": "resize image", "type": 0 } ] }` t.Run("Image pipeline deserialization is successful", func(t *testing.T) { values := DeserializePipelines([][]byte{[]byte(Payload)}) _, err := values[0].GetSteps()[0].GetExecutable() assert.EqualError(t, err, "unexpected end of JSON input") }) } func TestLoadingImage(t *testing.T) { const Payload string = `{ "name": "example pipeline", "type": 0, "removeMetadata": false, "steps": [ { "name": "resize image", "type": 0 } ] }` t.Run("Loading image from filesystem to pipeline is successful", func(t *testing.T) { values := DeserializePipelines([][]byte{[]byte(Payload)}) _, err := values[0].GetSteps()[0].GetExecutable() assert.EqualError(t, err, "unexpected end of JSON input") }) }