/*
- * Copyright (c) 2018-2019 Nokia.
+ * Copyright (c) 2018-2020 Nokia.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
*/
-#include <string>
-#include <map>
-#include <list>
-#include <set>
-#include <vector>
-#include <syslog.h>
-
-
-//#include <stdio.h>
-//#include <stdlib.h>
-//#include <ctype.h>
+/*
+ * This source code is part of the near-RT RIC (RAN Intelligent Controller)
+ * platform project (RICP).
+ */
extern "C" {
#define OBJ_OP_IE (1<<4) /* OP if equal old value */
#define OBJ_OP_NE (1<<5) /* OP if not equal old value */
+typedef struct RedisModuleBlockedClientArgs {
+ RedisModuleBlockedClient *bc;
+ RedisModuleString **argv;
+ int argc;
+} RedisModuleBlockedClientArgs;
TEST_GROUP(exstring)
{
int ret = SetIE_RedisCommand(&ctx, redisStrVec, 4);
CHECK_EQUAL(ret, 0);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
}
mock().setData("RedisModule_String_same", 1);
int ret = SetNE_RedisCommand(&ctx,redisStrVec, 4);
CHECK_EQUAL(ret, 0);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
}
int ret = DelIE_RedisCommand(&ctx, redisStrVec, 3);
CHECK_EQUAL(ret, 0);
mock().checkExpectations();
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
}
int ret = DelNE_RedisCommand(&ctx,redisStrVec, 3);
CHECK_EQUAL(ret, 0);
mock().checkExpectations();
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
}
}
-TEST(exstring, setpub)
+TEST(exstring, setpub_command_parameter_number_incorrect)
{
RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[5]);
+ int ret = 0;
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
- redisStrVec[2] = (RedisModuleString *)1;
- redisStrVec[3] = (RedisModuleString *)1;
- redisStrVec[4] = (RedisModuleString *)1;
+ ret = SetPub_RedisCommand(&ctx, 0, 2);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
- mock().setData("RedisModule_OpenKey_have", 1);
- mock().setData("RedisModule_KeyType_str", 1);
- mock().setData("RedisModule_String_same", 1);
- mock().setData("RedisModule_CallReplyType_null", 1);
+ ret = 0;
+ ret = SetPub_RedisCommand(&ctx, 0, 8);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = SetPub_RedisCommand(&ctx, redisStrVec, 5);
- CHECK_EQUAL(ret, REDISMODULE_OK);
- mock().checkExpectations();
- delete []redisStrVec;
-}
+ ret = 0;
+ ret = SetMPub_RedisCommand(&ctx, 0, 2);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
-TEST(exstring, setxxpub)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[5]);
+ ret = 0;
+ ret = SetMPub_RedisCommand(&ctx, 0, 8);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
- redisStrVec[2] = (RedisModuleString *)1;
- redisStrVec[3] = (RedisModuleString *)1;
- redisStrVec[4] = (RedisModuleString *)1;
+ ret = 0;
+ ret = SetXXPub_RedisCommand(&ctx, 0, 3);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
- mock().setData("RedisModule_OpenKey_have", 1);
- mock().setData("RedisModule_KeyType_str", 1);
- mock().setData("RedisModule_String_same", 1);
- mock().setData("RedisModule_CallReplyType_null", 1);
+ ret = 0;
+ ret = SetXXPub_RedisCommand(&ctx, 0, 6);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = SetXXPub_RedisCommand(&ctx, redisStrVec, 5);
- CHECK_EQUAL(ret, REDISMODULE_OK);
- mock().checkExpectations();
- delete []redisStrVec;
+ ret = 0;
+ ret = SetNXPub_RedisCommand(&ctx, 0, 3);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = SetNXMPub_RedisCommand(&ctx, 0, 3);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = SetNXPub_RedisCommand(&ctx, 0, 6);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = SetIEPub_RedisCommand(&ctx, 0, 4);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = SetIEMPub_RedisCommand(&ctx, 0, 4);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = SetIEPub_RedisCommand(&ctx, 0, 9);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = SetNEPub_RedisCommand(&ctx, 0, 4);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = SetNEPub_RedisCommand(&ctx, 0, 9);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
}
-TEST(exstring, setnxpub)
+TEST(exstring, setpub_command_no_key_replystr)
{
RedisModuleCtx ctx;
RedisModuleString ** redisStrVec = new (RedisModuleString*[5]);
- redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[0] = (RedisModuleString *)0;
redisStrVec[1] = (RedisModuleString *)1;
- redisStrVec[2] = (RedisModuleString *)1;
- redisStrVec[3] = (RedisModuleString *)1;
- redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)2;
+ redisStrVec[3] = (RedisModuleString *)3;
+ redisStrVec[4] = (RedisModuleString *)4;
- mock().setData("RedisModule_OpenKey_have", 1);
- mock().setData("RedisModule_KeyType_str", 1);
- mock().setData("RedisModule_String_same", 1);
- mock().setData("RedisModule_CallReplyType_null", 1);
+ mock().setData("RedisModule_KeyType_empty", 1);
+ mock().setData("RedisModule_CallReplyType_str", 1);
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = SetNXPub_RedisCommand(&ctx, redisStrVec, 5);
+ int ret = SetPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
+ CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("MSET").getIntValue(), 1);
+ CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 1);
+ CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 2);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
+
delete []redisStrVec;
+
}
-TEST(exstring, setiepub)
+TEST(exstring, setmpub_command_negative_key_val_count)
{
RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[6]);
+ RedisModuleString ** redisStrVec = new (RedisModuleString*[7]);
- redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[0] = (RedisModuleString *)0;
redisStrVec[1] = (RedisModuleString *)1;
- redisStrVec[2] = (RedisModuleString *)1;
- redisStrVec[3] = (RedisModuleString *)1;
- redisStrVec[4] = (RedisModuleString *)1;
- redisStrVec[5] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)2;
+ redisStrVec[3] = (RedisModuleString *)3;
+ redisStrVec[4] = (RedisModuleString *)4;
+ redisStrVec[5] = (RedisModuleString *)5;
+ redisStrVec[6] = (RedisModuleString *)6;
- mock().setData("RedisModule_OpenKey_have", 1);
- mock().setData("RedisModule_KeyType_str", 1);
- mock().setData("RedisModule_String_same", 1);
- mock().setData("RedisModule_CallReplyType_null", 1);
+ mock().setData("RedisModule_KeyType_empty", 1);
+ mock().setData("RedisModule_CallReplyType_str", 1);
+ mock().setData("RedisModule_StringToLongLongCall_1", -1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 1);
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = SetIEPub_RedisCommand(&ctx, redisStrVec, 6);
+ int ret = SetMPub_RedisCommand(&ctx, redisStrVec, 7);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("MSET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithError").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
+
delete []redisStrVec;
+
}
-TEST(exstring, setnepub)
+TEST(exstring, setmpub_command_negative_chan_msg_count)
{
RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[6]);
+ RedisModuleString ** redisStrVec = new (RedisModuleString*[7]);
- redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[0] = (RedisModuleString *)0;
redisStrVec[1] = (RedisModuleString *)1;
- redisStrVec[2] = (RedisModuleString *)1;
- redisStrVec[3] = (RedisModuleString *)1;
- redisStrVec[4] = (RedisModuleString *)1;
- redisStrVec[5] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)2;
+ redisStrVec[3] = (RedisModuleString *)3;
+ redisStrVec[4] = (RedisModuleString *)4;
+ redisStrVec[5] = (RedisModuleString *)5;
+ redisStrVec[6] = (RedisModuleString *)6;
- mock().setData("RedisModule_OpenKey_have", 1);
- mock().setData("RedisModule_KeyType_str", 1);
- mock().setData("RedisModule_String_same", 1);
- mock().setData("RedisModule_CallReplyType_null", 1);
+ mock().setData("RedisModule_KeyType_empty", 1);
+ mock().setData("RedisModule_CallReplyType_str", 1);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", -1);
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = SetNEPub_RedisCommand(&ctx, redisStrVec, 6);
+ int ret = SetMPub_RedisCommand(&ctx, redisStrVec, 7);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("MSET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithError").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
+
delete []redisStrVec;
+
}
-TEST(exstring, setpub_command_parameter_number_incorrect)
+TEST(exstring, setmpub_command_invalid_total_count)
{
RedisModuleCtx ctx;
- int ret = 0;
- ret = setPubStringGenericCommand(&ctx, 0, 2, OBJ_OP_NO);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
+ RedisModuleString ** redisStrVec = new (RedisModuleString*[7]);
- ret = 0;
- ret = setPubStringGenericCommand(&ctx, 0, 8, OBJ_OP_NO);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
+ redisStrVec[0] = (RedisModuleString *)0;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)2;
+ redisStrVec[3] = (RedisModuleString *)3;
+ redisStrVec[4] = (RedisModuleString *)4;
+ redisStrVec[5] = (RedisModuleString *)5;
+ redisStrVec[6] = (RedisModuleString *)6;
- ret = 0;
- ret = setPubStringGenericCommand(&ctx, 0, 3, OBJ_OP_XX);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
+ mock().setData("RedisModule_KeyType_empty", 1);
+ mock().setData("RedisModule_CallReplyType_str", 1);
+ mock().setData("RedisModule_StringToLongLongCall_1", 100);
+ mock().setData("RedisModule_StringToLongLongCall_2", 100);
- ret = 0;
- ret = setPubStringGenericCommand(&ctx, 0, 6, OBJ_OP_NX);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
+ int ret = SetMPub_RedisCommand(&ctx, redisStrVec, 7);
+ CHECK_EQUAL(ret, REDISMODULE_OK);
+ mock().checkExpectations();
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("MSET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithError").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
- ret = 0;
- ret = setPubStringGenericCommand(&ctx, 0, 4, OBJ_OP_IE);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
+ delete []redisStrVec;
- ret = 0;
- ret = setPubStringGenericCommand(&ctx, 0, 8, OBJ_OP_NE);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
}
-TEST(exstring, setpub_command_no_key_replynull)
+TEST(exstring, setmpub_command_set)
{
RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[5]);
+ RedisModuleString ** redisStrVec = new (RedisModuleString*[7]);
redisStrVec[0] = (RedisModuleString *)0;
redisStrVec[1] = (RedisModuleString *)1;
redisStrVec[2] = (RedisModuleString *)2;
redisStrVec[3] = (RedisModuleString *)3;
redisStrVec[4] = (RedisModuleString *)4;
+ redisStrVec[5] = (RedisModuleString *)5;
+ redisStrVec[6] = (RedisModuleString *)6;
mock().setData("RedisModule_KeyType_empty", 1);
- mock().setData("RedisModule_CallReplyType_null", 1);
+ mock().setData("RedisModule_CallReplyType_str", 1);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 1);
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NO);
+ int ret = SetMPub_RedisCommand(&ctx, redisStrVec, 7);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
- CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
- CHECK_EQUAL(mock().getData("MSET").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 1);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(1, mock().getData("MSET").getIntValue());
+ CHECK_EQUAL(1, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(2, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
}
-TEST(exstring, setpub_command_no_key_replystr)
+TEST(exstring, setmpub_command_set_multipub)
{
RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[5]);
+ RedisModuleString ** redisStrVec = new (RedisModuleString*[9]);
redisStrVec[0] = (RedisModuleString *)0;
redisStrVec[1] = (RedisModuleString *)1;
redisStrVec[2] = (RedisModuleString *)2;
redisStrVec[3] = (RedisModuleString *)3;
redisStrVec[4] = (RedisModuleString *)4;
+ redisStrVec[5] = (RedisModuleString *)5;
+ redisStrVec[6] = (RedisModuleString *)6;
+ redisStrVec[7] = (RedisModuleString *)7;
+ redisStrVec[8] = (RedisModuleString *)8;
mock().setData("RedisModule_KeyType_empty", 1);
mock().setData("RedisModule_CallReplyType_str", 1);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 2);
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NO);
+ int ret = SetMPub_RedisCommand(&ctx, redisStrVec, 9);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
- CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
- CHECK_EQUAL(mock().getData("MSET").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 2);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(1, mock().getData("MSET").getIntValue());
+ CHECK_EQUAL(2, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(3, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyType_null", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_XX);
+ int ret = SetXXPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("MSET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_KeyType_set", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_XX);
+ int ret = SetXXPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("MSET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyType_str", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_XX);
+ int ret = SetXXPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("MSET").getIntValue(), 1);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 1);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 2);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyType_null", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NX);
+ int ret = SetNXPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("MSET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyType_str", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NX);
+ int ret = SetNXPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("MSET").getIntValue(), 1);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 1);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 2);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyType_str", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 6, OBJ_OP_IE);
+ int ret = SetIEPub_RedisCommand(&ctx, redisStrVec, 6);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("MSET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_String_nosame", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 6, OBJ_OP_IE);
+ int ret = SetIEPub_RedisCommand(&ctx, redisStrVec, 6);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("MSET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 1);
-
- delete []redisStrVec;
-
-}
-
-TEST(exstring, setiepub_command_key_same_string_replynull)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[6]);
-
- redisStrVec[0] = (RedisModuleString *)0;
- redisStrVec[1] = (RedisModuleString *)1;
- redisStrVec[2] = (RedisModuleString *)2;
- redisStrVec[3] = (RedisModuleString *)3;
- redisStrVec[4] = (RedisModuleString *)4;
- redisStrVec[5] = (RedisModuleString *)5;
-
- mock().setData("RedisModule_KeyType_str", 1);
- mock().setData("RedisModule_String_same", 1);
- mock().setData("RedisModule_CallReplyType_null", 1);
-
- mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 6, OBJ_OP_IE);
-
- CHECK_EQUAL(ret, REDISMODULE_OK);
- mock().checkExpectations();
- CHECK_EQUAL(mock().getData("GET").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("MSET").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_ReplyWithNull").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 2);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyType_str", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 6, OBJ_OP_IE);
+ int ret = SetIEPub_RedisCommand(&ctx, redisStrVec, 6);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 1);
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithCallReply").getIntValue(), 1);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 3);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_String_nosame", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 6, OBJ_OP_NE);
+ int ret = SetNEPub_RedisCommand(&ctx, redisStrVec, 6);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 1);
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithCallReply").getIntValue(), 1);
CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 3);
+ CHECK_EQUAL(mock().getData("RedisModule_AutoMemory").getIntValue(),1);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyType_str", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 6, OBJ_OP_NE);
+ int ret = SetNEPub_RedisCommand(&ctx, redisStrVec, 6);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
mock().setData("RedisModule_String_nosame", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = setPubStringGenericCommand(&ctx, redisStrVec, 6, OBJ_OP_NE);
+ int ret = SetNEPub_RedisCommand(&ctx, redisStrVec, 6);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
delete []redisStrVec;
}
+TEST(exstring, delmpub)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString ** redisStrVec = new (RedisModuleString*[8]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+ redisStrVec[6] = (RedisModuleString *)1;
+ redisStrVec[7] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_OpenKey_have", 1);
+ mock().setData("RedisModule_KeyType_str", 1);
+ mock().setData("RedisModule_String_same", 1);
+ mock().setData("RedisModule_CallReplyType_null", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 2);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 8);
+ CHECK_EQUAL(ret, REDISMODULE_OK);
+
+ delete []redisStrVec;
+}
+
TEST(exstring, deliepub)
{
RedisModuleCtx ctx;
delete []redisStrVec;
}
+TEST(exstring, deliempub)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString ** redisStrVec = new (RedisModuleString*[5]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_OpenKey_have", 1);
+ mock().setData("RedisModule_KeyType_str", 1);
+ mock().setData("RedisModule_String_same", 1);
+ mock().setData("RedisModule_CallReplyType_null", 1);
+
+ mock().expectOneCall("RedisModule_CloseKey");
+ int ret = DelIEMPub_RedisCommand(&ctx, redisStrVec, 5);
+ CHECK_EQUAL(ret, REDISMODULE_OK);
+ mock().checkExpectations();
+ delete []redisStrVec;
+}
+
TEST(exstring, delnepub)
{
RedisModuleCtx ctx;
{
RedisModuleCtx ctx;
int ret = 0;
- ret = delPubStringGenericCommand(&ctx, 0, 2, OBJ_OP_NO);
+ ret = DelPub_RedisCommand(&ctx, 0, 2);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = DelMPub_RedisCommand(&ctx, 0, 5);
+ CHECK_EQUAL(ret, REDISMODULE_ERR);
+
+ ret = 0;
+ ret = DelIEPub_RedisCommand(&ctx, 0, 4);
CHECK_EQUAL(ret, REDISMODULE_ERR);
ret = 0;
- ret = delPubStringGenericCommand(&ctx, 0, 4, OBJ_OP_IE);
+ ret = DelIEMPub_RedisCommand(&ctx, 0, 4);
CHECK_EQUAL(ret, REDISMODULE_ERR);
ret = 0;
- ret = delPubStringGenericCommand(&ctx, 0, 8, OBJ_OP_NE);
+ ret = DelNEPub_RedisCommand(&ctx, 0, 8);
CHECK_EQUAL(ret, REDISMODULE_ERR);
}
mock().setData("RedisModule_CallReplyType_inter", 1);
mock().setData("RedisModule_Call_Return_Null", 0);
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NO);
+ int ret = DelPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, 0);
CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("UNLINK").getIntValue(), 1);
mock().setData("RedisModule_CallReplyInteger", 0);
mock().setData("RedisModule_CallReplyType_err", 1);
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NO);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
+ int ret = DelPub_RedisCommand(&ctx, redisStrVec, 5);
+ CHECK_EQUAL(ret, REDISMODULE_OK);
CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("UNLINK").getIntValue(), 1);
CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithCallReply").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 1);
+ CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 0);
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 0);
delete []redisStrVec;
mock().setData("RedisModule_CallReplyInteger", 0);
mock().setData("RedisModule_CallReplyType_inter", 1);
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NO);
+ int ret = DelPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, 0);
CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
CHECK_EQUAL(mock().getData("UNLINK").getIntValue(), 1);
}
+TEST(exstring, delmpub_command_reply_null)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[6]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_Call_Return_Null", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 1);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 6);
+ CHECK_EQUAL(ret, 0);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(1, mock().getData("UNLINK").getIntValue());
+ CHECK_EQUAL(0, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_ReplyWithCallReply").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithError").getIntValue());
+ delete []redisStrVec;
+
+}
+
+TEST(exstring, delmpub_command_reply_error)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[6]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_CallReplyInteger", 0);
+ mock().setData("RedisModule_CallReplyType_err", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 1);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 6);
+ CHECK_EQUAL(ret, REDISMODULE_OK);
+ CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("UNLINK").getIntValue(), 1);
+ CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("RedisModule_ReplyWithCallReply").getIntValue(), 1);
+ CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 0);
+ delete []redisStrVec;
+
+}
+
+TEST(exstring, delmpub_command_has_no_key)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[6]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_CallReplyInteger", 0);
+ mock().setData("RedisModule_CallReplyType_inter", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 1);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 6);
+ CHECK_EQUAL(ret, 0);
+ CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("UNLINK").getIntValue(), 1);
+ CHECK_EQUAL(mock().getData("PUBLISH").getIntValue(), 0);
+ CHECK_EQUAL(mock().getData("RedisModule_ReplyWithCallReply").getIntValue(), 1);
+ CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 1);
+ delete []redisStrVec;
+
+}
+
+TEST(exstring, delmpub_command_key_deleted)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[6]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_CallReplyInteger", 1);
+ mock().setData("RedisModule_CallReplyType_inter", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 1);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 6);
+ CHECK_EQUAL(ret, 0);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(1, mock().getData("UNLINK").getIntValue());
+ CHECK_EQUAL(1, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithCallReply").getIntValue());
+ CHECK_EQUAL(2, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ delete []redisStrVec;
+
+}
+
+TEST(exstring, delmpub_command_key_deleted_multi_pub)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[10]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+ redisStrVec[6] = (RedisModuleString *)1;
+ redisStrVec[7] = (RedisModuleString *)1;
+ redisStrVec[8] = (RedisModuleString *)1;
+ redisStrVec[9] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_CallReplyInteger", 1);
+ mock().setData("RedisModule_CallReplyType_inter", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 3);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 10);
+ CHECK_EQUAL(0, ret);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(1, mock().getData("UNLINK").getIntValue());
+ CHECK_EQUAL(3, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithCallReply").getIntValue());
+ CHECK_EQUAL(4, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ delete []redisStrVec;
+
+}
+
+TEST(exstring, delmpub_command_negative_del_count)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[6]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_CallReplyInteger", 1);
+ mock().setData("RedisModule_CallReplyType_inter", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", -1);
+ mock().setData("RedisModule_StringToLongLongCall_2", 1);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 6);
+ CHECK_EQUAL(0, ret);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("UNLINK").getIntValue());
+ CHECK_EQUAL(0, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithError").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ delete []redisStrVec;
+
+}
+
+TEST(exstring, delmpub_command_negative_chan_msg_count)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[6]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_CallReplyInteger", 1);
+ mock().setData("RedisModule_CallReplyType_inter", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 1);
+ mock().setData("RedisModule_StringToLongLongCall_2", -1);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 6);
+ CHECK_EQUAL(0, ret);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("UNLINK").getIntValue());
+ CHECK_EQUAL(0, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithError").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ delete []redisStrVec;
+
+}
+
+TEST(exstring, delmpub_command_invalid_total_count)
+{
+ RedisModuleCtx ctx;
+ RedisModuleString **redisStrVec = new (RedisModuleString*[6]);
+
+ redisStrVec[0] = (RedisModuleString *)1;
+ redisStrVec[1] = (RedisModuleString *)1;
+ redisStrVec[2] = (RedisModuleString *)1;
+ redisStrVec[3] = (RedisModuleString *)1;
+ redisStrVec[4] = (RedisModuleString *)1;
+ redisStrVec[5] = (RedisModuleString *)1;
+
+ mock().setData("RedisModule_CallReplyInteger", 1);
+ mock().setData("RedisModule_CallReplyType_inter", 1);
+ mock().setData("RedisModule_StringToLongLongCallCount", 0);
+ mock().setData("RedisModule_StringToLongLongCall_1", 100);
+ mock().setData("RedisModule_StringToLongLongCall_2", 100);
+
+ int ret = DelMPub_RedisCommand(&ctx, redisStrVec, 6);
+ CHECK_EQUAL(0, ret);
+ CHECK_EQUAL(0, mock().getData("GET").getIntValue());
+ CHECK_EQUAL(0, mock().getData("UNLINK").getIntValue());
+ CHECK_EQUAL(0, mock().getData("PUBLISH").getIntValue());
+ CHECK_EQUAL(1, mock().getData("RedisModule_ReplyWithError").getIntValue());
+ CHECK_EQUAL(0, mock().getData("RedisModule_FreeCallReply").getIntValue());
+ delete []redisStrVec;
+
+}
+
TEST(exstring, deliepub_command_has_no_key)
{
RedisModuleCtx ctx;
mock().setData("RedisModule_KeyType_empty", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_IE);
+ int ret = DelIEPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, 0);
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithLongLong").getIntValue(), 0);
CHECK_EQUAL(mock().getData("GET").getIntValue(), 0);
mock().setData("RedisModule_OpenKey_have", 1);
mock().setData("RedisModule_KeyType_set", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_IE);
+ int ret = DelIEPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 1);
mock().setData("RedisModule_KeyType_str", 1);
mock().setData("RedisModule_String_nosame", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_IE);
+ int ret = DelIEPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 0);
mock().setData("RedisModule_String_same", 1);
mock().setData("RedisModule_CallReplyType_null", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_IE);
+ int ret = DelIEPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 0);
mock().setData("RedisModule_CallReplyType_str", 1);
mock().setData("RedisModule_CallReplyInteger", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_IE);
+ int ret = DelIEPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 0);
mock().setData("RedisModule_String_same", 1);
mock().setData("RedisModule_CallReplyType_str", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NE);
+ int ret = DelNEPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 0);
mock().setData("RedisModule_CallReplyType_str", 1);
mock().setData("RedisModule_CallReplyInteger", 1);
mock().expectOneCall("RedisModule_CloseKey");
- int ret = delPubStringGenericCommand(&ctx, redisStrVec, 5, OBJ_OP_NE);
+ int ret = DelNEPub_RedisCommand(&ctx, redisStrVec, 5);
CHECK_EQUAL(ret, REDISMODULE_OK);
mock().checkExpectations();
CHECK_EQUAL(mock().getData("RedisModule_ReplyWithError").getIntValue(), 0);
delete []redisStrVec;
}
-
-TEST(exstring, nget_command_parameter_number_incorrect)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[2]);
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
-
- int ret = NGet_RedisCommand(&ctx, redisStrVec, 3);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
-
- delete []redisStrVec;
-}
-
-TEST(exstring, nget_command_zero_item)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[2]);
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
-
- mock().setData("RedisModule_CallReplyLength", 0);
- int ret = NGet_RedisCommand(&ctx, redisStrVec, 2);
- CHECK_EQUAL(ret, REDISMODULE_OK);
- CHECK_EQUAL(mock().getData("KEYS").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_ReplyWithCallReply").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 1);
-
- delete []redisStrVec;
-}
-
-TEST(exstring, nget_command_none_zero_items)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[2]);
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
-
- mock().setData("RedisModule_CallReplyLength", 3);
- int ret = NGet_RedisCommand(&ctx, redisStrVec, 2);
- CHECK_EQUAL(ret, REDISMODULE_OK);
- CHECK_EQUAL(mock().getData("KEYS").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("MGET").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_ReplyWithArray").getIntValue(), 3*2);
- CHECK_EQUAL(mock().getData("RedisModule_ReplyWithString").getIntValue(), 3*2);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 2);
-
- delete []redisStrVec;
-}
-
-TEST(exstring, ndel_command_parameter_parameter_number_incorrect)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[2]);
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
-
- int ret = NDel_RedisCommand(&ctx, redisStrVec, 3);
- CHECK_EQUAL(ret, REDISMODULE_ERR);
-
- delete []redisStrVec;
-}
-
-TEST(exstring, ndel_command_zero_item)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[2]);
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
-
- mock().setData("RedisModule_CallReplyLength", 0);
- int ret = NDel_RedisCommand(&ctx, redisStrVec, 2);
- CHECK_EQUAL(ret, REDISMODULE_OK);
- CHECK_EQUAL(mock().getData("KEYS").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_ReplyWithLongLong").getIntValue(), 0);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 1);
-
- delete []redisStrVec;
-}
-
-TEST(exstring, ndel_command_none_zero_items)
-{
- RedisModuleCtx ctx;
- RedisModuleString ** redisStrVec = new (RedisModuleString*[2]);
- redisStrVec[0] = (RedisModuleString *)1;
- redisStrVec[1] = (RedisModuleString *)1;
-
- mock().setData("RedisModule_CallReplyLength", 3);
- int ret = NDel_RedisCommand(&ctx, redisStrVec, 2);
- CHECK_EQUAL(ret, REDISMODULE_OK);
- CHECK_EQUAL(mock().getData("KEYS").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("UNLINK").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_ReplyWithCallReply").getIntValue(), 1);
- CHECK_EQUAL(mock().getData("RedisModule_FreeCallReply").getIntValue(), 2);
-
- delete []redisStrVec;
-}