SEBA-902 single-olt tests;
Pin protoc-gen-go to 1.3.2 to resolve compatibility issue;
Run go mod tidy / go mod vendor on importer;
Add Go Module support to demotest

Change-Id: Ifde824fc9a6317b0adc1e12bea54ee1f9b788906
diff --git a/demo_test/Dockerfile b/demo_test/Dockerfile
index d7113ba..01e3163 100644
--- a/demo_test/Dockerfile
+++ b/demo_test/Dockerfile
@@ -16,18 +16,14 @@
 FROM golang:1.12 AS build-env
 SHELL ["/bin/bash", "-o",  "pipefail", "-c"]
 RUN /bin/true | cat
+ENV GO111MODULE=on
 RUN apt-get update && apt-get install --no-install-recommends -y --allow-downgrades \
 	git=1:2.20.1-2+deb10u1 \
 	gcc=4:8.3.0-1 \
 	curl=7.64.0-4 \
 	unzip=6.0-23+deb10u1
-# Install these prereqs now so they get built into a container layer and cached
-# TODO: Revisit once demo-test implements mod=vendor
-RUN go get -v google.golang.org/grpc \
-	&& go get -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway \
-	&& go get -v github.com/golang/protobuf/protoc-gen-go \
-	&& go get github.com/sirupsen/logrus \
-	&& go get github.com/Shopify/sarama
+# Install protoc-gen-go.
+RUN go get -v github.com/golang/protobuf/protoc-gen-go@v1.3.2
 # Install protoc, same steps as in main importer dockerfile
 ENV PROTOC_VERSION="3.7.0"
 ENV PROTOC_SHA256SUM="a1b8ed22d6dc53c5b8680a6f1760a305b33ef471bece482e92728f00ba2a2969"
@@ -40,20 +36,19 @@
 RUN mkdir /app
 COPY . /app/
 WORKDIR /app
-ENV GO111MODULE=on
 ENV PROTOC_VERSION="3.7.0"
 ENV PROTOC_SHA256SUM="a1b8ed22d6dc53c5b8680a6f1760a305b33ef471bece482e92728f00ba2a2969"
 
 WORKDIR /app/demo_test
-RUN make prereq
 RUN make proto/importer.pb.go
 # Note: "make demotest" produces an executable that throws "No such file" errors. Investigate.
-RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -o demotest .
+RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -mod=vendor -o demotest .
 
 # Also build the client, as having it inside the container may facilitate testing without
-# having to setup port forwardin
+# having to setup port forwarding. `dm` does not use go.mod, so make sure GO111MODULE is
+# turned off.
 WORKDIR /app/demo_test/functional_test
-RUN GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -o dm .
+RUN GO111MODULE=off CGO_ENABLED=0 GOOS=linux go build -o dm .
 
 FROM alpine:3.9.4
 WORKDIR /app/demo_test