Commit Graph

76 Commits

Author SHA1 Message Date
Kelvin Clement Mwinuka
c634b1b20e Return ok boolean instead of OK string in embedded api methods that return ok status. Updated tests to match new return types 2024-05-18 22:49:21 +08:00
Kelvin Clement Mwinuka
7fb236e631 Added HGet to embedded API 2024-05-14 03:30:51 +08:00
Kelvin Clement Mwinuka
aa7b5fa8cc Added ZRemRangeByLex and ZRemRangeByRank to embedded API. 2024-05-14 02:11:10 +08:00
Kelvin Clement Mwinuka
26a709a469 Added test case for command handler in modules test in api_admin 2024-05-09 02:24:01 +08:00
Kelvin Clement Mwinuka
1981fe9d1d Added unit tests for COMMAND COUNT and COMMAND LIST commands in admin module 2024-05-09 02:06:31 +08:00
Kelvin Clement Mwinuka
df51142217 Implemented test for LoadModule, ListModules, and UnloadModule. Added check for existence of module file using os.Stat before attempting to open the file. Added build-module-tests step in makefile to simplify building modules for unit and race tests 2024-05-09 01:36:52 +08:00
Kelvin Clement Mwinuka
cfa8e35997 Use path.Join instead of hardcoded path to load mdules in admin tests. 2024-05-09 00:05:01 +08:00
Kelvin Clement Mwinuka
ba48a517e4 Re-enabled cleanup of testdata folder after completing Test_AdminCommand suite 2024-05-08 23:54:31 +08:00
Kelvin Clement Mwinuka
63524c0996 Fixed type in admin module test file 2024-05-08 23:20:23 +08:00
Kelvin Clement Mwinuka
d28bda98bb Added makefile command to build modules for admins module tests.
Implemented more sensible logic for testing the COMMANDS command instead of just printing each returned command.
Implemented tests for MODULE LOAD, MODULE UNLOAD, and MODULE LIST commands.
Implemented testdata folder cleanup after finishing admin command tests.
2024-05-08 23:17:45 +08:00
Kelvin Clement Mwinuka
291d4e9451 Added makefile command to compile .so modules for testing in admin module 2024-05-08 18:33:46 +08:00
Kelvin Clement Mwinuka
229b10863f Fixed data race in snapshot engine and lfu cache test 2024-05-06 17:22:08 +08:00
Kelvin Clement Mwinuka
040f246ea2 Implemented test for LRU cache implementation 2024-05-06 17:16:33 +08:00
Kelvin Clement Mwinuka
028fb7ccdf Updated expired entry filter function to accept time boundary 'now'. Implemented tests for snapshot package 2024-05-06 14:35:55 +08:00
Kelvin Clement Mwinuka
915c34d9f6 Refactored Write function of append store to use tidwall/resp to parse commands.
AOF log no longer prints an empty line between each command.
Return error on NewAppendStore instead of just logging.
Implemented test for AppendStore
2024-05-04 22:27:05 +08:00
Kelvin Clement Mwinuka
193871ec72 Removed test folder and moved all commands tests to their respective internal modules. Moved api tests into echovault package. This change has been made because the speratate test folder is not idiomatic and caused test coverage report to not be generated. 2024-05-04 17:45:10 +08:00
Kelvin Clement Mwinuka
3e04b7a822 Moved tests for module commands and apis into 'test' folder 2024-04-24 21:36:59 +08:00
Kelvin Clement Mwinuka
fce0258e53 Added embedded parameter in handleCommand method which will cause handleCommand to skip ACL auth when it's true 2024-04-21 03:48:14 +08:00
Kelvin Clement Mwinuka
c2c887cd75 Updated KeyExtractionFunc for all the modules 2024-04-21 02:59:07 +08:00
Kelvin Clement Mwinuka
be44d23c47 Commend refactoring in pubsub module. Variable renaming in api_pubsub.go 2024-04-20 22:40:18 +08:00
Kelvin Mwinuka
64bbda6205 wg.Done intead of wg.Add in goroutine that starts server in pubusub test module init function 2024-04-06 02:37:44 +08:00
Kelvin Mwinuka
16743a36df Implemented t.Run in generic, hash, list, and set module tests 2024-04-06 02:21:29 +08:00
Kelvin Mwinuka
7a77d4fd81 Leverage t.Run for sorted_set module tests 2024-04-06 00:24:04 +08:00
Kelvin Mwinuka
9df42f2179 Leverage t.Run in string module tests 2024-04-05 23:23:14 +08:00
Kelvin Mwinuka
3bf9e25002 Fixed race conditions in acl module tests 2024-04-05 23:05:23 +08:00
Kelvin Mwinuka
25ffb3004c Added waitgroup for control flow on acl tests 2024-04-05 03:27:48 +08:00
Kelvin Mwinuka
1e421cb64a Implemented a Clock interface that is injected everywhere time.Now and time.After are used. 2024-04-05 03:11:03 +08:00
Kelvin Mwinuka
6e510976fb Removed timeNow implementation in generic module. This will be replaced by a mock implementation of the time interface 2024-04-05 01:06:57 +08:00
Kelvin Mwinuka
72e1445ee8 Updated test coverage 2024-04-04 23:43:25 +08:00
Kelvin Mwinuka
d8117e340d Removed vendor folder 2024-04-04 23:30:54 +08:00
Kelvin Mwinuka
2ea30d268c Re-enabled the acl module tests 2024-04-04 22:15:04 +08:00
Kelvin Mwinuka
9d99aea812 Updated test coverage 2024-04-04 21:59:26 +08:00
Kelvin Mwinuka
1bd7147e99 Added Configuration and Eviction Sections in README.md 2024-04-04 21:36:43 +08:00
Kelvin Mwinuka
cf22a489d3 Updated test coverage report 2024-04-04 05:42:07 +08:00
Kelvin Mwinuka
f4b17f4db7 Updated coverage.out 2024-04-04 03:56:55 +08:00
Kelvin Mwinuka
e42582ef66 Added godoc comments for echovault.go exported functions 2024-04-04 03:18:56 +08:00
Kelvin Mwinuka
3b0493e1d4 Removed StartSnapshot, FinishSnapshot, SetLatestSnapshot, and GetLatestSnapshot funcs from EchoVault interface as these are now private functions passed to the raft module using inversion of control 2024-04-04 03:01:44 +08:00
Kelvin Mwinuka
1e50cc1ab2 Made ACL and PubSub fields in EchoVault struct private 2024-04-03 07:26:33 +08:00
Kelvin Mwinuka
dca58e0ba0 Added godoc comments for api_admin.go functions 2024-04-03 07:16:37 +08:00
Kelvin Mwinuka
35d71a199d Added godoc commends for api_hash.go functions 2024-04-03 05:33:17 +08:00
Kelvin Mwinuka
4fbabbdc56 Added godoc comments for api_list.go functions 2024-04-03 04:41:41 +08:00
Kelvin Mwinuka
62792a4033 Added godoc comments for api_pubsub.go functions 2024-04-03 03:34:39 +08:00
Kelvin Mwinuka
f86ea5db7a Updated coverage report 2024-04-01 23:25:38 +08:00
Kelvin Mwinuka
389c871781 Start raft and memberlist layers in NewEchoVault. Return error fron NewEchoVault function when TLS config does not match certificate options provided 2024-04-01 23:24:22 +08:00
Kelvin Mwinuka
ede342a452 Implemented unit tests for generic module API 2024-04-01 22:37:26 +08:00
Kelvin Mwinuka
d7c3509533 Created 'constants' package for const.go file and 'types' package for shared and exported types 2024-04-01 18:32:01 +08:00
Kelvin Mwinuka
e40e49eb4b Skip AOF command logging if ReadWriter is nil. Pass config to api test files to prevent aof data directory from being created everytime tests are executed. 2024-04-01 01:29:37 +08:00
Kelvin Mwinuka
0b66936808 Implemented unit tests for SET module API 2024-04-01 01:13:12 +08:00
Kelvin Mwinuka
f061af6de6 Implemented tests for sorted set API 2024-03-31 05:55:26 +08:00
Kelvin Mwinuka
8af093741f Implemented tests for list module API 2024-03-30 20:08:59 +08:00