From ceff303dd551c289de110daad69e060c29cdda88 Mon Sep 17 00:00:00 2001 From: lucapette Date: Tue, 25 Apr 2017 23:23:49 +0200 Subject: [PATCH] Increase coverage a bit --- pkg/fakedata/formatter.go | 2 +- pkg/fakedata/formatter_test.go | 48 ++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 pkg/fakedata/formatter_test.go diff --git a/pkg/fakedata/formatter.go b/pkg/fakedata/formatter.go index 97890d6..f185d44 100644 --- a/pkg/fakedata/formatter.go +++ b/pkg/fakedata/formatter.go @@ -31,7 +31,7 @@ func (f *SQLFormatter) Format(columns Columns, values []string) string { sql := bytes.NewBufferString(fmt.Sprintf("INSERT INTO %s (", f.Table)) sql.WriteString(strings.Join(columns.names(), ",")) - sql.WriteString(") values (") + sql.WriteString(") VALUES (") formattedValues := make([]string, len(columns)) for i, value := range values { diff --git a/pkg/fakedata/formatter_test.go b/pkg/fakedata/formatter_test.go new file mode 100644 index 0000000..d36f853 --- /dev/null +++ b/pkg/fakedata/formatter_test.go @@ -0,0 +1,48 @@ +package fakedata_test + +import ( + "testing" + + "github.com/lucapette/fakedata/pkg/fakedata" +) + +var columns = fakedata.Columns{{Name: "name", Key: "name"}, {Name: "domain", Key: "domain"}} +var values = []string{"Grace Hopper", "example.com"} + +func TestSeparatorFormatter(t *testing.T) { + tests := []struct { + name string + sep string + want string + }{ + {"default", " ", "Grace Hopper example.com"}, + {"csv", ",", "Grace Hopper,example.com"}, + {"tab", "\t", "Grace Hopper\texample.com"}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f := &fakedata.SeparatorFormatter{Separator: tt.sep} + if got := f.Format(columns, values); got != tt.want { + t.Errorf("SeparatorFormatter.Format() = %v, want %v", got, tt.want) + } + }) + } +} + +func TestSQLFormatter(t *testing.T) { + tests := []struct { + name string + table string + want string + }{ + {"table answer", "ANSWER", "INSERT INTO ANSWER (name,domain) VALUES ('Grace Hopper','example.com');"}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f := &fakedata.SQLFormatter{Table: tt.table} + if got := f.Format(columns, values); got != tt.want { + t.Errorf("SQLFormatter.Format() = %v, want %v", got, tt.want) + } + }) + } +}