diff --git a/.github/workflows/Todo.md b/.github/workflows/TODO.md similarity index 100% rename from .github/workflows/Todo.md rename to .github/workflows/TODO.md diff --git a/Todo.md b/TODO.md similarity index 100% rename from Todo.md rename to TODO.md diff --git a/docs/guides/administrator/Readme.md b/docs/guides/administrator/README.md similarity index 100% rename from docs/guides/administrator/Readme.md rename to docs/guides/administrator/README.md diff --git a/docs/guides/enterprise/Readme.md b/docs/guides/enterprise/README.md similarity index 100% rename from docs/guides/enterprise/Readme.md rename to docs/guides/enterprise/README.md diff --git a/docs/guides/user/Readme.md b/docs/guides/user/README.md similarity index 100% rename from docs/guides/user/Readme.md rename to docs/guides/user/README.md diff --git a/group_vars/all/Todo.md b/group_vars/all/TODO.md similarity index 100% rename from group_vars/all/Todo.md rename to group_vars/all/TODO.md diff --git a/roles/Todo.md b/roles/TODO.md similarity index 100% rename from roles/Todo.md rename to roles/TODO.md diff --git a/roles/desk-nextcloud/Todo.md b/roles/desk-nextcloud/TODO.md similarity index 100% rename from roles/desk-nextcloud/Todo.md rename to roles/desk-nextcloud/TODO.md diff --git a/roles/dev-npm/Todo.md b/roles/dev-npm/TODO.md similarity index 100% rename from roles/dev-npm/Todo.md rename to roles/dev-npm/TODO.md diff --git a/roles/docker-compose/Todo.md b/roles/docker-compose/TODO.md similarity index 100% rename from roles/docker-compose/Todo.md rename to roles/docker-compose/TODO.md diff --git a/roles/pkgmgr-install/Todo.md b/roles/pkgmgr-install/TODO.md similarity index 100% rename from roles/pkgmgr-install/Todo.md rename to roles/pkgmgr-install/TODO.md diff --git a/roles/srv-core/Todo.md b/roles/srv-core/TODO.md similarity index 100% rename from roles/srv-core/Todo.md rename to roles/srv-core/TODO.md diff --git a/roles/srv-proxy-core/Todo.md b/roles/srv-proxy-core/TODO.md similarity index 100% rename from roles/srv-proxy-core/Todo.md rename to roles/srv-proxy-core/TODO.md diff --git a/roles/srv-proxy-core/templates/location/Todo.md b/roles/srv-proxy-core/templates/location/TODO.md similarity index 100% rename from roles/srv-proxy-core/templates/location/Todo.md rename to roles/srv-proxy-core/templates/location/TODO.md diff --git a/roles/svc-db-postgres/Todo.md b/roles/svc-db-postgres/TODO.md similarity index 100% rename from roles/svc-db-postgres/Todo.md rename to roles/svc-db-postgres/TODO.md diff --git a/roles/svc-opt-keyboard-color/Todo.md b/roles/svc-opt-keyboard-color/TODO.md similarity index 100% rename from roles/svc-opt-keyboard-color/Todo.md rename to roles/svc-opt-keyboard-color/TODO.md diff --git a/roles/svc-opt-ssd-hdd/Todo.md b/roles/svc-opt-ssd-hdd/TODO.md similarity index 100% rename from roles/svc-opt-ssd-hdd/Todo.md rename to roles/svc-opt-ssd-hdd/TODO.md diff --git a/roles/sys-ctl-bkp-docker-2-loc/Todo.md b/roles/sys-ctl-bkp-docker-2-loc/TODO.md similarity index 100% rename from roles/sys-ctl-bkp-docker-2-loc/Todo.md rename to roles/sys-ctl-bkp-docker-2-loc/TODO.md diff --git a/roles/web-app-akaunting/Todo.md b/roles/web-app-akaunting/TODO.md similarity index 100% rename from roles/web-app-akaunting/Todo.md rename to roles/web-app-akaunting/TODO.md diff --git a/roles/web-app-bookwyrm/Todo.md b/roles/web-app-bookwyrm/TODO.md similarity index 100% rename from roles/web-app-bookwyrm/Todo.md rename to roles/web-app-bookwyrm/TODO.md diff --git a/roles/web-app-chess/Readme.md b/roles/web-app-chess/README.md similarity index 100% rename from roles/web-app-chess/Readme.md rename to roles/web-app-chess/README.md diff --git a/roles/web-app-discourse/Todo.md b/roles/web-app-discourse/TODO.md similarity index 100% rename from roles/web-app-discourse/Todo.md rename to roles/web-app-discourse/TODO.md diff --git a/roles/web-app-jenkins/Todo.md b/roles/web-app-jenkins/TODO.md similarity index 100% rename from roles/web-app-jenkins/Todo.md rename to roles/web-app-jenkins/TODO.md diff --git a/roles/web-app-keycloak/Todo.md b/roles/web-app-keycloak/TODO.md similarity index 100% rename from roles/web-app-keycloak/Todo.md rename to roles/web-app-keycloak/TODO.md diff --git a/roles/web-app-keycloak/tasks/Todo.md b/roles/web-app-keycloak/tasks/TODO.md similarity index 100% rename from roles/web-app-keycloak/tasks/Todo.md rename to roles/web-app-keycloak/tasks/TODO.md diff --git a/roles/web-app-mailu/Todo.md b/roles/web-app-mailu/TODO.md similarity index 100% rename from roles/web-app-mailu/Todo.md rename to roles/web-app-mailu/TODO.md diff --git a/roles/web-app-matrix/Todo.md b/roles/web-app-matrix/TODO.md similarity index 100% rename from roles/web-app-matrix/Todo.md rename to roles/web-app-matrix/TODO.md diff --git a/roles/web-app-nextcloud/Todo.md b/roles/web-app-nextcloud/TODO.md similarity index 100% rename from roles/web-app-nextcloud/Todo.md rename to roles/web-app-nextcloud/TODO.md diff --git a/roles/web-app-oauth2-proxy/Todo.md b/roles/web-app-oauth2-proxy/TODO.md similarity index 100% rename from roles/web-app-oauth2-proxy/Todo.md rename to roles/web-app-oauth2-proxy/TODO.md diff --git a/roles/web-app-peertube/Todo.md b/roles/web-app-peertube/TODO.md similarity index 100% rename from roles/web-app-peertube/Todo.md rename to roles/web-app-peertube/TODO.md diff --git a/roles/web-app-phpldapadmin/Todo.md b/roles/web-app-phpldapadmin/TODO.md similarity index 100% rename from roles/web-app-phpldapadmin/Todo.md rename to roles/web-app-phpldapadmin/TODO.md diff --git a/roles/web-app-postmarks/Todo.md b/roles/web-app-postmarks/TODO.md similarity index 100% rename from roles/web-app-postmarks/Todo.md rename to roles/web-app-postmarks/TODO.md diff --git a/roles/web-app-pretix/Readme.md b/roles/web-app-pretix/README.md similarity index 100% rename from roles/web-app-pretix/Readme.md rename to roles/web-app-pretix/README.md diff --git a/roles/web-app-socialhome/Todo.md b/roles/web-app-socialhome/TODO.md similarity index 100% rename from roles/web-app-socialhome/Todo.md rename to roles/web-app-socialhome/TODO.md diff --git a/roles/web-opt-rdr-www/Todo.md b/roles/web-opt-rdr-www/TODO.md similarity index 100% rename from roles/web-opt-rdr-www/Todo.md rename to roles/web-opt-rdr-www/TODO.md diff --git a/roles/web-svc-logout/Todo.md b/roles/web-svc-logout/TODO.md similarity index 100% rename from roles/web-svc-logout/Todo.md rename to roles/web-svc-logout/TODO.md diff --git a/tests/integration/Todo.md b/tests/integration/TODO.md similarity index 100% rename from tests/integration/Todo.md rename to tests/integration/TODO.md diff --git a/tests/integration/test_filename_conventions.py b/tests/integration/test_filename_conventions.py new file mode 100644 index 00000000..95b94fb5 --- /dev/null +++ b/tests/integration/test_filename_conventions.py @@ -0,0 +1,27 @@ +import os +import unittest + +class TestFilenameConventions(unittest.TestCase): + """ + Integration test to ensure README.md and TODO.md files + are always written in uppercase (README.md / TODO.md). + """ + + def test_readme_and_todo_filenames_are_uppercase(self): + bad_files = [] + for root, _, files in os.walk("."): + for filename in files: + lower = filename.lower() + if lower in ("readme.md", "todo.md"): + if filename not in ("README.md", "TODO.md"): + bad_files.append(os.path.join(root, filename)) + + msg = ( + "The following files violate uppercase naming convention " + "(must be README.md or TODO.md):\n- " + "\n- ".join(bad_files) + ) if bad_files else None + + self.assertEqual(bad_files, [], msg) + +if __name__ == "__main__": + unittest.main()