summaryrefslogtreecommitdiff
path: root/test/kpod_stop.bats
blob: 72e818d40d614e79bd84ecd01457a58b1a68bb04 (plain)
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
#!/usr/bin/env bats

load helpers

function teardown() {
    cleanup_test
}

@test "stop a bogus container" {
    run ${KPOD_BINARY} ${KPOD_OPTIONS} stop foobar
    echo "$output"
    [ "$status" -eq 1 ]
}

@test "stop a running container by id" {
    start_crio
    run crioctl pod run --config "$TESTDATA"/sandbox_config.json
    echo "$output"
    [ "$status" -eq 0 ]
    pod_id="$output"
    run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
    echo "$output"
    [ "$status" -eq 0 ]
    ctr_id="$output"
    run crioctl ctr start --id "$ctr_id"
    echo "$output"
    id="$output"
    [ "$status" -eq 0 ]
    run ${KPOD_BINARY} ${KPOD_OPTIONS} stop "$id"
    echo "$output"
    [ "$status" -eq 0 ]
    cleanup_pods
    stop_crio
}

@test "stop a running container by name" {
    start_crio
    run crioctl pod run --config "$TESTDATA"/sandbox_config.json
    echo "$output"
    [ "$status" -eq 0 ]
    pod_id="$output"
    run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
    echo "$output"
    [ "$status" -eq 0 ]
    ctr_id="$output"
    run crioctl ctr start --id "$ctr_id"
    [ "$status" -eq 0 ]
    run crioctl ctr inspect --id "$ctr_id"
    echo "$output"
    [ "$status" -eq 0 ]
    ctr_name=$(python -c 'import json; import sys; print json.load(sys.stdin)["crio_annotations"]["io.kubernetes.cri-o.Name"]' <<< "$output")
    echo container name is \""$ctr_name"\"
    run ${KPOD_BINARY} ${KPOD_OPTIONS} stop "$ctr_name"
    echo "$output"
    [ "$status" -eq 0 ]
    cleanup_pods
    stop_crio
}