[MM-18898] Stringify plugin.Log* parameters (#12700)

- Add stringutils with method that "stringify" object slices
  - "stringify" means convert each object to its string representation
- Move plugin.Log* implementations to client_rpc, use stringify method before calling server method
- Exclude Log* methods from generated RPC methods
- No signature change for plugin.Log* API
- Add test in plugin_api_test to use plugin.Log* methods with RPC
Этот коммит содержится в:
Clément Collin
2019-10-30 04:17:04 +01:00
коммит произвёл Ben Schumacher
родитель 5dbccd0f07
Коммит 7cc1f19453
8 изменённых файлов: 284 добавлений и 117 удалений

Просмотреть файл

@@ -1440,6 +1440,17 @@ func TestPluginAPIGetUnsanitizedConfig(t *testing.T) {
}
}
func TestPluginCallLogAPI(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()
pluginID := "com.mattermost.sample"
path, _ := fileutils.FindDir("mattermost-server/app/plugin_api_test")
pluginCode, err := ioutil.ReadFile(filepath.Join(path, "plugin_using_log_api.go"))
assert.NoError(t, err)
setupPluginApiTest(t, string(pluginCode),
`{"id": "com.mattermost.sample", "server": {"executable": "backend.exe"}, "settings_schema": {"settings": []}}`, pluginID, th.App)
}
func TestPluginAddUserToChannel(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()