39 Commits

Author SHA1 Message Date
Kelvin Mwinuka
63a4652d9f Refactor tests (#171)
- Refactored tests to improve execution time - @kelvinmwinuka
2025-01-27 01:42:41 +08:00
Kelvin Mwinuka
108bf97b4d Extend SugarDB Commands Using Lua Scripts (#155)
* Extend SugarDB by creating new commands using Lua - @kelvinmwinuka
2024-12-12 09:50:43 +08:00
osteensco
3b15061dbc improved docker test environment (#153)
* Test environment enhancement - @osteensco
2024-11-26 20:20:01 +08:00
Nicole Streltsov
974ba1b0dc Create benchmark comparison script against Redis (#143)
* Create benchmark comparison script against Redis - @NicoleStrel
2024-11-01 16:56:17 +08:00
Kelvin Mwinuka
703ad2a802 Rename the project to SugarDB. (#130)
Renames project to "SugarDB" - @kelvinmwinuka
2024-09-22 21:31:12 +08:00
Scott Osteen
5ea1da8f4e added makefile command 2024-08-09 21:19:03 -05:00
Kelvin Mwinuka
c6a85b6cbb Moved volumes folder to internal folder. Moved main.go file to the project's root instead of the cmd directory. 2024-07-04 11:50:35 +08:00
Kelvin Clement Mwinuka
b87c836845 Added Makefile commands for building local binary 2024-06-17 20:19:20 +08:00
Kelvin Clement Mwinuka
695e777e05 Removed unused Makefile commands for building modules and echovault server. The build step is now handled by the dev dockerfile 2024-06-13 22:37:51 +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
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
f894a531b0 Added happy path test case for data replication 2024-05-22 16:11:00 +08:00
Kelvin Clement Mwinuka
aa7b5fa8cc Added ZRemRangeByLex and ZRemRangeByRank to embedded API. 2024-05-14 02:11:10 +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
c5c1487799 Fixed race condition in admin module commands tests by passing --race flag to build command for modules 2024-05-08 23:53:12 +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
0f6ae1c8ac Implemented LoadModules method to load external modules at runtime.
Implemented UnloadModules method to remove modules at runtime.
Implemented ListModules method to list the current loaded modules.
Implemented "MODULE LOAD", "MODULE UNLOAD", and "MODULE LIST" commands.
2024-05-03 11:57:21 +08:00
Kelvin Clement Mwinuka
b6ddb43a49 Removed duplicate imports for set, sorted_set, pubsub and acl modules. Moved /modules from /pkg to /internal. Delted commands package: Commands will now be automatically loaded when an EchoVault instance is initialised. 2024-04-24 22:37:16 +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 Mwinuka
3bf9e25002 Fixed race conditions in acl module tests 2024-04-05 23:05:23 +08:00
Kelvin Mwinuka
ede342a452 Implemented unit tests for generic module API 2024-04-01 22:37:26 +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
2a7d47271b Add coverage file to tracked files 2024-03-23 20:58:35 +08:00
Kelvin Clement Mwinuka
5c347cb7de Changed max-memory to uint64. Added TODO commends on how to handle memory checking for key eviction. 2024-03-05 22:45:05 +08:00
Kelvin Clement Mwinuka
c8a2700ab1 Remvoed CGO_ENABLED env var on go build command in makefile 2024-02-23 05:03:16 +08:00
Kelvin Clement Mwinuka
69d558e37c Edited makefile test command to include code coverate stats 2024-02-18 02:52:35 +08:00
Kelvin Clement Mwinuka
5fea54fa94 Fixed HGETALL flaky test 2024-02-15 23:35:34 +08:00
Kelvin Clement Mwinuka
e7c7cf1553 Deleted plugin folder.
Removed nested plugin in command list for modules.
Moved PubSub feature from plugin folder to modules folder.
2023-12-13 01:56:55 +08:00
Kelvin Clement Mwinuka
acc3e1961b Moved get, list, ping, set, and string plugins into internal modules folder. This should simplify future testing efforts. 2023-12-13 00:37:21 +08:00
Kelvin Clement Mwinuka
b9befc29f7 Removed MSETNX command from set plugin. Created string plugin for handling string operations 2023-12-05 14:14:38 +08:00
Kelvin Clement Mwinuka
6a5cac5dd3 Separate plugin util functions and new file for pubsub type in pubsub plugin. Removed dependency on server utils in pubsub plugin 2023-12-04 14:29:18 +08:00
Kelvin Clement Mwinuka
20cce40940 Created plugin for pubsub functionality 2023-12-03 12:10:53 +08:00
Kelvin Clement Mwinuka
40d9989a5a Moved GET, MGET commands into a separate plugin.
Introduced, Key-level locks instead of store-wide locks when retrieving/updating values.
2023-11-16 14:03:21 +08:00
Kelvin Clement Mwinuka
974fc24617 Removed client subdirectory from monorepo into its own repository.
Renamed "server" subdirectory to "src" as this entire derectory now only has server code.
Removed "bin" directory to project root.
Moved Dockerfile to project root.
2023-11-10 22:42:23 +08:00
Kelvin Clement Mwinuka
9b830f9750 Removed Makefile. Added plugins config 2023-07-03 08:41:07 +08:00
Kelvin Clement Mwinuka
c8cc156456 Created server and client sub-folders 2023-06-17 21:31:13 +08:00
Kelvin Clement Mwinuka
4875124825 Makefile formatting 2023-06-17 20:29:30 +08:00
Kelvin Clement Mwinuka
0baece9fa3 Created makefile 2023-06-17 20:23:58 +08:00