2.2 KiB
2.2 KiB
Overview
The RepositoryExplorerTest contract is a comprehensive test suite for the RepositoryExplorer and Repository smart contracts, designed to validate core repository management functionality on the ChunkNet blockchain environment.
Interface
| Function | Parameters | Returns | Description |
|---|---|---|---|
setUp() |
None | None | Initializes test environment with owner and test user |
testCreateRepository() |
None | None | Validates repository creation process |
testAddRepositoryContent() |
None | None | Tests adding content to a repository |
testTransferRepositoryOwnership() |
None | None | Checks repository ownership transfer mechanism |
testCannotCreateRepositoryWithEmptyName() |
None | None | Ensures empty repository names are rejected |
testMultipleRepositoryCreation() |
None | None | Verifies multiple repository creation |
testRepositoryContentLimits() |
None | None | Validates content addition limits |
Events
No explicit events are tested in this contract, but the underlying Repository contract likely emits events for:
- Repository Creation
- Content Addition
- Ownership Transfer
Storage Layout
repositoryExplorer: RepositoryExplorer contract instancerepository: Repository contract instanceowner: Contract deployer addresstestUser: Test user address
Access Control
- Repository creation restricted to authenticated users
- Repository content addition requires ownership
- Ownership transfer requires current owner's permission
Security Considerations
- Input validation for repository names
- Ownership transfer mechanism
- Content hash and type validation
- Prevent empty repository names
Deployment
ChunkNet Devnet Deployment
- RPC URL: https://rpc.chunknet.org
- Chain ID: 214562
- Recommended Deployment Steps:
- Set CHUNK_CHAIN_RPC_URL environment variable
- Use Foundry or Hardhat for deployment
- Verify contract on ChunkNet explorer at https://explorer.chunknet.org
Testing
- Comprehensive test coverage for repository operations
- Tests validate core contract functionalities
- Uses Foundry's
forge-std/Test.soltesting framework - Covers edge cases and typical usage scenarios