Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
defiQUG
2026-02-10 11:32:49 -08:00
parent 4d4f8cedad
commit 903c03c65b
815 changed files with 125522 additions and 264 deletions

View File

@@ -0,0 +1,79 @@
package track1
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestInMemoryCache_GetSet(t *testing.T) {
cache := NewInMemoryCache()
key := "test-key"
value := []byte("test-value")
ttl := 5 * time.Minute
// Test Set
err := cache.Set(key, value, ttl)
require.NoError(t, err)
// Test Get
retrieved, err := cache.Get(key)
require.NoError(t, err)
assert.Equal(t, value, retrieved)
}
func TestInMemoryCache_Expiration(t *testing.T) {
cache := NewInMemoryCache()
key := "test-key"
value := []byte("test-value")
ttl := 100 * time.Millisecond
err := cache.Set(key, value, ttl)
require.NoError(t, err)
// Should be available immediately
retrieved, err := cache.Get(key)
require.NoError(t, err)
assert.Equal(t, value, retrieved)
// Wait for expiration
time.Sleep(150 * time.Millisecond)
// Should be expired
_, err = cache.Get(key)
assert.Error(t, err)
assert.Equal(t, ErrCacheMiss, err)
}
func TestInMemoryCache_Miss(t *testing.T) {
cache := NewInMemoryCache()
_, err := cache.Get("non-existent-key")
assert.Error(t, err)
assert.Equal(t, ErrCacheMiss, err)
}
func TestInMemoryCache_Cleanup(t *testing.T) {
cache := NewInMemoryCache()
// Set multiple keys with short TTL
for i := 0; i < 10; i++ {
key := "test-key-" + string(rune(i))
cache.Set(key, []byte("value"), 50*time.Millisecond)
}
// Wait for expiration
time.Sleep(200 * time.Millisecond)
// All should be expired after cleanup
for i := 0; i < 10; i++ {
key := "test-key-" + string(rune(i))
_, err := cache.Get(key)
assert.Error(t, err)
}
}