diff options
author | Shobhit Gupta <smartyshobhit@gmail.com> | 2018-10-03 13:04:37 -0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-10-03 16:04:37 -0400 |
commit | 8c03e584c182218c84bebc8af23c70fb0cd203d4 (patch) | |
tree | 90cad75d922dc3d9fb25c4456b342b2b4e642d3b /app/plugin_test.go | |
parent | 7468f35cb0c86b60f66e1c9228a60da244d3fcc4 (diff) | |
download | chat-8c03e584c182218c84bebc8af23c70fb0cd203d4.tar.gz chat-8c03e584c182218c84bebc8af23c70fb0cd203d4.tar.bz2 chat-8c03e584c182218c84bebc8af23c70fb0cd203d4.zip |
MM-11863 Add KVList method (#9467)
* Add KVList method
* Add KVList method
Add KVList method
* Add pagination support
* Change offset, limit to page, perPage
* Rename constant
Diffstat (limited to 'app/plugin_test.go')
-rw-r--r-- | app/plugin_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/app/plugin_test.go b/app/plugin_test.go index c051324a7..8dcae9b16 100644 --- a/app/plugin_test.go +++ b/app/plugin_test.go @@ -5,6 +5,8 @@ package app import ( "bytes" + "crypto/sha256" + "encoding/base64" "io/ioutil" "net/http" "net/http/httptest" @@ -17,6 +19,11 @@ import ( "github.com/stretchr/testify/require" ) +func getHashedKey(key string) string { + hash := sha256.New() + hash.Write([]byte(key)) + return base64.StdEncoding.EncodeToString(hash.Sum(nil)) +} func TestPluginKeyValueStore(t *testing.T) { th := Setup().InitBasic() defer th.TearDown() @@ -40,6 +47,41 @@ func TestPluginKeyValueStore(t *testing.T) { assert.Nil(t, th.App.DeletePluginKey(pluginId, "intkey")) assert.Nil(t, th.App.DeletePluginKey(pluginId, "postkey")) assert.Nil(t, th.App.DeletePluginKey(pluginId, "notrealkey")) + + // Test ListKeys + assert.Nil(t, th.App.SetPluginKey(pluginId, "key2", []byte("test"))) + hashedKey := getHashedKey("key") + hashedKey2 := getHashedKey("key2") + list, err := th.App.ListPluginKeys(pluginId, 0, 1) + assert.Nil(t, err) + assert.Equal(t, 1, len(list)) + assert.Equal(t, hashedKey, list[0]) + + list, err = th.App.ListPluginKeys(pluginId, 1, 1) + assert.Nil(t, err) + assert.Equal(t, 1, len(list)) + assert.Equal(t, hashedKey2, list[0]) + + //List Keys bad input + list, err = th.App.ListPluginKeys(pluginId, 0, 0) + assert.Nil(t, err) + assert.Equal(t, 2, len(list)) + + list, err = th.App.ListPluginKeys(pluginId, 0, -1) + assert.Nil(t, err) + assert.Equal(t, 2, len(list)) + + list, err = th.App.ListPluginKeys(pluginId, -1, 1) + assert.Nil(t, err) + assert.Equal(t, 1, len(list)) + + list, err = th.App.ListPluginKeys(pluginId, -1, 0) + assert.Nil(t, err) + assert.Equal(t, 2, len(list)) + + list, err = th.App.ListPluginKeys(pluginId, 2, 2) + assert.Nil(t, err) + assert.Equal(t, 0, len(list)) } func TestServePluginRequest(t *testing.T) { |