diff --git a/src/engine/engine_test.go b/src/engine/engine_test.go new file mode 100644 index 0000000000..11384609f1 --- /dev/null +++ b/src/engine/engine_test.go @@ -0,0 +1,39 @@ +package engine + +import ( + "coordinator" + . "launchpad.net/gocheck" + "parser" + "protocol" + "testing" +) + +// Hook up gocheck into the gotest runner. +func Test(t *testing.T) { + TestingT(t) +} + +type EngineSuite struct{} + +var _ = Suite(&EngineSuite{}) + +type MockCoordinator struct { +} + +func (self *MockCoordinator) DistributeQuery(query *parser.Query, yield func(*protocol.Series) error) error { + return nil +} + +func (self *MockCoordinator) WriteSeriesData(series *protocol.Series) error { + return nil +} + +func createMockCoordinator() coordinator.Coordinator { + return &MockCoordinator{} +} + +func (self *EngineSuite) TestBasicQuery(c *C) { + engine, err := NewQueryEngine(createMockCoordinator()) + c.Assert(err, IsNil) + c.Assert(engine, NotNil) +} diff --git a/src/engine/interface.go b/src/engine/interface.go new file mode 100644 index 0000000000..2ff6ca72cc --- /dev/null +++ b/src/engine/interface.go @@ -0,0 +1,15 @@ +package engine + +import ( + "coordinator" + "parser" + "protocol" +) + +type EngineI interface { + RunQuery(query *parser.Query, yield func(*protocol.Series) error) error +} + +func NewQueryEngine(c coordinator.Coordinator) (EngineI, error) { + return nil, nil +}