MCPcopy Create free account
hub / github.com/cloudtty/cloudtty / TestReleaseVersion

Function TestReleaseVersion

pkg/version/release_test.go:5–69  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

3import "testing"
4
5func TestReleaseVersion(t *testing.T) {
6 tests := []struct {
7 Name string
8 GitVersion string
9 ExpectFirstMinorRelease string
10 ExpectPatchRelease string
11 ExpectError bool
12 }{
13 {
14 Name: "first minor release",
15 GitVersion: "v1.1.0",
16 ExpectFirstMinorRelease: "v1.1.0",
17 ExpectPatchRelease: "v1.1.0",
18 ExpectError: false,
19 },
20 {
21 Name: "subsequent minor release",
22 GitVersion: "v1.1.1",
23 ExpectFirstMinorRelease: "v1.1.0",
24 ExpectPatchRelease: "v1.1.1",
25 ExpectError: false,
26 },
27 {
28 Name: "normal git version",
29 GitVersion: "v1.1.1-6-gf20c721a",
30 ExpectFirstMinorRelease: "v1.1.0",
31 ExpectPatchRelease: "v1.1.1",
32 ExpectError: false,
33 },
34 {
35 Name: "abnormal version",
36 GitVersion: "vx.y.z-6-gf20c721a",
37 ExpectFirstMinorRelease: "",
38 ExpectPatchRelease: "",
39 ExpectError: true,
40 },
41 }
42
43 for i := range tests {
44 tc := tests[i]
45
46 t.Run(tc.Name, func(t *testing.T) {
47 rv, err := ParseGitVersion(tc.GitVersion)
48 if err != nil {
49 if !tc.ExpectError {
50 t.Fatalf("No error is expected but got: %v", err)
51 }
52 // Stop and passes this test as error is expected.
53 return
54 } else if err == nil {
55 if tc.ExpectError {
56 t.Fatalf("Expect error, but got nil")
57 }
58 }
59
60 if rv.FirstMinorRelease() != tc.ExpectFirstMinorRelease {
61 t.Fatalf("expect first minor release: %s, but got: %s", tc.ExpectFirstMinorRelease, rv.FirstMinorRelease())
62 }

Callers

nothing calls this directly

Calls 4

ParseGitVersionFunction · 0.85
FirstMinorReleaseMethod · 0.80
PatchReleaseMethod · 0.80
RunMethod · 0.45

Tested by

no test coverage detected