X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=testapplication%2Fgo%2Fsdl%2Fsdl.go;fp=testapplication%2Fgo%2Fsdl%2Fsdl.go;h=315afa86f6428f7b160c33b3a8256c201e71b746;hb=bee504ced3a7785d657afcbdfbfad75c6abbe696;hp=5887b925fb6c10da8d065d94deec8249d76f1ad8;hpb=736c338839cc26b6239f67236c7f8c34ab22e713;p=ric-plt%2Fdbaas.git diff --git a/testapplication/go/sdl/sdl.go b/testapplication/go/sdl/sdl.go index 5887b92..315afa8 100644 --- a/testapplication/go/sdl/sdl.go +++ b/testapplication/go/sdl/sdl.go @@ -61,11 +61,11 @@ func Create(nameSpace string) *SdlInstance { func (s *SdlInstance) CheckRedisModuleExtensionCommands() { var moduleError bool - commands, err := s.client.Command(s.client.Context()).Result() + commands, err := s.client.Command().Result() if err == nil { redisModuleCommands := []string{ - "setie", "delie", "setiepub", "setnxpub", - "msetmpub", "delmpub", + "setie", "delie", "setiepub", "deliepub", + "setnxpub", "msetmpub", "delmpub", } for _, v := range redisModuleCommands { _, ok := commands[v] @@ -117,9 +117,22 @@ func (s *SdlInstance) setNamespaceToKeys(pairs ...interface{}) []interface{} { return retVal } +func checkResultAndError(result interface{}, err error) (bool, error) { + if err != nil { + if err == redis.Nil { + return false, nil + } + return false, err + } + if result == "OK" { + return true, nil + } + return false, nil +} + func (s *SdlInstance) Set(pairs ...interface{}) error { keyAndData := s.setNamespaceToKeys(pairs...) - err := s.client.MSet(s.client.Context(), keyAndData...).Err() + err := s.client.MSet(keyAndData...).Err() return err } @@ -128,7 +141,7 @@ func (s *SdlInstance) Get(keys []string) (map[string]interface{}, error) { for _, v := range keys { keysWithNs = append(keysWithNs, s.nsPrefix+v) } - val, err := s.client.MGet(s.client.Context(), keysWithNs...).Result() + val, err := s.client.MGet(keysWithNs...).Result() m := make(map[string]interface{}) if err != nil { return m, err @@ -139,8 +152,8 @@ func (s *SdlInstance) Get(keys []string) (map[string]interface{}, error) { return m, err } -func (s *SdlInstance) SetIf(key string, oldData, newData interface{}) { - panic("SetIf not implemented\n") +func (s *SdlInstance) SetIf(key string, oldData, newData interface{}) (bool, error) { + return checkResultAndError(s.client.Do("SETIE", key, newData, oldData).Result()) } func (s *SdlInstance) SetIfiNotExists(key string, data interface{}) {