constellation/cli/internal/cmd/version_test.go
Malte Poll bdba9d8ba6
bazel: add build files for go (#1186)
* build: correct toolchain order
* build: gazelle-update-repos
* build: use pregenerated proto for dependencies
* update bazeldnf
* deps: tpm simulator
* Update Google trillian module
* cli: add stamping as alternative build info source
* bazel: add go_test wrappers, mark special tests and select testing deps
* deps: add libvirt deps
* deps: go-libvirt patches
* deps: cloudflare circl patches
* bazel: add go_test wrappers, mark special tests and select testing deps
* bazel: keep gazelle overrides
* bazel: cleanup bazelrc
* bazel: switch CMakeLists.txt to use bazel
* bazel: fix injection of version information via stamping
* bazel: commit all build files
* dev-docs: document bazel usage
* deps: upgrade zig-cc for go 1.20
* bazel: update Perl for macOS arm64 & Linux arm64 support
* bazel: use static perl toolchain for OpenSSL
* bazel: use static protobuf (protoc) toolchain
* deps: add git and go to nix deps

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-09 15:23:42 +01:00

77 lines
1.3 KiB
Go

/*
Copyright (c) Edgeless Systems GmbH
SPDX-License-Identifier: AGPL-3.0-only
*/
package cmd
import (
"bytes"
"io"
"runtime/debug"
"testing"
"github.com/stretchr/testify/assert"
"github.com/edgelesssys/constellation/v2/internal/constants"
)
func TestVersionCmd(t *testing.T) {
assert := assert.New(t)
cmd := NewVersionCmd()
b := &bytes.Buffer{}
cmd.SetOut(b)
cmd.SetArgs([]string{})
err := cmd.Execute()
assert.NoError(err)
s, err := io.ReadAll(b)
assert.NoError(err)
assert.Contains(string(s), constants.VersionInfo())
}
func TestParseBuildInfo(t *testing.T) {
assert := assert.New(t)
info := debug.BuildInfo{
GoVersion: "go1.18.3",
Settings: []debug.BuildSetting{
{
Key: "-compiler",
Value: "gc",
},
{
Key: "GOARCH",
Value: "amd64",
},
{
Key: "GOOS",
Value: "linux",
},
{
Key: "vcs.time",
Value: "2022-06-20T11:57:25Z",
},
{
Key: "vcs.modified",
Value: "true",
},
{
Key: "vcs.revision",
Value: "abcdef",
},
},
}
commit, state, date, goVersion, compiler, platform := parseBuildInfo(&info)
assert.Equal("abcdef", commit)
assert.Equal("dirty", state)
assert.Equal("2022-06-20T11:57:25Z", date)
assert.Equal("go1.18.3", goVersion)
assert.Equal("gc", compiler)
assert.Equal("linux/amd64", platform)
}