Test Scripts for Plugin SDK Replication
This directory contains test scripts for researching and developing HyperDB and Hyperdrive replication over the global topic.
Scripts
test-sdk-integration.js
Tests basic SDK integration including plugin domain reading from config.json and global topic access.
test-sdk-methods.js
Tests SDK methods to ensure they work correctly with the new plugin context system.
test-replication-managers.js
Tests the replication managers to ensure they use the global topic correctly.
test-sdk-hyperdb-replication.js ⭐ Real-World Example
Comprehensive test demonstrating HyperDB usage through the SDK:
- Setting up HyperDB from config.json
- Using SDK methods (insert, get, find, flush)
- Replication setup with global topic
- Real-world plugin structure
test-sdk-hyperdrive-replication.js ⭐ Real-World Example
Comprehensive test demonstrating Hyperdrive usage through the SDK:
- Creating Hyperdrive instances via SDK
- Storing and retrieving files
- File operations (list, read, delete, symlink)
- Replication setup with global topic
- Real-world plugin structure
test-p2p-hyperdb-simple.js ⭐ Peer-to-Peer Test
Simplified peer-to-peer HyperDB replication test:
- Two peers in same process
- Peer1 inserts data, Peer2 receives it
- Peer2 inserts data, Peer1 receives it
- Verifies bidirectional replication works
- Uses global topic for replication
test-p2p-hyperdrive-simple.js ⭐ Peer-to-Peer Test
Simplified peer-to-peer Hyperdrive replication test:
- Two peers in same process
- Peer1 writes files, Peer2 receives them
- Peer2 writes files, Peer1 receives them
- Verifies bidirectional file replication works
- Uses global topic for replication
test-p2p-hyperdb-replication.js (Advanced)
Full peer-to-peer test with separate processes. Requires network connectivity for DHT discovery.
test-p2p-hyperdrive-replication.js (Advanced)
Full peer-to-peer test with separate processes. Requires network connectivity for DHT discovery.
test-hyperdb-replication.js (Legacy)
Low-level HyperDB replication test. Use test-sdk-hyperdb-replication.js for SDK-based testing.
test-hyperdrive-replication.js (Legacy)
Low-level Hyperdrive replication test. Use test-sdk-hyperdrive-replication.js for SDK-based testing.
Usage
Recommended: Real-World SDK Tests
Run the comprehensive SDK tests that demonstrate actual plugin usage:
# Test HyperDB with SDK
node test-scripts/test-sdk-hyperdb-replication.js
# Test Hyperdrive with SDK
node test-scripts/test-sdk-hyperdrive-replication.js
# Test peer-to-peer HyperDB replication (simplified)
node test-scripts/test-p2p-hyperdb-simple.js
# Test peer-to-peer Hyperdrive replication (simplified)
node test-scripts/test-p2p-hyperdrive-simple.js
Basic Tests
# Test SDK integration
node test-scripts/test-sdk-integration.js
# Test SDK methods
node test-scripts/test-sdk-methods.js
# Test replication managers
node test-scripts/test-replication-managers.js
Legacy Tests (Low-Level)
node test-scripts/test-hyperdb-replication.js
node test-scripts/test-hyperdrive-replication.js
Requirements
- Node.js with required dependencies (hyperdb, hyperdrive, hyperswarm, corestore)
- Access to the P2NS codebase
- Two or more peers for replication testing
Notes
These scripts are for research and development purposes. They help validate the replication architecture before integrating into the main SDK.