mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: Prettify some unit tests for pkg/build (#70186)
* Prettify * Fix test
This commit is contained in:
committed by
GitHub
parent
21fd7c5c13
commit
98b6791101
22
pkg/build/env/fallback_test.go
vendored
22
pkg/build/env/fallback_test.go
vendored
@@ -15,6 +15,11 @@ const (
|
||||
flag2 = "flag2"
|
||||
)
|
||||
|
||||
type flagObj struct {
|
||||
name string
|
||||
value string
|
||||
}
|
||||
|
||||
func TestRequireListWithEnvFallback(t *testing.T) {
|
||||
var app = cli.NewApp()
|
||||
tests := []struct {
|
||||
@@ -73,7 +78,7 @@ func TestRequireStringWithEnvFallback(t *testing.T) {
|
||||
}{
|
||||
{
|
||||
testName: "string present in the context",
|
||||
ctx: cli.NewContext(app, setFlags(t, flag1, flag2, flag.NewFlagSet("test", flag.ContinueOnError)), nil),
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("test", flag.ContinueOnError), flagObj{name: flag1, value: "a"}), nil),
|
||||
name: flag1,
|
||||
envName: "",
|
||||
expected: "a",
|
||||
@@ -81,7 +86,7 @@ func TestRequireStringWithEnvFallback(t *testing.T) {
|
||||
},
|
||||
{
|
||||
testName: "string present in env",
|
||||
ctx: cli.NewContext(app, setFlags(t, "", "", flag.NewFlagSet("test", flag.ContinueOnError)), nil),
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("test", flag.ContinueOnError)), nil),
|
||||
name: flag1,
|
||||
envName: setEnv(t, flag1, "a"),
|
||||
expected: "a",
|
||||
@@ -89,7 +94,7 @@ func TestRequireStringWithEnvFallback(t *testing.T) {
|
||||
},
|
||||
{
|
||||
testName: "string absent from both context and env",
|
||||
ctx: cli.NewContext(app, setFlags(t, "", flag2, flag.NewFlagSet("test", flag.ContinueOnError)), nil),
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("test", flag.ContinueOnError), flagObj{name: flag2, value: "b"}), nil),
|
||||
name: flag1,
|
||||
envName: "",
|
||||
expected: "",
|
||||
@@ -120,13 +125,12 @@ func applyFlagSet(t *testing.T, aFlag, aValue string) *flag.FlagSet {
|
||||
return set
|
||||
}
|
||||
|
||||
func setFlags(t *testing.T, flag1, flag2 string, flagSet *flag.FlagSet) *flag.FlagSet {
|
||||
func setFlags(t *testing.T, flagSet *flag.FlagSet, flags ...flagObj) *flag.FlagSet {
|
||||
t.Helper()
|
||||
if flag1 != "" {
|
||||
flagSet.StringVar(&flag1, "flag1", "a", "")
|
||||
}
|
||||
if flag2 != "" {
|
||||
flagSet.StringVar(&flag2, "flag2", "b", "")
|
||||
for _, f := range flags {
|
||||
if f.name != "" {
|
||||
flagSet.StringVar(&f.name, f.name, f.value, "")
|
||||
}
|
||||
}
|
||||
return flagSet
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package frontend
|
||||
import (
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
@@ -22,6 +21,11 @@ type packageJson struct {
|
||||
Version string `json:"version"`
|
||||
}
|
||||
|
||||
type flagObj struct {
|
||||
name string
|
||||
value string
|
||||
}
|
||||
|
||||
var app = cli.NewApp()
|
||||
|
||||
func TestGetConfig(t *testing.T) {
|
||||
@@ -33,28 +37,28 @@ func TestGetConfig(t *testing.T) {
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
ctx: cli.NewContext(app, setFlags(t, jobs, githubToken, "", flag.NewFlagSet("flagSet", flag.ContinueOnError)), nil),
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("flagSet", flag.ContinueOnError), flagObj{name: jobs, value: "2"}, flagObj{name: githubToken, value: "token"}), nil),
|
||||
name: "package.json matches tag",
|
||||
packageJsonVersion: "10.0.0",
|
||||
metadata: config.Metadata{GrafanaVersion: "10.0.0", ReleaseMode: config.ReleaseMode{Mode: config.TagMode}},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
ctx: cli.NewContext(app, setFlags(t, jobs, githubToken, "", flag.NewFlagSet("flagSet", flag.ContinueOnError)), nil),
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("flagSet", flag.ContinueOnError), flagObj{name: jobs, value: "2"}, flagObj{name: githubToken, value: "token"}), nil),
|
||||
name: "package.json doesn't match tag",
|
||||
packageJsonVersion: "10.1.0",
|
||||
metadata: config.Metadata{GrafanaVersion: "10.0.0", ReleaseMode: config.ReleaseMode{Mode: config.TagMode}},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
ctx: cli.NewContext(app, setFlags(t, jobs, githubToken, "", flag.NewFlagSet("flagSet", flag.ContinueOnError)), nil),
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("flagSet", flag.ContinueOnError), flagObj{name: jobs, value: "2"}, flagObj{name: githubToken, value: "token"}), nil),
|
||||
name: "test tag event, check should be skipped",
|
||||
packageJsonVersion: "10.1.0",
|
||||
metadata: config.Metadata{GrafanaVersion: "10.1.0-test", ReleaseMode: config.ReleaseMode{Mode: config.TagMode, IsTest: true}},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
ctx: cli.NewContext(app, setFlags(t, jobs, githubToken, buildID, flag.NewFlagSet("flagSet", flag.ContinueOnError)), nil),
|
||||
ctx: cli.NewContext(app, setFlags(t, flag.NewFlagSet("flagSet", flag.ContinueOnError), flagObj{name: jobs, value: "2"}, flagObj{name: githubToken, value: "token"}, flagObj{name: buildID, value: "12345"}), nil),
|
||||
name: "non-tag event",
|
||||
packageJsonVersion: "10.1.0-pre",
|
||||
metadata: config.Metadata{GrafanaVersion: "10.1.0-12345pre", ReleaseMode: config.ReleaseMode{Mode: config.PullRequestMode}},
|
||||
@@ -68,7 +72,6 @@ func TestGetConfig(t *testing.T) {
|
||||
|
||||
got, _, err := GetConfig(tt.ctx, tt.metadata)
|
||||
if !tt.wantErr {
|
||||
fmt.Println(got.PackageVersion + " : " + tt.metadata.GrafanaVersion)
|
||||
require.Equal(t, got.PackageVersion, tt.metadata.GrafanaVersion)
|
||||
}
|
||||
|
||||
@@ -80,16 +83,12 @@ func TestGetConfig(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func setFlags(t *testing.T, flag1, flag2, flag3 string, flagSet *flag.FlagSet) *flag.FlagSet {
|
||||
func setFlags(t *testing.T, flagSet *flag.FlagSet, flags ...flagObj) *flag.FlagSet {
|
||||
t.Helper()
|
||||
if flag1 != "" {
|
||||
flagSet.StringVar(&flag1, jobs, "2", "")
|
||||
}
|
||||
if flag2 != "" {
|
||||
flagSet.StringVar(&flag2, githubToken, "token", "")
|
||||
}
|
||||
if flag3 != "" {
|
||||
flagSet.StringVar(&flag3, buildID, "12345", "")
|
||||
for _, f := range flags {
|
||||
if f.name != "" {
|
||||
flagSet.StringVar(&f.name, f.name, f.value, "")
|
||||
}
|
||||
}
|
||||
return flagSet
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user