diff options
Diffstat (limited to 'plugin/example_test.go')
-rw-r--r-- | plugin/example_test.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/plugin/example_test.go b/plugin/example_test.go new file mode 100644 index 000000000..e6ae3c2ea --- /dev/null +++ b/plugin/example_test.go @@ -0,0 +1,35 @@ +package plugin_test + +import ( + "io/ioutil" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/mattermost/mattermost-server/model" + "github.com/mattermost/mattermost-server/plugin/plugintest" +) + +func TestHelloUserPlugin(t *testing.T) { + user := &model.User{ + Id: model.NewId(), + Username: "billybob", + } + + api := &plugintest.API{} + api.On("GetUser", user.Id).Return(user, nil) + defer api.AssertExpectations(t) + + p := &HelloUserPlugin{} + p.OnActivate(api) + + w := httptest.NewRecorder() + r := httptest.NewRequest("GET", "/", nil) + r.Header.Add("Mattermost-User-Id", user.Id) + p.ServeHTTP(w, r) + body, err := ioutil.ReadAll(w.Result().Body) + require.NoError(t, err) + assert.Equal(t, "Welcome back, billybob!", string(body)) +} |