UNPKG

filecoin-pin

Version:

Bridge IPFS content to Filecoin Onchain Cloud using familiar tools

46 lines 1.9 kB
import { homedir, platform } from 'node:os'; import { join } from 'node:path'; import { RPC_URLS } from '@filoz/synapse-sdk'; import { describe, expect, it } from 'vitest'; import { createConfig } from '../../config.js'; describe('Config', () => { it('should create default config', () => { const config = createConfig(); // Get expected data directory based on platform const home = homedir(); const plat = platform(); let expectedDataDir; if (plat === 'linux') { expectedDataDir = process.env.XDG_DATA_HOME ?? join(home, '.local', 'share', 'filecoin-pin'); } else if (plat === 'darwin') { expectedDataDir = join(home, 'Library', 'Application Support', 'filecoin-pin'); } else if (plat === 'win32') { expectedDataDir = join(process.env.APPDATA ?? join(home, 'AppData', 'Roaming'), 'filecoin-pin'); } else { expectedDataDir = join(home, '.filecoin-pin'); } expect(config.port).toBe(3456); expect(config.host).toBe('localhost'); expect(config.rpcUrl).toBe(RPC_URLS.calibration.websocket); expect(config.databasePath).toBe(join(expectedDataDir, 'pins.db')); expect(config.carStoragePath).toBe(join(expectedDataDir, 'cars')); expect(config.logLevel).toBe('info'); }); it('should use environment variables when provided', () => { process.env.PORT = '8080'; process.env.HOST = '0.0.0.0'; process.env.LOG_LEVEL = 'debug'; const config = createConfig(); expect(config.port).toBe(8080); expect(config.host).toBe('0.0.0.0'); expect(config.logLevel).toBe('debug'); // Clean up delete process.env.PORT; delete process.env.HOST; delete process.env.LOG_LEVEL; }); }); //# sourceMappingURL=config.test.js.map