Commit Graph

147 Commits

Author SHA1 Message Date
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
Kelvin Mwinuka
7c39e5f477 Created commands and config packages in pkg folder for easy import 2024-03-26 15:04:05 +08:00
Kelvin Mwinuka
7fac4143f5 Moved utils.go file to internals folder 2024-03-26 14:00:18 +08:00
Kelvin Mwinuka
7cec2da854 Moved aof and snapshot packages to internal folder 2024-03-26 13:51:37 +08:00
Kelvin Mwinuka
5c86fb6215 Moved main.go file to cmd subfolder. Renamed src folder to pkg folder as it will contain all the importable package code. Moved config.go to new internals folder 2024-03-25 21:13:40 +08:00
Kelvin Mwinuka
c72e982833 Refactored EchoVault struct fields to make them private 2024-03-25 20:21:38 +08:00
Kelvin Mwinuka
893d577ed2 isInCluster is not a private function 2024-03-25 20:06:26 +08:00
Kelvin Mwinuka
54d0ae700a Removed Opts from echovault. NewEchoVault now entirely uses the option pattern 2024-03-25 17:22:18 +08:00
Kelvin Mwinuka
ba2ebaa6da Renamed 'server' package to 'echovault' 2024-03-25 16:26:09 +08:00
Kelvin Mwinuka
93cfb9caeb Renames Server struct and utils.Server interface to EchoVault and utils.EchoVault respectively 2024-03-25 16:23:16 +08:00
Kelvin Mwinuka
ea0092e7cc Check for nil rw object in LogStore before attemting a sync 2024-03-25 11:48:58 +08:00
Kelvin Mwinuka
12b55e1994 Update coverage report 2024-03-25 09:33:12 +08:00
Kelvin Mwinuka
0bfb9e4cca ignore context paramenter in Subscribe receiver function in PubSub struct 2024-03-25 09:30:37 +08:00
Kelvin Mwinuka
1aa6f87c5a In generic module test suite, add minites, seconds and milliseconds to the mock time 2024-03-24 17:55:30 +08:00
Kelvin Mwinuka
0cd8a4aec2 Implemented locking mechanism for ACL LOAD and ACL SAVE commands 2024-03-24 17:32:29 +08:00
Kelvin Mwinuka
2a7d47271b Add coverage file to tracked files 2024-03-23 20:58:35 +08:00