- Implemented comprehensive integration tests for user management, category management, content publishing, comment system, performance, scalability, and network resilience. - Created DockerNodeManager to manage Docker containers for testing. - Developed ApiClient for API interactions and health checks. - Introduced SyncWaiter for synchronizing node states and ensuring data consistency. - Enhanced test reliability with increased timeouts and detailed logging.
30 lines
785 B
Docker
30 lines
785 B
Docker
# Bootstrap node for IPFS peer discovery
|
|
FROM node:18-alpine
|
|
|
|
# Install dependencies
|
|
RUN apk add --no-cache curl jq
|
|
|
|
# Create app directory
|
|
WORKDIR /app
|
|
|
|
# Install IPFS
|
|
RUN wget https://dist.ipfs.tech/kubo/v0.24.0/kubo_v0.24.0_linux-amd64.tar.gz \
|
|
&& tar -xzf kubo_v0.24.0_linux-amd64.tar.gz \
|
|
&& mv kubo/ipfs /usr/local/bin/ \
|
|
&& rm -rf kubo kubo_v0.24.0_linux-amd64.tar.gz
|
|
|
|
# Copy swarm key
|
|
COPY tests/real-integration/blog-scenario/docker/swarm.key /data/swarm.key
|
|
|
|
# Initialize IPFS
|
|
RUN ipfs init --profile=test
|
|
|
|
# Copy configuration script
|
|
COPY tests/real-integration/blog-scenario/docker/bootstrap-config.sh /app/bootstrap-config.sh
|
|
RUN chmod +x /app/bootstrap-config.sh
|
|
|
|
# Expose IPFS ports
|
|
EXPOSE 4001 5001 8080
|
|
|
|
# Start IPFS daemon
|
|
CMD ["/app/bootstrap-config.sh"] |