Skip to content

Commit d40378b

Browse files
committed
refactor: print struct and func name
Signed-off-by: Chen Keinan <hen.keinan@gmail.com>
1 parent f440567 commit d40378b

4 files changed

Lines changed: 32 additions & 26 deletions

File tree

cmd/gen-docs/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func run(args []string) error {
102102
buildVersion := strings.TrimSpace(version.Version)
103103
viper := viper.GetViper()
104104
c := config.New(viper)
105-
f := factory.New(clientFactory, askProvider, s, buildVersion, c, servicemessages.NewProvider(servicemessages.NewPrinter(os.Stdout, os.Stderr)))
105+
f := factory.New(clientFactory, askProvider, s, buildVersion, c, servicemessages.NewProvider(servicemessages.NewOutputPrinter(os.Stdout, os.Stderr)))
106106

107107
cmd := root.NewCmdRoot(f, clientFactory, askProvider)
108108
cmd.DisableAutoGenTag = true

cmd/octopus/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func main() {
6969
terminalOut := terminal.NewAnsiStdout(os.Stdout)
7070
terminalErr := terminal.NewAnsiStderr(os.Stderr)
7171

72-
serviceMessageProvider := servicemessages.NewProvider(servicemessages.NewPrinter(terminalOut, terminalErr))
72+
serviceMessageProvider := servicemessages.NewProvider(servicemessages.NewOutputPrinter(terminalOut, terminalErr))
7373
f := factory.New(clientFactory, askProvider, s, buildVersion, c, serviceMessageProvider)
7474

7575
cmd := root.NewCmdRoot(f, clientFactory, askProvider)

pkg/servicemessages/provider.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ type Provider interface {
1414
}
1515

1616
type provider struct {
17-
printer *Printer
17+
printer *OutputPrinter
1818
}
1919

20-
func NewProvider(printer *Printer) Provider {
20+
func NewProvider(printer *OutputPrinter) Provider {
2121
return &provider{
2222
printer: printer,
2323
}
@@ -37,32 +37,32 @@ func (p *provider) ServiceMessage(messageName string, values any) {
3737

3838
switch t := values.(type) {
3939
case string:
40-
p.printer.Println(fmt.Sprintf("##teamcity[%s %s]\n", messageName, t))
40+
p.printer.Info(fmt.Sprintf("##teamcity[%s %s]\n", messageName, t))
4141
case map[string]string:
4242
for key, value := range t {
43-
p.printer.Println(fmt.Sprintf("##teamcity[%s %s=%s]\n", messageName, key, value))
43+
p.printer.Info(fmt.Sprintf("##teamcity[%s %s=%s]\n", messageName, key, value))
4444
}
4545
default:
4646
p.printer.Error("Unsupported service message value type")
4747
}
4848
}
4949

50-
type Printer struct {
50+
type OutputPrinter struct {
5151
Out io.Writer
5252
Err io.Writer
5353
}
5454

55-
func NewPrinter(out io.Writer, err io.Writer) *Printer {
56-
return &Printer{
55+
func NewOutputPrinter(out io.Writer, err io.Writer) *OutputPrinter {
56+
return &OutputPrinter{
5757
Out: out,
5858
Err: err,
5959
}
6060
}
6161

62-
func (p *Printer) Println(msg string) {
62+
func (p *OutputPrinter) Info(msg string) {
6363
fmt.Fprint(p.Out, msg)
6464
}
6565

66-
func (p *Printer) Error(msg string) {
66+
func (p *OutputPrinter) Error(msg string) {
6767
fmt.Fprint(p.Err, msg)
6868
}

pkg/servicemessages/provider_test.go

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,18 @@ func TestServiceMessage(t *testing.T) {
2121
want string
2222
wantErr string
2323
}{
24-
{"service message is not set", false, false, "testMessage", "key1", "value1", &bytes.Buffer{}, &bytes.Buffer{}, "", ""},
25-
{"service message enabled non string value with teamcity", true, true, "testMessage", "key1", map[string]string{"key": "value"}, &bytes.Buffer{}, &bytes.Buffer{}, "##teamcity[testMessage key=value]\n", ""},
26-
{"service message enabled without teamcity", true, false, "testMessage", "key1", "value1", &bytes.Buffer{}, &bytes.Buffer{}, "", "service messages are only supported in TeamCity builds"},
27-
{"service message enabled string value with teamcity", true, true, "testMessage", "key1", "value", &bytes.Buffer{}, &bytes.Buffer{}, "##teamcity[testMessage value]\n", ""},
28-
{"service message enabled unsupported value with teamcity", true, true, "testMessage", "key1", []string{"dsdsd"}, &bytes.Buffer{}, &bytes.Buffer{}, "", "Unsupported service message value type"},
24+
{"service message flag is not enabled", false, false, "testMessage", "key1", "value1", &bytes.Buffer{}, &bytes.Buffer{}, "", ""},
25+
{"service message enabled teamcity envvar and map value", true, true, "testMessage", "key1", map[string]string{"key": "value"}, &bytes.Buffer{}, &bytes.Buffer{}, "##teamcity[testMessage key=value]\n", ""},
26+
{"service message enabled without teamcity envvar", true, false, "testMessage", "key1", "value1", &bytes.Buffer{}, &bytes.Buffer{}, "", "service messages are only supported in TeamCity builds"},
27+
{"service message enabled teamcity envvar and string value", true, true, "testMessage", "key1", "value", &bytes.Buffer{}, &bytes.Buffer{}, "##teamcity[testMessage value]\n", ""},
28+
{"service message enabled teamcity envvar and unsupported value", true, true, "testMessage", "key1", []string{"dsdsd"}, &bytes.Buffer{}, &bytes.Buffer{}, "", "Unsupported service message value type"},
2929
}
3030

3131
for _, tt := range tests {
32-
viper.Reset()
33-
viper.Set(constants.FlagEnableServiceMessages, tt.servicemessages)
34-
if tt.teamCityEnv {
35-
t.Setenv("TEAMCITY_VERSION", "2021.1")
36-
} else {
37-
t.Setenv("TEAMCITY_VERSION", "")
38-
}
32+
setupArgs(t, constants.FlagEnableServiceMessages, tt.servicemessages)
33+
setupEnvVar(t, "TEAMCITY_VERSION", "2021.1", tt.teamCityEnv)
3934
t.Run(tt.name, func(t *testing.T) {
40-
serviceMessageProvider := NewProvider(NewPrinter(tt.stdout, tt.stderr))
41-
serviceMessageProvider.ServiceMessage(tt.messsageName, tt.value)
42-
35+
NewProvider(NewOutputPrinter(tt.stdout, tt.stderr)).ServiceMessage(tt.messsageName, tt.value)
4336
if tt.want != "" {
4437
got := tt.stdout.String()
4538
if got != tt.want {
@@ -55,3 +48,16 @@ func TestServiceMessage(t *testing.T) {
5548
})
5649
}
5750
}
51+
52+
func setupArgs(t *testing.T, key string, value bool) {
53+
viper.Reset()
54+
viper.Set(constants.FlagEnableServiceMessages, value)
55+
}
56+
57+
func setupEnvVar(t *testing.T, key, value string, set bool) {
58+
if set {
59+
t.Setenv(key, value)
60+
} else {
61+
t.Setenv(key, "")
62+
}
63+
}

0 commit comments

Comments
 (0)