github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/pkg/model/v1beta1/docker_task_test.go (about) 1 package v1beta1 2 3 import ( 4 "testing" 5 6 "github.com/ipld/go-ipld-prime/codec/json" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestUnmarshalDocker(t *testing.T) { 11 bytes, err := tests.ReadFile("tasks/docker_task.json") 12 require.NoError(t, err) 13 14 task, err := UnmarshalIPLD[Task](bytes, json.Decode, UCANTaskSchema) 15 require.NoError(t, err) 16 17 spec, err := task.ToSpec() 18 require.NoError(t, err) 19 require.Equal(t, EngineDocker, spec.Engine) 20 require.Equal(t, "ubuntu", spec.Docker.Image) 21 require.Equal(t, []string{"date"}, spec.Docker.Entrypoint) 22 require.Equal(t, "/", spec.Docker.WorkingDirectory) 23 require.Equal(t, []string{"HELLO", "world"}, spec.Docker.EnvironmentVariables) 24 require.Equal(t, []StorageSpec{}, spec.Inputs) 25 require.Equal(t, []StorageSpec{ 26 {Path: "/outputs", Name: "outputs"}, 27 }, spec.Outputs) 28 }