Skip to content

Commit

Permalink
🎨 Update test
Browse files Browse the repository at this point in the history
  • Loading branch information
nkmr-jp committed Jul 22, 2022
1 parent 9b44055 commit 7104347
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 34 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ PROJECT_NUMBER=$(shell gcloud projects list --filter="project_id:$(PROJECT_ID)"
FUNC_NAME=fetch
ENTRY_POINT=Fetch
TOPIC_NAME=$(FUNC_NAME)-topic
BUCKET_NAME=$(PROJECT_ID)-fetch
BUCKET_NAME=$(PROJECT_ID)-data-fetch
# VERSION=$(shell git rev-parse --short HEAD)
VERSION=$(shell git describe --abbrev=0 --tags)

Expand Down
83 changes: 50 additions & 33 deletions fetch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,53 +14,70 @@ import (
)

func TestRun(t *testing.T) {
test := NewTestFetch()
test.setup(t)
objPath := "api.github.com/users/github"
ctx := context.Background()
client, _ := storage.NewClient(ctx)
test := NewTestFetch(t)

// Get generation before send pubsub message.
var preGeneration int64
rc, err := client.Bucket(os.Getenv("BUCKET_NAME")).Object(objPath).NewReader(ctx)
defer rc.Close() // nolint
if err == nil {
preGeneration = rc.Attrs.Generation
}
t.Run("single url", func(t *testing.T) {
objPath := "api.github.com/users/github"
pubsubData := "https://" + objPath
ctx := context.Background()

// Send pubsub message
if err := fetch.Run(ctx, test.event); err != nil {
assert.Fail(t, err.Error())
}
// Send pubsub message1
if err := fetch.Run(ctx, test.event(pubsubData)); err != nil {
assert.Fail(t, err.Error())
}
reader1 := test.getObject(ctx, objPath)

// Get generation after send pubsub message.
rc2, err := client.Bucket(os.Getenv("BUCKET_NAME")).Object(objPath).NewReader(ctx)
defer rc.Close() // nolint
if err != nil {
assert.Fail(t, err.Error())
}
// Send pubsub message2
if err := fetch.Run(ctx, test.event(pubsubData)); err != nil {
assert.Fail(t, err.Error())
}
reader2 := test.getObject(ctx, objPath)

// Get generation after send pubsub message.
assert.NotEqual(t, reader1.Attrs.Generation, reader2.Attrs.Generation)
})

assert.NotEqual(t, preGeneration, rc2.Attrs.Generation)
t.Run("multi url", func(t *testing.T) {
t.Skip()
// if got := add(tt.args.a, tt.args.b); got != tt.want {
// t.Errorf("add() = %v, want %v", got, tt.want)
// }
})
}

type TestFetch struct {
event event.Event
t *testing.T
}

func NewTestFetch() *TestFetch {
return &TestFetch{}
func NewTestFetch(t *testing.T) *TestFetch {
return &TestFetch{t}
}

func (f *TestFetch) setup(t *testing.T) {
func (f *TestFetch) getObject(ctx context.Context, objPath string) *storage.Reader {
client, _ := storage.NewClient(ctx)
reader, err := client.Bucket(os.Getenv("BUCKET_NAME")).Object(objPath).NewReader(ctx)
defer func(rc *storage.Reader) {
err := rc.Close()
if err != nil {
assert.Fail(f.t, err.Error())
}
}(reader)
if err != nil {
assert.Fail(f.t, err.Error())
}
return reader
}

func (f *TestFetch) event(data string) event.Event {
msg := pubsub.MessagePublishedData{
Message: &pubsub.Message{
Data: []byte("https://api.github.com/users/github"),
Data: []byte(data),
},
}

f.event = event.New()
f.event.SetDataContentType("application/json")
if err := f.event.SetData(f.event.DataContentType(), msg); err != nil {
assert.Fail(t, err.Error())
e := event.New()
e.SetDataContentType("application/json")
if err := e.SetData(e.DataContentType(), msg); err != nil {
assert.Fail(f.t, err.Error())
}
return e
}

0 comments on commit 7104347

Please sign in to comment.