Setup and remove .env on tests

This commit is contained in:
Lev Vereshchagin
2021-12-13 20:03:40 +03:00
parent 163942bd1a
commit 3e7adbf361

View File

@@ -1,4 +1,5 @@
import os import os
import shutil
import ssl import ssl
import subprocess import subprocess
from enum import Enum from enum import Enum
@@ -81,7 +82,7 @@ def docker_compose(*cmd: str):
"-p", "-p",
"test", "test",
"--env-file", "--env-file",
"example.env", "tests/.env",
"-f", "-f",
"compose.yml", "compose.yml",
] ]
@@ -90,6 +91,19 @@ def docker_compose(*cmd: str):
return run(*args, *cmd) return run(*args, *cmd)
@log("Setup .env")
def setup_env():
shutil.copy("example.env", "tests/.env")
if CI:
with open("tests/.env", "a") as f:
f.write(
f"""
FRAPPE_VERSION={os.getenv("FRAPPE_VERSION")}
ERPNEXT_VERSION={os.getenv("ERPNEXT_VERSION")}
"""
)
@log("Create containers") @log("Create containers")
def create_containers(): def create_containers():
docker_compose("up", "-d") docker_compose("up", "-d")
@@ -286,6 +300,11 @@ def create_postgres_site():
docker_compose("restart", "backend") docker_compose("restart", "backend")
@log("Delete .env")
def delete_env():
os.remove("tests/.env")
@log("Show docker compose logs") @log("Show docker compose logs")
def show_docker_compose_logs(): def show_docker_compose_logs():
docker_compose("logs") docker_compose("logs")
@@ -295,6 +314,7 @@ def main() -> int:
try: try:
patch_print() patch_print()
setup_env()
create_containers() create_containers()
ping_links_in_backends() ping_links_in_backends()
create_site() create_site()
@@ -319,6 +339,7 @@ def main() -> int:
ping_links_in_backends() ping_links_in_backends()
finally: finally:
delete_env()
show_docker_compose_logs() show_docker_compose_logs()
stop_containers() stop_containers()