forked from docker-archive/vol-test
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsinglenode.bats
81 lines (65 loc) · 2.23 KB
/
singlenode.bats
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/env bats
load test_helper
@test "Test: Install plugin for driver ($driver)" {
#skip "Faster for rev during development without it - leave driver installed"
run $prefix docker plugin install --grant-all-permissions $driver $pluginopts
assert_success
}
@test "Test: Create volume using driver ($driver)" {
run $prefix docker volume create --driver $driver $createopts testvol
assert_success
}
@test "Test: Confirm volume is created (volume ls) using driver ($driver)" {
run $prefix docker volume ls
assert_line --partial "testvol"
}
@test "Test: Confirm docker volume inspect works using driver ($driver)" {
run $prefix docker volume inspect testvol
assert_line --partial "\"Driver\": \"$driver"
}
@test "Start a container and mount the volume" {
run $prefix docker run -it -d --name mounter -v testvol:/data ubuntu /bin/bash
assert_success
}
@test "Write a textfile to the volume" {
run $prefix -t 'docker exec -it mounter /bin/bash -c "echo \"testdata\" > /data/foo.txt"'
assert_success
}
@test "Confirm textfile contents on the volume" {
run $prefix -t docker exec -it mounter cat /data/foo.txt
assert_line --partial "testdata"
}
@test "Create a binary file" {
run $prefix -t docker exec -it 'mounter dd if=/dev/urandom of=/data/random bs=10M count=1'
assert_output --partial "10 M"
}
@test "get a checksum for that binary file" {
run $prefix -t 'docker exec -it mounter /bin/bash -c "md5sum /data/random > /data/checksum"'
assert_success
}
@test "Confirm checksum" {
run $prefix -t docker exec -it mounter md5sum --check /data/checksum
assert_success
}
@test "Destroy container" {
run $prefix docker stop mounter
run $prefix docker rm mounter
assert_success
}
@test "Let's see if our data is still here" {
run $prefix docker run -it -d --name mounter -v testvol:/data ubuntu /bin/bash
assert_success
}
@test "Confirm textfile contents are still on the volume" {
run $prefix -t docker exec -it mounter cat /data/foo.txt
assert_line --partial "testdata"
}
@test "Confirm checksum persistence" {
run $prefix -t docker exec -it mounter md5sum --check /data/checksum
assert_success
}
@test "Destroy container" {
run $prefix docker stop mounter
run $prefix docker rm mounter
assert_success
}