diff --git a/server/plugin.go b/server/plugin.go index 73723c9..4439b6d 100644 --- a/server/plugin.go +++ b/server/plugin.go @@ -1,6 +1,8 @@ package main import ( + "fmt" + "net/http" "sync" "github.com/mattermost/mattermost-server/plugin" @@ -17,4 +19,8 @@ type Plugin struct { configuration *configuration } +func (p *Plugin) ServeHTTP(c *plugin.Context, w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, "Hello, world!") +} + // See https://developers.mattermost.com/extend/plugins/server/reference/ diff --git a/server/plugin_test.go b/server/plugin_test.go new file mode 100644 index 0000000..8bca1a6 --- /dev/null +++ b/server/plugin_test.go @@ -0,0 +1,26 @@ +package main + +import ( + "io/ioutil" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestServeHTTP(t *testing.T) { + assert := assert.New(t) + plugin := Plugin{} + w := httptest.NewRecorder() + r := httptest.NewRequest("GET", "/", nil) + + plugin.ServeHTTP(nil, w, r) + + result := w.Result() + assert.NotNil(result) + bodyBytes, err := ioutil.ReadAll(result.Body) + assert.Nil(err) + bodyString := string(bodyBytes) + + assert.Equal("Hello, world!", bodyString) +}