Skip to content
Snippets Groups Projects
  • Jonas Theis's avatar
    14948393
    Integration tests (#312) · 14948393
    Jonas Theis authored
    * Add docker compose for running integration tests.
    Runs entry_node and arbitrary number of peers in docker network
    
    * Fix permission denied in container if run without mounting a `rw` volume making it possible to run as throw-away container.
    Remove `VOLUME` from Dockerfile as this only pollutes host system with anonymous volumes.
    
    * Use named network for easier external use
    
    * Add test container that discovers peers and waits for autopeering to happen
    
    * Fix min waitForNeighbors
    
    * Add go.sum
    
    * Run integration tests with Github Actions
    
    * Added framework that abstracts the docker network and provides convenience functionality
    
    * Update directory in Github Actions
    
    * Add bash script for automated local test execution
    
    * Add getMessageByHash endpoint
    
    * Adjust to merge changes
    
    * Add methods to easily do HTTP POST requests
    
    * Added relay message test
    
    * Increase client timeout
    
    * Verbose output for tests makes it easier to follow the execution
    
    * Introduce small API wrapper for GoShimmer HTTP API
    
    * Adjust relay test to use new API wrapper
    
    * WIP: Docker logs
    
    * Fix issue with serving visualizer analysis server of entry node
    
    * Persist logs of containers after CI run
    
    * Fix test file
    
    * Fix uploading of artifacts
    
    * Save all containers' logs as artifacts
    
    * Create logs files also with local run
    
    * Add possibility to retrieve logs from a peer via Docker logs
    
    * Make tester part of the goshimmer module to make code sharing possible
    
    * Use client/lib to make HTTP requests in tester
    
    * Fix unit test directory
    
    * Add comments/doc to the code
    
    * Add readme
    
    * Move tester to own module and don't build container but use existing golang one instead
    
    * Address PR comments
    
    * Adjust to merge
    
    * Only use 1 config file for all containers
    
    * go mod tidy
    
    * Rename client lib base url
    Integration tests (#312)
    Jonas Theis authored
    * Add docker compose for running integration tests.
    Runs entry_node and arbitrary number of peers in docker network
    
    * Fix permission denied in container if run without mounting a `rw` volume making it possible to run as throw-away container.
    Remove `VOLUME` from Dockerfile as this only pollutes host system with anonymous volumes.
    
    * Use named network for easier external use
    
    * Add test container that discovers peers and waits for autopeering to happen
    
    * Fix min waitForNeighbors
    
    * Add go.sum
    
    * Run integration tests with Github Actions
    
    * Added framework that abstracts the docker network and provides convenience functionality
    
    * Update directory in Github Actions
    
    * Add bash script for automated local test execution
    
    * Add getMessageByHash endpoint
    
    * Adjust to merge changes
    
    * Add methods to easily do HTTP POST requests
    
    * Added relay message test
    
    * Increase client timeout
    
    * Verbose output for tests makes it easier to follow the execution
    
    * Introduce small API wrapper for GoShimmer HTTP API
    
    * Adjust relay test to use new API wrapper
    
    * WIP: Docker logs
    
    * Fix issue with serving visualizer analysis server of entry node
    
    * Persist logs of containers after CI run
    
    * Fix test file
    
    * Fix uploading of artifacts
    
    * Save all containers' logs as artifacts
    
    * Create logs files also with local run
    
    * Add possibility to retrieve logs from a peer via Docker logs
    
    * Make tester part of the goshimmer module to make code sharing possible
    
    * Use client/lib to make HTTP requests in tester
    
    * Fix unit test directory
    
    * Add comments/doc to the code
    
    * Add readme
    
    * Move tester to own module and don't build container but use existing golang one instead
    
    * Address PR comments
    
    * Adjust to merge
    
    * Only use 1 config file for all containers
    
    * go mod tidy
    
    * Rename client lib base url
docker-compose.yml 845 B
version: "3"

services:

  goshimmer:
    network_mode: host
    image: iotaledger/goshimmer
    build:
      context: ./
      dockerfile: Dockerfile
    container_name: iota_goshimmer
    restart: unless-stopped
    # Mount volumes:
    # make sure to give read/write access to the folder ./mainnetdb (e.g., chmod -R 777 ./mainnetdb)
    # optionally, you can mount a config.json into the container
    volumes:
      - ./mainnetdb/:/tmp/mainnetdb/:rw
      #- ./config.json:/config.json:ro
    # Expose ports:
    # gossip:       - "14666:14666/tcp"
    # autopeering:  - "14626:14626/udp"
    # webAPI:       - "8080:8080/tcp"
    # dashboard:    - "8081:8081/tcp"
    # graph:        - "8082:8082/tcp"
    ports:
      - "14666:14666/tcp"
      - "14626:14626/udp"
      #- "8080:8080/tcp"
      #- "8081:8081/tcp"
      #- "8082:8082/tcp"