From 42e8b36a956e933f6f4ccdb955d2450ed0e1fc9d Mon Sep 17 00:00:00 2001
From: Dmitry Ivanov <ivadmi5@gmail.com>
Date: Fri, 24 May 2024 16:03:29 +0300
Subject: [PATCH] fix(tests): instead of $CWD, use testfiles' base dir to find
 ssl dir

---
 test/conftest.py                               | 2 +-
 test/pgproto/ssl_test.py                       | 8 ++++----
 test/{pgproto/ssl_dir => ssl_certs}/root.crt   | 0
 test/{pgproto/ssl_dir => ssl_certs}/root.csr   | 0
 test/{pgproto/ssl_dir => ssl_certs}/root.key   | 0
 test/{pgproto/ssl_dir => ssl_certs}/server.crt | 0
 test/{pgproto/ssl_dir => ssl_certs}/server.csr | 0
 test/{pgproto/ssl_dir => ssl_certs}/server.key | 0
 8 files changed, 5 insertions(+), 5 deletions(-)
 rename test/{pgproto/ssl_dir => ssl_certs}/root.crt (100%)
 rename test/{pgproto/ssl_dir => ssl_certs}/root.csr (100%)
 rename test/{pgproto/ssl_dir => ssl_certs}/root.key (100%)
 rename test/{pgproto/ssl_dir => ssl_certs}/server.crt (100%)
 rename test/{pgproto/ssl_dir => ssl_certs}/server.csr (100%)
 rename test/{pgproto/ssl_dir => ssl_certs}/server.key (100%)

diff --git a/test/conftest.py b/test/conftest.py
index 05c993c117..3631ca37d4 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -2029,7 +2029,7 @@ instance:
         ssl: {self.ssl}
 """
         )
-        ssl_dir = Path("test/pgproto/ssl_dir").absolute()
+        ssl_dir = Path(os.path.realpath(__file__)).parent / "ssl_certs"
         instance_dir = Path(self.cluster.data_dir) / "i1"
         instance_dir.mkdir()
         shutil.copyfile(ssl_dir / "server.crt", instance_dir / "server.crt")
diff --git a/test/pgproto/ssl_test.py b/test/pgproto/ssl_test.py
index ea18ae2a16..008b742ceb 100644
--- a/test/pgproto/ssl_test.py
+++ b/test/pgproto/ssl_test.py
@@ -2,6 +2,7 @@ import pytest
 import pg8000.dbapi as pg  # type: ignore
 from conftest import Postgres
 import os
+from pathlib import Path
 import psycopg
 
 
@@ -48,16 +49,15 @@ def test_ssl_accept(postgres_with_tls: Postgres):
     instance = postgres_with_tls.instance
     host = postgres_with_tls.host
     port = postgres_with_tls.port
-    ssl_dir = "ssl_dir"
-    assert ssl_dir is not None
 
     user = "user"
     password = "P@ssw0rd"
     instance.sql(f"CREATE USER \"{user}\" WITH PASSWORD '{password}' USING md5")
 
     # where the client should find his certificate
-    client_cert_file = os.path.join(ssl_dir, "root.crt")
-    os.environ["SSL_CERT_FILE"] = client_cert_file
+    test_dir = Path(os.path.realpath(__file__)).parent
+    client_cert_file = test_dir.parent / "ssl_certs" / "root.crt"
+    os.environ["SSL_CERT_FILE"] = str(client_cert_file)
 
     os.environ["PGSSLMODE"] = "require"
     conn = psycopg.connect(
diff --git a/test/pgproto/ssl_dir/root.crt b/test/ssl_certs/root.crt
similarity index 100%
rename from test/pgproto/ssl_dir/root.crt
rename to test/ssl_certs/root.crt
diff --git a/test/pgproto/ssl_dir/root.csr b/test/ssl_certs/root.csr
similarity index 100%
rename from test/pgproto/ssl_dir/root.csr
rename to test/ssl_certs/root.csr
diff --git a/test/pgproto/ssl_dir/root.key b/test/ssl_certs/root.key
similarity index 100%
rename from test/pgproto/ssl_dir/root.key
rename to test/ssl_certs/root.key
diff --git a/test/pgproto/ssl_dir/server.crt b/test/ssl_certs/server.crt
similarity index 100%
rename from test/pgproto/ssl_dir/server.crt
rename to test/ssl_certs/server.crt
diff --git a/test/pgproto/ssl_dir/server.csr b/test/ssl_certs/server.csr
similarity index 100%
rename from test/pgproto/ssl_dir/server.csr
rename to test/ssl_certs/server.csr
diff --git a/test/pgproto/ssl_dir/server.key b/test/ssl_certs/server.key
similarity index 100%
rename from test/pgproto/ssl_dir/server.key
rename to test/ssl_certs/server.key
-- 
GitLab