def frappe_setup(compose: Compose): compose.stop() compose("up", "-d", "--quiet-pull") yield compose.stop()
def s3_service(python_path: str, compose: Compose): access_key = "AKIAIOSFODNN7EXAMPLE" secret_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" cmd = ( "docker", "run", "--name", "minio", "-d", "-e", f"MINIO_ACCESS_KEY={access_key}", "-e", f"MINIO_SECRET_KEY={secret_key}", "--network", f"{compose.project_name}_default", "minio/minio", "server", "/data", ) subprocess.check_call(cmd) compose("cp", "tests/_create_bucket.py", "backend:/tmp") compose.exec( "-e", f"S3_ACCESS_KEY={access_key}", "-e", f"S3_SECRET_KEY={secret_key}", "backend", python_path, "/tmp/_create_bucket.py", ) yield S3ServiceResult(access_key=access_key, secret_key=secret_key) subprocess.call(("docker", "rm", "minio", "-f"))
def test_site_creation(self, compose: Compose): compose.bench( "new-site", "test_pg_site", "--db-type", "postgres", "--admin-password", "admin", )
def erpnext_setup(compose: Compose): compose.stop() args = ["-f", "overrides/compose.erpnext.yaml"] if CI: args += ("-f", "tests/compose.ci-erpnext.yaml") compose(*args, "up", "-d", "--quiet-pull") yield compose.stop()
def frappe_site(compose: Compose): site_name = "tests" compose.bench( "new-site", site_name, "--mariadb-root-password", "123", "--admin-password", "admin", ) compose("restart", "backend") yield site_name
def postgres_setup(compose: Compose): compose.stop() compose("-f", "overrides/compose.postgres.yaml", "up", "-d", "--quiet-pull") compose.bench("set-config", "-g", "root_login", "postgres") compose.bench("set-config", "-g", "root_password", "123") yield compose.stop()
def erpnext_site(compose: Compose): site_name = "test_erpnext_site" args = [ "new-site", site_name, "--mariadb-root-password", "123", "--admin-password", "admin", "--install-app", "erpnext", ] erpnext_version = os.environ.get("ERPNEXT_VERSION") if erpnext_version in [ "develop", "version-14", ] or erpnext_version.startswith("v14"): args.append("--install-app=payments") compose.bench(*args) compose("restart", "backend") yield site_name
def test_push_backup( python_path: str, frappe_site: str, s3_service: S3ServiceResult, compose: Compose, ): compose.bench("--site", frappe_site, "backup", "--with-files") compose.exec( "backend", "push-backup", "--site", frappe_site, "--bucket", "frappe", "--region-name", "us-east-1", "--endpoint-url", "http://minio:9000", "--aws-access-key-id", s3_service.access_key, "--aws-secret-access-key", s3_service.secret_key, ) compose("cp", "tests/_check_backup_files.py", "backend:/tmp") compose.exec( "-e", f"S3_ACCESS_KEY={s3_service.access_key}", "-e", f"S3_SECRET_KEY={s3_service.secret_key}", "-e", f"SITE_NAME={frappe_site}", "backend", python_path, "/tmp/_check_backup_files.py", )
def test_frappe_connections_in_backends(service: str, python_path: str, compose: Compose): filename = "_ping_frappe_connections.py" compose("cp", f"tests/{filename}", f"{service}:/tmp/") compose.exec(service, python_path, f"/tmp/{filename}")
def test_links_in_backends(service: str, compose: Compose, python_path: str): filename = "_check_connections.py" compose("cp", f"tests/{filename}", f"{service}:/tmp/") compose.exec(service, python_path, f"/tmp/{filename}")
def compose(env_file: str): return Compose(project_name="test", env_file=env_file)