nucypher-experimental-taco-storage
Version:
TypeScript SDK for encrypted data storage with TACo (Threshold Access Control), supporting multiple storage providers including IPFS and SQLite
80 lines • 2.82 kB
JavaScript
;
/**
* Test setup and utilities
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTestData = exports.cleanupTempFiles = exports.MOCK_IPFS_REFERENCE = exports.MOCK_IPFS_HASH = exports.TEST_ADDRESSES = exports.generateBinaryTestData = exports.generateTestData = exports.createMockEncryptionResult = exports.createMockSigner = exports.createMockProvider = exports.TEST_TIMEOUT = void 0;
const ethers_1 = require("ethers");
// Global test setup
beforeAll(async () => {
// Setup global mocks
});
afterAll(async () => {
// Any global cleanup needed for tests
});
// Test utilities
exports.TEST_TIMEOUT = 30000; // 30 seconds
const createMockProvider = () => ({
getNetwork: jest.fn().mockResolvedValue({ chainId: 1 }),
getBlockNumber: jest.fn().mockResolvedValue(12345),
getBalance: jest.fn().mockResolvedValue(ethers_1.ethers.utils.parseEther('1.0')),
});
exports.createMockProvider = createMockProvider;
const createMockSigner = () => ({
getAddress: jest.fn().mockResolvedValue('0x1234567890123456789012345678901234567890'),
signMessage: jest.fn().mockResolvedValue('mock-signature'),
connect: jest.fn().mockReturnThis(),
});
exports.createMockSigner = createMockSigner;
const createMockEncryptionResult = () => ({
messageKit: [1, 2, 3, 4, 5, 6, 7, 8],
conditions: [{
type: 'time',
endTime: Math.floor(Date.now() / 1000) + 3600,
}],
});
exports.createMockEncryptionResult = createMockEncryptionResult;
// Mock data generators
const generateTestData = (size = 100) => {
return 'x'.repeat(size);
};
exports.generateTestData = generateTestData;
const generateBinaryTestData = (size = 100) => {
const data = new Uint8Array(size);
for (let i = 0; i < size; i++) {
data[i] = i % 256;
}
return data;
};
exports.generateBinaryTestData = generateBinaryTestData;
// Common test constants
exports.TEST_ADDRESSES = {
VALID_ETH_ADDRESS: '0x1234567890123456789012345678901234567890',
VALID_CONTRACT_ADDRESS: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
};
exports.MOCK_IPFS_HASH = 'QmTestHash1234567890';
exports.MOCK_IPFS_REFERENCE = `ipfs://${exports.MOCK_IPFS_HASH}`;
// Cleanup helper
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
}
});
};
exports.cleanupTempFiles = cleanupTempFiles;
const createTestData = (size = 1024) => {
const data = new Uint8Array(size);
for (let i = 0; i < size; i++) {
data[i] = i % 256;
}
return data;
};
exports.createTestData = createTestData;
//# sourceMappingURL=setup.js.map