Skip to content

Commit 15c040d

Browse files
committed
fleshes out Endpointer interface, adds tests
1 parent 2aa6329 commit 15c040d

File tree

2 files changed

+32
-7
lines changed

2 files changed

+32
-7
lines changed

hyperdrive.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,22 @@ type Endpoint struct {
7373
Name string
7474
Desc string
7575
Path string
76-
//GetHandler
77-
//PostHandler
78-
//PutHandler
79-
//PatchHandler
80-
//DeleteHandler
81-
//OptionsHandler
8276
}
8377

8478
type Endpointer interface {
79+
GetName() string
80+
GetDesc() string
8581
GetPath() string
8682
}
8783

84+
func (e *Endpoint) GetName() string {
85+
return e.Name
86+
}
87+
88+
func (e *Endpoint) GetDesc() string {
89+
return e.Desc
90+
}
91+
8892
func (e *Endpoint) GetPath() string {
8993
return e.Path
9094
}

hyperdrive_test.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,35 @@ import (
88

99
type HyperdriveTestSuite struct {
1010
suite.Suite
11+
Endpoint Endpointer
12+
}
13+
14+
func (suite *HyperdriveTestSuite) SetupTest() {
15+
suite.Endpoint = NewEndpoint("Test", "Test Endpoint", "/test")
1116
}
1217

1318
func (suite *HyperdriveTestSuite) TestNewAPI() {
1419
suite.IsType(API{}, NewAPI(), "expects an instance of hyperdrive.API")
1520
}
1621

1722
func (suite *HyperdriveTestSuite) TestNewEndpoint() {
18-
suite.IsType(&Endpoint{}, NewEndpoint("Test", "Test Endpoint", "/test"), "expects an instance of hyperdrive.API")
23+
suite.IsType(&Endpoint{}, suite.Endpoint, "expects an instance of hyperdrive.Endpoint")
24+
}
25+
26+
func (suite *HyperdriveTestSuite) TestGetName() {
27+
suite.Equal("Test", suite.Endpoint.GetName(), "expects GetName() to return Name")
28+
}
29+
30+
func (suite *HyperdriveTestSuite) TestGetDesc() {
31+
suite.Equal("Test Endpoint", suite.Endpoint.GetDesc(), "expects GetDesc() to return Desc")
32+
}
33+
34+
func (suite *HyperdriveTestSuite) TestGetPath() {
35+
suite.Equal("/test", suite.Endpoint.GetPath(), "expects GetPath() to return Path")
36+
}
37+
38+
func (suite *HyperdriveTestSuite) TestEndpointer() {
39+
suite.Implements((*Endpointer)(nil), suite.Endpoint, "expects an implementation of hyperdrive.Endpointer interface")
1940
}
2041

2142
func TestHyperdriveTestSuite(t *testing.T) {

0 commit comments

Comments
 (0)