UNPKG

nucypher-experimental-taco-storage

Version:

TypeScript SDK for encrypted data storage with TACo (Threshold Access Control), supporting multiple storage providers including IPFS and SQLite

70 lines 2.13 kB
/** * Test setup and utilities */ import { ethers } from 'ethers'; // Global test setup beforeAll(async () => { // Setup global mocks }); afterAll(async () => { // Any global cleanup needed for tests }); // Test utilities export const TEST_TIMEOUT = 30000; // 30 seconds export const createMockProvider = () => ({ getNetwork: jest.fn().mockResolvedValue({ chainId: 1 }), getBlockNumber: jest.fn().mockResolvedValue(12345), getBalance: jest.fn().mockResolvedValue(ethers.utils.parseEther('1.0')), }); export const createMockSigner = () => ({ getAddress: jest.fn().mockResolvedValue('0x1234567890123456789012345678901234567890'), signMessage: jest.fn().mockResolvedValue('mock-signature'), connect: jest.fn().mockReturnThis(), }); export const createMockEncryptionResult = () => ({ messageKit: [1, 2, 3, 4, 5, 6, 7, 8], conditions: [{ type: 'time', endTime: Math.floor(Date.now() / 1000) + 3600, }], }); // Mock data generators export const generateTestData = (size = 100) => { return 'x'.repeat(size); }; export const generateBinaryTestData = (size = 100) => { const data = new Uint8Array(size); for (let i = 0; i < size; i++) { data[i] = i % 256; } return data; }; // Common test constants export const TEST_ADDRESSES = { VALID_ETH_ADDRESS: '0x1234567890123456789012345678901234567890', VALID_CONTRACT_ADDRESS: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', }; export const MOCK_IPFS_HASH = 'QmTestHash1234567890'; export const MOCK_IPFS_REFERENCE = `ipfs://${MOCK_IPFS_HASH}`; // Cleanup helper export const cleanupTempFiles = (files) => { files.forEach(file => { try { const fs = require('fs'); if (fs.existsSync(file)) { fs.unlinkSync(file); } } catch (error) { // Ignore cleanup errors in tests } }); }; export const createTestData = (size = 1024) => { const data = new Uint8Array(size); for (let i = 0; i < size; i++) { data[i] = i % 256; } return data; }; //# sourceMappingURL=setup.js.map