Kelvin Clement Mwinuka
d27fb87b20
Added longer yields for file sync after snapshot and aof rewrite
2024-06-10 21:38:43 +08:00
Kelvin Clement Mwinuka
55b9bc6ede
Added test coverave for ACLSave and ACLLoad
2024-06-09 03:31:55 +08:00
Kelvin Clement Mwinuka
cb99ff8993
rewriteAOF method in echovault.go now handles the rewrite synchronously. Removed newline character in Write method of append store. Added test case for REWRITEAOF command and restore from AOF.
2024-06-09 02:28:03 +08:00
Kelvin Clement Mwinuka
6afef55dbe
Replaced time.After in snapshot and aof engines with ticker.
2024-06-08 23:19:23 +08:00
Kelvin Clement Mwinuka
39b9e6474c
Moved TCP SAVE/LASTSAVE test to admin module
2024-06-06 18:05:11 +08:00
Kelvin Clement Mwinuka
c5f168a9a5
Test standalone snapshot persist and restore
2024-06-05 23:50:42 +08:00
Kelvin Clement Mwinuka
ee13c29c9a
Removed debug print statements in acl.go file
2024-06-05 21:44:00 +08:00
Kelvin Clement Mwinuka
66b2842e11
Implemented tests for ACL permissions
2024-06-02 22:52:02 +08:00
Kelvin Clement Mwinuka
555387494b
Replaced all time.After instances to time.Ticker
2024-06-02 17:55:15 +08:00
Kelvin Clement Mwinuka
bc6537ad8f
Replaces use of time.Sleep with time.Ticker in echovault and echovault tests
2024-06-02 17:34:20 +08:00
Kelvin Clement Mwinuka
b7e691bbf1
Changed default memberlist config to DefaultWANConfig
2024-06-02 16:30:10 +08:00
Kelvin Clement Mwinuka
166e9a81fb
Shutdown raft nodes from the last one to the first one in echovault tests. This is to ensure the leader node is shutdown last.
2024-06-02 15:44:09 +08:00
Kelvin Clement Mwinuka
bbc53ffee5
Use time.After instead of custom clock wrappet for TTL key eviction when creating a new EchoVault instance.
2024-06-02 15:29:22 +08:00
Kelvin Clement Mwinuka
99be0fd4f0
Fixed data race issue when reading and writing ACL user data. Now, a write-lock is acquired before modifying the connection object as well in addition to the users list.
2024-06-02 15:06:12 +08:00
Kelvin Clement Mwinuka
66b6c4b809
Disable TCP/UDP offloading in GH Action
2024-06-02 04:55:03 +08:00
Kelvin Clement Mwinuka
dd323f66b5
Renamed config variable name in echovault_test.go
2024-06-02 04:19:11 +08:00
Kelvin Clement Mwinuka
d4506ce54d
Added tests for ACL LOAD and ACL SAVE commands.
2024-06-02 04:01:45 +08:00
Kelvin Clement Mwinuka
fdb3b87362
Implemented ACL tests using test suites and server cleanup functions.
2024-06-01 01:08:36 +08:00
Kelvin Clement Mwinuka
393700b71d
Updated TLS/mTLS listener log
2024-05-31 19:47:11 +08:00
Kelvin Clement Mwinuka
3bd09ab376
Added test coverage for empty command and write command to non-leader node
2024-05-31 19:31:08 +08:00
Kelvin Clement Mwinuka
5de2cc8a53
Admin tests are no longer parallel as module loading interferes with other test results. ForwardCommand test now retries until all values are found in a quorum or a 5 second limit is reached.
2024-05-31 18:55:50 +08:00
Kelvin Clement Mwinuka
b48ee54228
Updated test suites to retry connection to tcp server. Use concurrency to setup cluster in Test_Cluster suite.
2024-05-31 18:17:36 +08:00
Kelvin Clement Mwinuka
502e804459
Removed logic to get unexported methods from the echovault package in all tests.
2024-05-30 19:33:01 +08:00
Kelvin Clement Mwinuka
e1d5e8203f
Disabled cluster test until a more efficient method is found.
2024-05-29 23:15:27 +08:00
Kelvin Clement Mwinuka
e8840cbc35
Added test for forward command
2024-05-29 19:04:40 +08:00
Kelvin Clement Mwinuka
ae5a675929
Added test for TLS connection
2024-05-29 15:08:41 +08:00
Kelvin Clement Mwinuka
06ce6bfeaf
Instead of checking if a value is replicated across the entire cluster, only check if it's present in a cluster quorum. Fixed race conditions in pubsub API by replacing connections map with sync.Map
2024-05-28 20:26:03 +08:00
Kelvin Clement Mwinuka
7691ec432d
Added test coverave for sorted set api methods
2024-05-28 16:49:40 +08:00
Kelvin Clement Mwinuka
bb667cf7f7
Added test coverave + fixed some bugs with pubsub api methods.
2024-05-27 18:48:08 +08:00
Kelvin Clement Mwinuka
30b8b205a7
Implemented tests for api_acl.go file
2024-05-27 15:50:25 +08:00
Kelvin Clement Mwinuka
7807569975
Created MakeCluster function to reuse logic for creating clusters. Created test files in raft and memberlist packages to add them to test coverage statistics.
2024-05-27 13:10:26 +08:00
Kelvin Clement Mwinuka
0108444d69
Replaced fmt.Println statements with log.Println.
...
Return "empty command" error from handleCommand method if an empty command is passed to the server.
Wait until connection is no longer nil in acl package tests.
2024-05-27 11:45:48 +08:00
Kelvin Clement Mwinuka
9904fcdbb7
Wait for cluster followers to join cluster before proceeding with raft test in echovault package.
2024-05-27 11:12:34 +08:00
Kelvin Clement Mwinuka
93a616c5c1
Updated RAFT layer to use new keyspace methods. Fixed API methods for HSET and SINTERCARD to match new key overwriting behaviour.
2024-05-26 15:49:51 +08:00
Kelvin Clement Mwinuka
abee9ea858
Uncommented AddCommand method
2024-05-26 15:26:04 +08:00
Kelvin Clement Mwinuka
15191dccee
Implemented new param methods and testing through resp connection in set commands package
2024-05-26 08:41:29 +08:00
Kelvin Clement Mwinuka
43361cdd42
Updated keyspace methods' signatures and made them all private. Ditched lock-per-key for a store-wide rwmutex. Updated HandlerFuncParams to match new keyspace method signatures.
2024-05-22 22:44:59 +08:00
Kelvin Clement Mwinuka
f894a531b0
Added happy path test case for data replication
2024-05-22 16:11:00 +08:00
Kelvin Clement Mwinuka
a9c11adcd6
Fixed users unlock in ACL LOAD command handler
2024-05-19 04:28:06 +08:00
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