1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-17 14:37:02 +00:00
Files
go-chasquid-smtp/test/Dockerfile
Alberto Bertogli 029bca7013 test: Add TLS tracking integration test
This patch adds a new test, which verifies the TLS tracking.

Because we need to simulate SPF records, and Go does not support fully
intercepting DNS lookups yet, this test relies on dnsmasq to provide a
DNS resolver.

In the future, once Go supports DNS lookup interception, we can get rid
of this additional dependency.
2018-06-02 19:31:28 +01:00

47 lines
1.3 KiB
Docker

# Docker file for creating a docker container that can run the tests.
#
# Create the image:
# docker build -t chasquid-test -f test/Dockerfile .
#
# Run the tests:
# docker run --rm chasquid-test make test
#
# Get a shell inside the image (for debugging):
# docker run -it --entrypoint=/bin/bash chasquid-test
FROM golang:latest
WORKDIR /go/src/blitiri.com.ar/go/chasquid
COPY . .
# Make debconf/frontend non-interactive, to avoid distracting output about the
# lack of $TERM.
ENV DEBIAN_FRONTEND noninteractive
# Install the basics for the integration tests.
RUN apt-get update -q
RUN apt-get install -y -q python3 msmtp
# Packages for the (optional) dovecot integration test.
RUN apt-get install -y -q gettext-base dovecot-imapd
# Packages for the (optional) exim integration test.
RUN apt-get install -y -q exim4-daemon-light
RUN cd test/t-02-exim && mkdir -p .exim4 && ln -s /usr/sbin/exim4 .exim4/
# Packages for the (optional) TLS tracking test.
RUN apt-get install -y -q dnsmasq
RUN go get -d ./...
RUN go install ./...
# Don't run the tests as root: it makes some integration tests more difficult,
# as for example Exim has hard-coded protections against running as root.
RUN useradd -m chasquid
RUN chown -R chasquid:chasquid .
USER chasquid
# Tests expect the $USER variable set.
ENV USER chasquid