forked from extern/podman-compose
Adding Test that the changes can build Image from build context of extended compose-file
Signed-off-by: kjunker <junker.kurt@googlemail.com>
This commit is contained in:
parent
56b88639ad
commit
91a579b81e
@ -112,4 +112,8 @@ There is also AWX 17.1.0
|
||||
Inside `tests/` directory we have many useless docker-compose stacks
|
||||
that are meant to test as much cases as we can to make sure we are compatible
|
||||
|
||||
|
||||
### pytest
|
||||
run a pytest with following command
|
||||
````shell
|
||||
pytest tests/test_podman_compose.py
|
||||
````
|
8
tests/extends_w_file_subdir/docker-compose.yml
Normal file
8
tests/extends_w_file_subdir/docker-compose.yml
Normal file
@ -0,0 +1,8 @@
|
||||
version: "3"
|
||||
services:
|
||||
web:
|
||||
extends:
|
||||
file: sub/docker-compose.yml
|
||||
service: webapp
|
||||
environment:
|
||||
- DEBUG=1
|
12
tests/extends_w_file_subdir/sub/docker-compose.yml
Normal file
12
tests/extends_w_file_subdir/sub/docker-compose.yml
Normal file
@ -0,0 +1,12 @@
|
||||
version: "3"
|
||||
services:
|
||||
webapp:
|
||||
build:
|
||||
context: docker/example
|
||||
dockerfile: Dockerfile
|
||||
image: localhost/subdir_test:me
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- "/data"
|
||||
|
@ -0,0 +1 @@
|
||||
FROM bash as base
|
62
tests/test_podman_compose.py
Normal file
62
tests/test_podman_compose.py
Normal file
@ -0,0 +1,62 @@
|
||||
from pathlib import Path
|
||||
import pytest
|
||||
import podman_compose
|
||||
import subprocess
|
||||
|
||||
|
||||
def capture(command):
|
||||
proc = subprocess.Popen(
|
||||
command,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
)
|
||||
out, err = proc.communicate()
|
||||
return out, err, proc.returncode
|
||||
|
||||
def test_podman_compose_extends_w_file_subdir():
|
||||
"""
|
||||
Test that podman-compose can execute podman-compose -f <file> up with extended File which
|
||||
includes a build context
|
||||
:return:
|
||||
"""
|
||||
main_path = Path(__file__).parent.parent
|
||||
|
||||
command_up = [
|
||||
"python3",
|
||||
str(main_path.joinpath("podman_compose.py")),
|
||||
"-f",
|
||||
str(main_path.joinpath("tests", "extends_w_file_subdir", "docker-compose.yml")),
|
||||
"up",
|
||||
"-d"
|
||||
]
|
||||
|
||||
command_check_container = [
|
||||
"podman",
|
||||
"container",
|
||||
"ps",
|
||||
"--all",
|
||||
"--format",
|
||||
"\"{{.Image}}\""
|
||||
]
|
||||
|
||||
command_down = [
|
||||
"podman",
|
||||
"rmi",
|
||||
"--force",
|
||||
"localhost/subdir_test:me",
|
||||
"docker.io/library/bash"
|
||||
]
|
||||
|
||||
out, err, returncode = capture(command_up)
|
||||
assert 0 == returncode
|
||||
# check container was created and exists
|
||||
out, err, returncode = capture(command_check_container)
|
||||
assert 0 == returncode
|
||||
assert out == b'"localhost/subdir_test:me"\n'
|
||||
out, err, returncode = capture(command_down)
|
||||
# cleanup test image(tags)
|
||||
assert 0 == returncode
|
||||
# check container did not exists anymore
|
||||
out, err, returncode = capture(command_check_container)
|
||||
assert 0 == returncode
|
||||
assert out == b''
|
Loading…
Reference in New Issue
Block a user