Home

Awesome

Event Store gRPC Client Integration Test Container

This repository contains a known data set and Dockerfile to build a test container against which integration tests for Event Store gRPC-based clients can run.

The container is built automatically based on the version specified in the Dockerfile, and pushed to the GitHub Package Repository.

Usage

The data set is located in /var/lib/eventstore in the image. Consequently, the same image can be used to provision either a new, blank, ephemeral database, or to start with the known data set.

For example, the following Docker Compose file is used for EventStore-Client-Java to start with the known data set:

version: '3'

services:
  eventstore:
    image: ghcr.io/eventstore/testdata:ci
    ports:
      - 1113:1113/tcp
      - 1114:1114/tcp
      - 2113:2113/tcp
      - 2114:2114/tcp
    healthcheck:
      interval: 1s
      timeout: 1s
      retries: 10 
    volumes:
    - ./src/test/resources/server1.pfx:/opt/eventstore/certs/server1.pfx
    environment:
      EVENTSTORE_DB: /data/integration-tests
      EVENTSTORE_CERTIFICATE_FILE: /opt/eventstore/certs/server1.pfx
      EVENTSTORE_CERTIFICATE_PASSWORD: changeit

Rebuilding

The Event Store Server image from which this test image is constructed has a source version specified in the Dockerfile, which should be modified when a new build is needed. To publish with GitHub actions, run the action manually and specify the base tag, e.g., ci or 21.10.0-buster-slim.