everything just werks for storage
parent
d70a0e313f
commit
acfd95e5af
|
|
@ -3,7 +3,6 @@ package main
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
|
@ -43,7 +42,9 @@ func NewStorage(ctx context.Context, driver Driver) (Storage, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Storage) GetEvent(ctx context.Context, ID string) (model.Event, error) {
|
func (s Storage) GetEvent(ctx context.Context, ID string) (model.Event, error) {
|
||||||
return model.Event{}, errors.New("not impl")
|
v := model.Event{}
|
||||||
|
err := s.selectOne(ctx, "events", &v, "ID = ?", ID)
|
||||||
|
return v, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Storage) UpsertEvent(ctx context.Context, event model.Event) error {
|
func (s Storage) UpsertEvent(ctx context.Context, event model.Event) error {
|
||||||
|
|
@ -61,7 +62,9 @@ func (s Storage) UpsertMessage(ctx context.Context, message model.Message) error
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Storage) GetThread(ctx context.Context, ID string) (model.Thread, error) {
|
func (s Storage) GetThread(ctx context.Context, ID string) (model.Thread, error) {
|
||||||
return model.Thread{}, errors.New("not impl")
|
v := model.Thread{}
|
||||||
|
err := s.selectOne(ctx, "threads", &v, "ID = ?", ID)
|
||||||
|
return v, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Storage) UpsertThread(ctx context.Context, thread model.Thread) error {
|
func (s Storage) UpsertThread(ctx context.Context, thread model.Thread) error {
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,53 @@ func TestStorage(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
t.Run("upsert get event", func(t *testing.T) {
|
||||||
|
m := model.NewEvent(
|
||||||
|
"ID",
|
||||||
|
"URL",
|
||||||
|
1,
|
||||||
|
"Name",
|
||||||
|
"Asset",
|
||||||
|
"Datacenter",
|
||||||
|
"Team",
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
|
||||||
|
if err := s.UpsertEvent(ctx, m); err != nil {
|
||||||
|
t.Fatal("unexpected error on insert:", err)
|
||||||
|
} else if err := s.UpsertEvent(ctx, m); err != nil {
|
||||||
|
t.Fatal("unexpected error on noop update:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if got, err := s.GetEvent(ctx, m.ID); err != nil {
|
||||||
|
t.Fatal("unexpected error on get:", err)
|
||||||
|
} else if got != m {
|
||||||
|
t.Fatal("unexpected result from get:", got)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("upsert get thread", func(t *testing.T) {
|
||||||
|
m := model.NewThread(
|
||||||
|
"ID",
|
||||||
|
"URL",
|
||||||
|
1,
|
||||||
|
"Channel",
|
||||||
|
"EventID",
|
||||||
|
)
|
||||||
|
|
||||||
|
if err := s.UpsertThread(ctx, m); err != nil {
|
||||||
|
t.Fatal("unexpected error on insert:", err)
|
||||||
|
} else if err := s.UpsertThread(ctx, m); err != nil {
|
||||||
|
t.Fatal("unexpected error on noop update:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if got, err := s.GetThread(ctx, m.ID); err != nil {
|
||||||
|
t.Fatal("unexpected error on get:", err)
|
||||||
|
} else if got != m {
|
||||||
|
t.Fatal("unexpected result from get:", got)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
t.Run("upsert get message", func(t *testing.T) {
|
t.Run("upsert get message", func(t *testing.T) {
|
||||||
m := model.NewMessage(
|
m := model.NewMessage(
|
||||||
"ID",
|
"ID",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue