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
|
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
|
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