summaryrefslogtreecommitdiffstats
path: root/plugin/plugintest
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-11-07 13:12:38 -0600
committerCorey Hulen <corey@hulen.com>2017-11-07 11:12:38 -0800
commit1d1998c6686e969a6d3fdfcdfa0592ea5945bb9c (patch)
treedb090ad6df64e4cd555fdfe3c0ffebd3e307c8f0 /plugin/plugintest
parent61db2ff59bc5146a85a8275a4ce231eb1d5e03f1 (diff)
downloadchat-1d1998c6686e969a6d3fdfcdfa0592ea5945bb9c.tar.gz
chat-1d1998c6686e969a6d3fdfcdfa0592ea5945bb9c.tar.bz2
chat-1d1998c6686e969a6d3fdfcdfa0592ea5945bb9c.zip
add a few docs for plugin testing (#7798)
* add a few docs for plugin testing * fix typo
Diffstat (limited to 'plugin/plugintest')
-rw-r--r--plugin/plugintest/plugintest.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/plugin/plugintest/plugintest.go b/plugin/plugintest/plugintest.go
new file mode 100644
index 000000000..5cc8ab7e5
--- /dev/null
+++ b/plugin/plugintest/plugintest.go
@@ -0,0 +1,45 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+// The plugintest package provides mocks that can be used to test plugins. For example, to test the
+// ServeHTTP method of the plugin package's HelloUser example:
+//
+// 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))
+// }
+//
+// The mocks are created using testify's mock package:
+// https://godoc.org/github.com/stretchr/testify/mock
+package plugintest