daemon/info_unix_test.go
72eddf42
 // +build !windows
 
 package daemon
 
 import (
 	"testing"
 
 	"github.com/docker/docker/api/types"
 	"github.com/docker/docker/dockerversion"
 	"github.com/stretchr/testify/assert"
 )
 
 func TestParseInitVersion(t *testing.T) {
 	tests := []struct {
 		version string
 		result  types.Commit
 		invalid bool
 	}{
 		{
 			version: "tini version 0.13.0 - git.949e6fa",
 			result:  types.Commit{ID: "949e6fa", Expected: dockerversion.InitCommitID[0:7]},
 		}, {
 			version: "tini version 0.13.0\n",
 			result:  types.Commit{ID: "v0.13.0", Expected: dockerversion.InitCommitID},
 		}, {
 			version: "tini version 0.13.2",
 			result:  types.Commit{ID: "v0.13.2", Expected: dockerversion.InitCommitID},
 		}, {
 			version: "tini version0.13.2",
 			result:  types.Commit{ID: "N/A", Expected: dockerversion.InitCommitID},
 			invalid: true,
 		}, {
 			version: "",
 			result:  types.Commit{ID: "N/A", Expected: dockerversion.InitCommitID},
 			invalid: true,
 		}, {
 			version: "hello world",
 			result:  types.Commit{ID: "N/A", Expected: dockerversion.InitCommitID},
 			invalid: true,
 		},
 	}
 
 	for _, test := range tests {
 		ver, err := parseInitVersion(string(test.version))
 		if test.invalid {
 			assert.Error(t, err)
 		} else {
 			assert.NoError(t, err)
 		}
 		assert.Equal(t, test.result, ver)
 	}
 }