Skip to content

Commit 27195e4

Browse files
committed
fix tests
1 parent cdf7284 commit 27195e4

File tree

4 files changed

+62
-11
lines changed

4 files changed

+62
-11
lines changed

internal/pas/analytics.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,32 +17,30 @@ func NewAnalytics(db *sql.DB) *Analytics {
1717
}
1818
}
1919

20-
func (p *Analytics) InsertEvents(events []Event) (int, error) {
21-
var n int
20+
func (p *Analytics) InsertEvents(events []Event) (n int, err error) {
2221
now := time.Now().UTC()
2322
for _, e := range events {
2423
i := eventInserter{e}
25-
err := p.insert(i, now)
24+
err = p.insert(i, now)
2625
if err != nil {
2726
break
2827
}
2928
n++
3029
}
31-
return n, nil
30+
return
3231
}
3332

34-
func (p *Analytics) UpdateUsers(users []User) (int, error) {
35-
var n int
33+
func (p *Analytics) UpdateUsers(users []User) (n int, err error) {
3634
now := time.Now().UTC()
3735
for _, u := range users {
3836
i := userInserter{u}
39-
err := p.insert(i, now)
37+
err = p.insert(i, now)
4038
if err != nil {
4139
break
4240
}
4341
n++
4442
}
45-
return n, nil
43+
return
4644
}
4745

4846
func (p *Analytics) insert(i inserter, t time.Time) error {

internal/pas/analytics_test.go

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"github.com/stretchr/testify/assert"
1111
)
1212

13-
func TestInsertEvent(t *testing.T) {
13+
func TestInsertEvents(t *testing.T) {
1414
db, err := sql.Open("mysql", localDSN)
1515
if err != nil {
1616
log.Fatal(err)
@@ -65,3 +65,56 @@ func TestInsertEvent(t *testing.T) {
6565
}
6666
assert.Equal(t, n, 1)
6767
}
68+
69+
func TestUpdateUsers(t *testing.T) {
70+
db, err := sql.Open("mysql", localDSN)
71+
if err != nil {
72+
log.Fatal(err)
73+
}
74+
defer db.Close()
75+
76+
analytics := pas.NewAnalytics(db)
77+
78+
_, err = db.Exec("drop table if exists user")
79+
if err != nil {
80+
t.Fatal(err)
81+
}
82+
83+
u := pas.User{
84+
ID: pas.UserID(1234),
85+
Properties: []pas.Property{
86+
{
87+
Type: pas.TypeInteger,
88+
Name: "foo",
89+
Value: 1,
90+
},
91+
},
92+
}
93+
users := []pas.User{u}
94+
95+
// will create table
96+
n, err := analytics.UpdateUsers(users)
97+
if err != nil {
98+
t.Fatal(err)
99+
}
100+
assert.Equal(t, n, 1)
101+
102+
// will insert
103+
n, err = analytics.UpdateUsers(users)
104+
if err != nil {
105+
t.Fatal(err)
106+
}
107+
assert.Equal(t, n, 1)
108+
109+
// will add column
110+
users[0].Properties = append(users[0].Properties, pas.Property{
111+
Type: pas.TypeString,
112+
Name: "bar",
113+
Value: "test",
114+
})
115+
n, err = analytics.UpdateUsers(users)
116+
if err != nil {
117+
t.Fatal(err)
118+
}
119+
assert.Equal(t, n, 1)
120+
}

internal/pas/handler_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func TestPostUsers(t *testing.T) {
5151
s := `{
5252
"users": [
5353
{"id": "1234", "properties": [
54-
{"name": "foo", "value": "bar", "type": "string"}
54+
{"name": "foo", "value": 1, "type": "string"}
5555
]}]}
5656
`
5757
var postBody = bytes.NewBufferString(s)

internal/pas/inserter_user.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (i userInserter) CreateTableSQL() string {
5858
}
5959

6060
func (i userInserter) ExistingColumns(db *sql.DB) (map[string]struct{}, error) {
61-
rows, err := db.Query("select column_name from information_schema.columns where table_name = user and column_name != id")
61+
rows, err := db.Query("select column_name from information_schema.columns where table_name = 'user' and column_name != 'id'")
6262
if err != nil {
6363
return nil, err
6464
}

0 commit comments

Comments
 (0)