From 03a87bf63ff81f5bf89f5b36bd8f3471be765ee3 Mon Sep 17 00:00:00 2001
From: JensDiemer <git@jensdiemer.de>
Date: Mon, 28 Dec 2020 20:14:39 +0100
Subject: [PATCH] +test_project_setup.py

---
 tests/test_project_setup.py | 54 +++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 tests/test_project_setup.py

diff --git a/tests/test_project_setup.py b/tests/test_project_setup.py
new file mode 100644
index 0000000..8c27341
--- /dev/null
+++ b/tests/test_project_setup.py
@@ -0,0 +1,54 @@
+import os
+import shutil
+import subprocess
+from pathlib import Path
+
+import django_ynh
+
+
+PACKAGE_ROOT = Path(django_ynh.__file__).parent.parent
+
+
+def assert_file_contains_string(file_path, string):
+    with file_path.open('r') as f:
+        for line in f:
+            if string in line:
+                return
+    raise AssertionError(f'File {file_path} does not contain {string!r} !')
+
+
+def test_version(package_root=None, version=None):
+    if package_root is None:
+        package_root = PACKAGE_ROOT
+
+    if version is None:
+        version = django_ynh.__version__
+
+    if 'dev' not in version and 'rc' not in version:
+        version_string = f'v{version}'
+
+        assert_file_contains_string(file_path=Path(package_root, 'README.md'), string=version_string)
+
+    assert_file_contains_string(file_path=Path(package_root, 'pyproject.toml'), string=f'version = "{version}"')
+    assert_file_contains_string(file_path=Path(package_root, 'manifest.json'), string=f'"version": "{version}~ynh",')
+
+    assert_file_contains_string(
+        file_path=Path(package_root, 'deployment', 'project.env'), string=f'PROJECT_VERSION={version}'
+    )
+
+
+def test_poetry_check(package_root=None):
+    if package_root is None:
+        package_root = PACKAGE_ROOT
+
+    poerty_bin = shutil.which('poetry')
+
+    output = subprocess.check_output(
+        [poerty_bin, 'check'],
+        universal_newlines=True,
+        env=os.environ,
+        stderr=subprocess.STDOUT,
+        cwd=str(package_root),
+    )
+    print(output)
+    assert output == 'All set!\n'