summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/tests/unit/moduleapi/basics.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/tests/unit/moduleapi/basics.tcl')
-rw-r--r--examples/redis-unstable/tests/unit/moduleapi/basics.tcl70
1 files changed, 70 insertions, 0 deletions
diff --git a/examples/redis-unstable/tests/unit/moduleapi/basics.tcl b/examples/redis-unstable/tests/unit/moduleapi/basics.tcl
new file mode 100644
index 0000000..49ea9f3
--- /dev/null
+++ b/examples/redis-unstable/tests/unit/moduleapi/basics.tcl
@@ -0,0 +1,70 @@
+set testmodule [file normalize tests/modules/basics.so]
+
+start_server {tags {"modules external:skip"}} {
+ r module load $testmodule
+
+ test {test module api basics} {
+ r test.basics
+ } {ALL TESTS PASSED}
+
+ test {test rm_call auto mode} {
+ r hello 2
+ set reply [r test.rmcallautomode]
+ assert_equal [lindex $reply 0] f1
+ assert_equal [lindex $reply 1] v1
+ assert_equal [lindex $reply 2] f2
+ assert_equal [lindex $reply 3] v2
+ r hello 3
+ set reply [r test.rmcallautomode]
+ assert_equal [dict get $reply f1] v1
+ assert_equal [dict get $reply f2] v2
+ }
+
+ test {test get resp} {
+ foreach resp {3 2} {
+ if {[lsearch $::denytags "resp3"] >= 0} {
+ if {$resp == 3} {continue}
+ } elseif {$::force_resp3} {
+ if {$resp == 2} {continue}
+ }
+ r hello $resp
+ set reply [r test.getresp]
+ assert_equal $reply $resp
+ r hello 2
+ }
+ }
+
+ test "Unload the module - test" {
+ assert_equal {OK} [r module unload test]
+ }
+}
+
+start_server {tags {"modules external:skip"} overrides {enable-module-command no}} {
+ test {module command disabled} {
+ assert_error "ERR *MODULE command not allowed*" {r module load $testmodule}
+ }
+}
+
+start_server {tags {"modules external:skip"} overrides {enable-debug-command no}} {
+ r module load $testmodule
+
+ test {debug command disabled} {
+ assert_equal {no} [r test.candebug]
+ }
+}
+
+start_server {tags {"modules external:skip"} overrides {enable-debug-command yes}} {
+ r module load $testmodule
+
+ test {debug command enabled} {
+ assert_equal {yes} [r test.candebug]
+ }
+}
+
+start_server {tags {"modules external:skip"} overrides {enable-debug-command local}} {
+ r module load $testmodule
+
+ test {debug commands are enabled for local connection} {
+ assert_equal {yes} [r test.candebug]
+ }
+}