UNPKG

@joystick.js/db-canary

Version:

JoystickDB - A minimalist database server for the Joystick framework

64 lines (45 loc) 1.8 kB
import test from 'ava'; import { should_grow_map_size } from '../../../src/server/lib/disk_utils.js'; test('should_grow_map_size - should return new size when usage exceeds 80%', (t) => { const current_size = 1000; const used_size = 850; const disk_size = 10000; const result = should_grow_map_size(current_size, used_size, disk_size); t.is(result, 2000); }); test('should_grow_map_size - should return null when usage is below 80%', (t) => { const current_size = 1000; const used_size = 700; const disk_size = 10000; const result = should_grow_map_size(current_size, used_size, disk_size); t.is(result, null); }); test('should_grow_map_size - should cap at 80% of disk size', (t) => { const current_size = 1000; const used_size = 850; const disk_size = 1500; const result = should_grow_map_size(current_size, used_size, disk_size); const expected_max = Math.floor(1500 * 0.8); t.is(result, expected_max); }); test('should_grow_map_size - should return null if already at max', (t) => { const disk_size = 1000; const current_size = Math.floor(disk_size * 0.8); const used_size = current_size * 0.9; const result = should_grow_map_size(current_size, used_size, disk_size); t.is(result, null); }); test('should_grow_map_size - should handle edge case with zero usage', (t) => { const current_size = 1000; const used_size = 0; const disk_size = 10000; const result = should_grow_map_size(current_size, used_size, disk_size); t.is(result, null); }); test('should_grow_map_size - should handle exact 80% usage threshold', (t) => { const current_size = 1000; const used_size = 800; const disk_size = 10000; const result = should_grow_map_size(current_size, used_size, disk_size); t.is(result, 2000); });