| // +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) |
| } |
| } |