Skip to content

Commit

Permalink
rename LogExporter to FakeExporter, expose it only in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Senthil committed Mar 24, 2015
1 parent 87089b1 commit 422e2bc
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 36 deletions.
11 changes: 11 additions & 0 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,14 @@ eventexporter is a library to export events to 3rd party services.

client := eventexporter.NewSegementIOExporter(key, size)
client.Send(event)

FakeExporter is a implementation of Exporter to be used in tests.

import "github.com/koding/eventexporter_test"

event := &eventexporter.Event{Name: "test event"}

client := eventexporter.NewFakeExporter()
client.Send(event)

fmt.Println(client.Events)
1 change: 0 additions & 1 deletion eventexporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ const (

// Exporter is the interface to export events to a 3rd party service.
// Currently third party services: SegementIO and Sendgrid are implemented.
// LogExporter also implements the interface, meant for testing purposes.
type Exporter interface {
Send(*Event) error
}
Expand Down
35 changes: 35 additions & 0 deletions eventexporter_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package eventexporter_test

import (
"testing"

"github.com/koding/eventexporter"
. "github.com/smartystreets/goconvey/convey"
)

type FakeExporter struct {
Events []*eventexporter.Event
}

func NewFakeExporter() *FakeExporter {
return &FakeExporter{Events: []*eventexporter.Event{}}
}

func (l *FakeExporter) Send(event *eventexporter.Event) error {
l.Events = append(l.Events, event)
return nil
}

func TestFakeExporter(t *testing.T) {
Convey("When using FakeExporter", t, func() {
event := &eventexporter.Event{Name: "test"}

fakeExporter := NewFakeExporter()
err := fakeExporter.Send(event)

Convey("Then it should save event for debugging", func() {
So(err, ShouldBeNil)
So(len(fakeExporter.Events), ShouldEqual, 1)
})
})
}
14 changes: 0 additions & 14 deletions logexporter.go

This file was deleted.

21 changes: 0 additions & 21 deletions logexporter_test.go

This file was deleted.

0 comments on commit 422e2bc

Please sign in to comment.