sharness: add t0300-docker-image.sh
License: MIT Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Christian Couder committed
Dec 13, 2015 at 14:05 UTC
d356ed0d53c37cd4cfbb90385a65c238335743fa
1 file changed
+60
test/sharness/t0300-docker-image.sh
new
+60
@@ -0,0 +1,60 @@
1
+#!/bin/sh
2
+#
3
+# Copyright (c) 2015 Christian Couder
4
+# MIT Licensed; see the LICENSE file in this repository.
5
+#
6
+
7
+test_description="Test docker image"
8
+
9
+. lib/test-lib.sh
10
+
11
+test_expect_success "docker is installed" '
12
+ type docker
13
+'
14
+
15
+test_expect_success "'docker --version' works" '
16
+ docker --version >actual
17
+'
18
+
19
+test_expect_success "'docker --version' output looks good" '
20
+ egrep "^Docker version" actual
21
+'
22
+
23
+test_expect_success "current user is in the 'docker' group" '
24
+ groups | egrep "\bdocker\b"
25
+'
26
+
27
+TEST_TRASH_DIR=$(pwd)
28
+TEST_SCRIPTS_DIR=$(dirname "$TEST_TRASH_DIR")
29
+TEST_TESTS_DIR=$(dirname "$TEST_SCRIPTS_DIR")
30
+APP_ROOT_DIR=$(dirname "$TEST_TESTS_DIR")
31
+
32
+test_expect_success "docker image build succeeds" '
33
+ docker_build "$APP_ROOT_DIR" >actual
34
+'
35
+
36
+test_expect_success "docker image build output looks good" '
37
+ SUCCESS_LINE=$(egrep "^Successfully built" actual) &&
38
+ IMAGE_ID=$(expr "$SUCCESS_LINE" : "^Successfully built \(.*\)") ||
39
+ test_fsh cat actual
40
+'
41
+
42
+test_expect_success "docker image runs" '
43
+ DOC_ID=$(docker_run "$IMAGE_ID")
44
+'
45
+
46
+test_expect_success "simple command can be run in docker container" '
47
+ docker_exec "$DOC_ID" "echo Hello Worlds" >actual
48
+'
49
+
50
+test_expect_success "simple command output looks good" '
51
+ echo "Hello Worlds" >expected &&
52
+ test_cmp expected actual
53
+'
54
+
55
+test_expect_success "stop docker container" '
56
+ docker_stop "$DOC_ID"
57
+'
58
+
59
+test_done
60
+