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
Kelvin Mwinuka
cb13e8222d
Created test for LLEN API function
2024-03-30 03:28:31 +08:00
Kelvin Mwinuka
c56e749167
Implemented outward-facing API for Pub/Sub module
2024-03-30 02:30:37 +08:00
Kelvin Mwinuka
3c81ceb9ed
Updated test coverage
2024-03-29 03:57:19 +08:00
Kelvin Mwinuka
d7fd7616a3
Implemented outward-facing API for sorted set module commands
2024-03-29 03:42:49 +08:00
Kelvin Mwinuka
b1ddcd178e
Implemented outward-facing API for ADMIN module commands.
...
Added Module field to Command and SubCommand structs.
Added MODULE filter options to COMMAND LIST command.
Added Module field to all existing commands.
2024-03-28 23:51:47 +08:00
Kelvin Mwinuka
1d15b89b87
Created outward-facing API for hash module commands
2024-03-28 21:31:14 +08:00
Kelvin Mwinuka
0a70104d78
Created api_ files in echovault subfolder that will allow us to export easyily usable APIs for embedding Go code
2024-03-27 14:25:34 +08:00
Kelvin Mwinuka
bc188cfea4
Moved some types into internal folder as they will do not need to be exported. Changed GetState method to getState to make it private to the echovault package
2024-03-26 20:26:48 +08:00
Kelvin Mwinuka
9113998281
Fixed test error with regards to passing context to mockServer Start method
2024-03-26 18:50:49 +08:00
Kelvin Mwinuka
88a8e2aae6
Created DefaultConfig to be used when embedding echovaule. Moved ACL and PubSub to internal packages with only the associated commands in the modules folder. Initialise ACL and PubSub when creating new EchoVault instance which removed the need to pass WithACL and WithPubSub options.
2024-03-26 18:15:27 +08:00
Kelvin Mwinuka
fbc866f844
Updated test coverage
2024-03-26 16:21:05 +08:00