diff --git a/src/config/param_variant.go b/src/config/param_variant.go index abf5c6da..5e45acb3 100644 --- a/src/config/param_variant.go +++ b/src/config/param_variant.go @@ -45,7 +45,7 @@ func AddVariantParam(cmd *cobra.Command) *StringParam { }, v: paramValueString{ value: "", - defaultValue: string(variant.Relaxed), + defaultValue: variant.Relaxed.Name(), }, } param.addToCommand(cmd) diff --git a/src/engine/tcr_test.go b/src/engine/tcr_test.go index 8462a366..7d3de7cb 100644 --- a/src/engine/tcr_test.go +++ b/src/engine/tcr_test.go @@ -536,7 +536,7 @@ func Test_get_session_info(t *testing.T) { ToolchainName: "fake-toolchain", VCSName: fake.Name, VCSSessionSummary: "VCS session \"" + fake.Name + "\"", - Variant: string(variant.Relaxed), + Variant: variant.Relaxed.Name(), GitAutoPush: false, } assert.Equal(t, expected, tcr.GetSessionInfo()) diff --git a/src/engine/tcr_test_fake.go b/src/engine/tcr_test_fake.go index 2768819a..174cdc48 100644 --- a/src/engine/tcr_test_fake.go +++ b/src/engine/tcr_test_fake.go @@ -80,7 +80,7 @@ func NewFakeTCREngine() *FakeTCREngine { VCSSessionSummary: "VCS session \"fake\"", GitAutoPush: false, CommitOnFail: false, - Variant: string(variant.Relaxed), + Variant: variant.Relaxed.Name(), }, } } diff --git a/src/variant/variant.go b/src/variant/variant.go index 04e952ec..cf85130c 100644 --- a/src/variant/variant.go +++ b/src/variant/variant.go @@ -26,6 +26,10 @@ package variant // https://medium.com/@tdeniffel/tcr-variants-test-commit-revert-bf6bd84b17d3 type Variant string +func (v Variant) Name() string { + return string(v) +} + const ( Relaxed Variant = "relaxed" BTCR Variant = "btcr" diff --git a/src/variant/variant_test.go b/src/variant/variant_test.go new file mode 100644 index 00000000..ce24b9b0 --- /dev/null +++ b/src/variant/variant_test.go @@ -0,0 +1,45 @@ +/* +Copyright (c) 2023 Murex + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +package variant + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func Test_get_variant_name(t *testing.T) { + tests := []struct { + desc string + variant Variant + expected string + }{ + {"relaxed", Relaxed, "relaxed"}, + {"btcr", BTCR, "btcr"}, + } + + for _, test := range tests { + t.Run(test.desc, func(t *testing.T) { + assert.Equal(t, test.expected, test.variant.Name()) + }) + } +}