(t *testing.T)
| 15 | ) |
| 16 | |
| 17 | func TestCmdVersion(t *testing.T) { |
| 18 | assert := asrt.New(t) |
| 19 | versionData := make(map[string]any) |
| 20 | |
| 21 | args := []string{"version", "--json-output"} |
| 22 | out, err := exec.RunHostCommandSeparateStreams(DdevBin, args...) |
| 23 | assert.NoError(err) |
| 24 | err = json.Unmarshal([]byte(out), &versionData) |
| 25 | require.NoError(t, err, "failed to unmarshal version output '%v'", out) |
| 26 | |
| 27 | raw, ok := versionData["raw"].(map[string]any) |
| 28 | require.True(t, ok, "raw section wasn't found in versioninfo %v", out) |
| 29 | |
| 30 | assert.Equal(versionconstants.DdevVersion, raw["DDEV version"]) |
| 31 | assert.Equal(versionconstants.WebImg+":"+versionconstants.WebTag, raw["web"]) |
| 32 | assert.Equal(docker.GetDBImage(nodeps.MariaDB, ""), raw["db"]) |
| 33 | dockerVersion, err := dockerutil.GetDockerVersion() |
| 34 | require.NoError(t, err) |
| 35 | assert.Equal(dockerVersion, raw["docker"]) |
| 36 | dockerAPIVersion, err := dockerutil.GetDockerAPIVersion() |
| 37 | require.NoError(t, err) |
| 38 | assert.Equal(dockerAPIVersion, raw["docker-api"]) |
| 39 | composeVersion, err := dockerutil.GetDockerComposeVersion() |
| 40 | require.NoError(t, err) |
| 41 | assert.Equal(composeVersion, raw["docker-compose"]) |
| 42 | |
| 43 | assert.Contains(versionData["msg"], versionconstants.DdevVersion) |
| 44 | assert.Contains(versionData["msg"], versionconstants.WebImg) |
| 45 | assert.Contains(versionData["msg"], versionconstants.WebTag) |
| 46 | assert.Contains(versionData["msg"], versionconstants.DBImg) |
| 47 | assert.Contains(versionData["msg"], docker.GetDBImage(nodeps.MariaDB, nodeps.MariaDBDefaultVersion)) |
| 48 | assert.NotEmpty(globalconfig.DockerComposeVersion) |
| 49 | assert.Contains(versionData["msg"], dockerVersion) |
| 50 | assert.Contains(versionData["msg"], dockerAPIVersion) |
| 51 | assert.Contains(versionData["msg"], globalconfig.DockerComposeVersion) |
| 52 | } |
nothing calls this directly
no test coverage detected