summaryrefslogtreecommitdiff
path: root/test/podman_import.bats
blob: b665b789ea0237509e098e560979424b34417916 (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/usr/bin/env bats

load helpers

IMAGE="redis:alpine"

function teardown() {
    cleanup_test
}

function setup() {
    prepare_network_conf
    copy_images
}

@test "podman import with source and reference" {
    skip "Test needs to be converted to podman run bash -c"
    start_crio
    run bash -c crioctl pod run bash -c --config "$TESTDATA"/sandbox_config.json
    echo "$output"
    [ "$status" -eq 0 ]
    pod_id="$output"
    run bash -c crioctl image pull "$IMAGE"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
    echo "$output"
    [ "$status" -eq 0 ]
    ctr_id="$output"
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} export -o container.tar "$ctr_id"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} import container.tar imported-image
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} images
    echo "$output"
    [ "$status" -eq 0 ]
    images="$output"
    run bash -c grep "imported-image" <<< "$images"
    echo "$output"
    [ "$status" -eq 0 ]
    cleanup_ctrs
    cleanup_pods
    stop_crio
    rm -f container.tar
}

@test "podman import without reference" {
    skip "Test needs to be converted to podman run bash -c"
    start_crio
    run bash -c crioctl pod run bash -c --config "$TESTDATA"/sandbox_config.json
    echo "$output"
    [ "$status" -eq 0 ]
    pod_id="$output"
    run bash -c crioctl image pull "$IMAGE"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
    echo "$output"
    [ "$status" -eq 0 ]
    ctr_id="$output"
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} export -o container.tar "$ctr_id"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} import container.tar
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} images
    echo "$output"
    [ "$status" -eq 0 ]
    images="$output"
    run bash -c grep "<none>" <<< "$images"
    echo "$output"
    [ "$status" -eq 0 ]
    cleanup_ctrs
    cleanup_pods
    stop_crio
    rm -f container.tar
}

@test "podman import with message flag" {
    skip "Test needs to be converted to podman run bash -c"
    start_crio
    run bash -c crioctl pod run bash -c --config "$TESTDATA"/sandbox_config.json
    echo "$output"
    [ "$status" -eq 0 ]
    pod_id="$output"
    run bash -c crioctl image pull "$IMAGE"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
    echo "$output"
    [ "$status" -eq 0 ]
    ctr_id="$output"
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} export -o container.tar "$ctr_id"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} import --message "importing container test message" container.tar imported-image
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} history imported-image
    echo "$output"
    [ "$status" -eq 0 ]
    history="$output"
    run bash -c grep "importing container test message" <<< "$history"
    echo "$output"
    [ "$status" -eq 0 ]
    cleanup_ctrs
    cleanup_pods
    stop_crio
    rm -f container.tar
}

@test "podman import with change flag" {
    skip "Test needs to be converted to podman run bash -c"
    start_crio
    run bash -c crioctl pod run bash -c --config "$TESTDATA"/sandbox_config.json
    echo "$output"
    [ "$status" -eq 0 ]
    pod_id="$output"
    run bash -c crioctl image pull "$IMAGE"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
    echo "$output"
    [ "$status" -eq 0 ]
    ctr_id="$output"
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} export -o container.tar "$ctr_id"
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} import --change "CMD=/bin/bash" container.tar imported-image
    echo "$output"
    [ "$status" -eq 0 ]
    run bash -c ${PODMAN_BINARY} ${PODMAN_OPTIONS} inspect imported-image
    echo "$output"
    [ "$status" -eq 0 ]
    inspect="$output"
    run bash -c grep "/bin/bash" <<< "$inspect"
    echo "$output"
    [ "$status" -eq 0 ]
    cleanup_ctrs
    cleanup_pods
    stop_crio
    rm -f container.tar
}