summaryrefslogtreecommitdiff
path: root/tests/unit/moduleapi/datatype.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/moduleapi/datatype.tcl')
-rw-r--r--tests/unit/moduleapi/datatype.tcl17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/unit/moduleapi/datatype.tcl b/tests/unit/moduleapi/datatype.tcl
index c1da696d3..e235462ea 100644
--- a/tests/unit/moduleapi/datatype.tcl
+++ b/tests/unit/moduleapi/datatype.tcl
@@ -24,4 +24,21 @@ start_server {tags {"modules"}} {
catch {r datatype.restore dtkeycopy $truncated} e
set e
} {*Invalid*}
+
+ test {DataType: ModuleTypeReplaceValue() happy path works} {
+ r datatype.set key-a 1 AAA
+ r datatype.set key-b 2 BBB
+
+ assert {[r datatype.swap key-a key-b] eq {OK}}
+ assert {[r datatype.get key-a] eq {2 BBB}}
+ assert {[r datatype.get key-b] eq {1 AAA}}
+ }
+
+ test {DataType: ModuleTypeReplaceValue() fails on non-module keys} {
+ r datatype.set key-a 1 AAA
+ r set key-b RedisString
+
+ catch {r datatype.swap key-a key-b} e
+ set e
+ } {*ERR*}
}