# Test code for django_manage module # # Copyright (c) 2020, Alexei Znamensky # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later - name: Create temporary test directory tempfile: state: directory suffix: .django_manage register: tmp_django_root - name: Install virtualenv on CentOS 8 package: name: virtualenv state: present when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '8' - name: Install virtualenv on Arch Linux pip: name: virtualenv state: present when: ansible_os_family == 'Archlinux' - name: Install required library pip: name: django state: present virtualenv: "{{ tmp_django_root.path }}/venv" - name: Copy files copy: src: base_test/ dest: "{{ tmp_django_root.path }}" mode: preserve - name: Create project command: chdir: "{{ tmp_django_root.path }}/startproj" cmd: "{{ tmp_django_root.path }}/venv/bin/django-admin startproject test_django_manage_1" - name: Create app command: chdir: "{{ tmp_django_root.path }}/startproj" cmd: "{{ tmp_django_root.path }}/venv/bin/django-admin startapp app1" - name: Make manage.py executable file: path: "{{ tmp_django_root.path }}/startproj/test_django_manage_1/manage.py" mode: "0755" - name: Check community.general.django_manage: project_path: "{{ tmp_django_root.path }}/startproj/test_django_manage_1" command: check virtualenv: "{{ tmp_django_root.path }}/venv" - name: Check simple_project community.general.django_manage: project_path: "{{ tmp_django_root.path }}/simple_project/p1" command: check virtualenv: "{{ tmp_django_root.path }}/venv" - name: Check custom project community.general.django_manage: project_path: "{{ tmp_django_root.path }}/1045-single-app-project/single_app_project" pythonpath: "{{ tmp_django_root.path }}/1045-single-app-project/" command: check virtualenv: "{{ tmp_django_root.path }}/venv" - name: Run collectstatic --noinput on simple project community.general.django_manage: project_path: "{{ tmp_django_root.path }}/simple_project/p1" command: collectstatic --noinput virtualenv: "{{ tmp_django_root.path }}/venv" - name: Trigger exception with environment variable community.general.django_manage: project_path: "{{ tmp_django_root.path }}/simple_project/p1" command: collectstatic --noinput virtualenv: "{{ tmp_django_root.path }}/venv" environment: DJANGO_ANSIBLE_RAISE: blah ignore_errors: true register: env_raise - name: Check env variable reached manage.py ansible.builtin.assert: that: - "'ValueError: DJANGO_ANSIBLE_RAISE=blah' in env_raise.msg"