Skip to content
Snippets Groups Projects
Commit b36b7f49 authored by fejao's avatar fejao
Browse files

Updaded molecule tests

parent 12f349e4
Branches
No related tags found
No related merge requests found
Pipeline #38337 passed
Pipeline: c3infodesk-deployment

#38338

    ...@@ -7,14 +7,16 @@ galaxy_info: ...@@ -7,14 +7,16 @@ galaxy_info:
    company: cccv.de company: cccv.de
    license: "MIT / BSD" license: "MIT / BSD"
    min_ansible_version: '2.10' min_ansible_version: '2.10'
    galaxy_tags: [] # galaxy_tags: []
    galaxy_tags:
    - docker
    - build
    - ducker-build
    - c3infodesk
    - c3infodesk-printer
    - c3buttons
    dependencies: [] # dependencies: []
    # List your role dependencies here, one per line. Be sure to remove the '[]' above, dependencies:
    # if you add dependencies to this list. - role: c3infodesk-deployment-role-dependencies
    # dependencies: - role: c3infodesk-deployment-role-clone-repositories
    # # - role: dependencies
    # # - role: clone_repositories
    # ####
    # - role: c3infodesk-deployment-role-dependencies
    # - role: c3infodesk-deployment-role-clone-repositories
    ...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
    - name: MOLECULE | Converge - name: MOLECULE | Converge
    hosts: all hosts: all
    vars:
    # molecule_debug_outputs: true
    molecule_debug_outputs: false
    pre_tasks: pre_tasks:
    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults
    ansible.builtin.include_vars: ansible.builtin.include_vars:
    ...@@ -24,38 +27,35 @@ ...@@ -24,38 +27,35 @@
    extensions: extensions:
    - 'yml' - 'yml'
    # - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/dependencies/defaults ##############################################
    # ansible.builtin.include_vars: ##############################################
    # dir: ../../../../roles/dependencies/defaults ##############################################
    # depth: 1
    # extensions: - name: MOLECULE | CONVERGE | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
    # - 'yml' ansible.builtin.set_fact:
    host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
    # - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/clone_repositories/defaults
    # ansible.builtin.include_vars: - name: MOLECULE | CONVERGE | PRE-TASKS | DEBUG | Value from 'host_var_file_name' fact.
    # dir: ../../../../roles/clone_repositories/defaults ansible.builtin.debug:
    # depth: 1 msg: "molecule_debug_outputs: {{ host_var_file_name }}"
    # extensions: when: molecule_debug_outputs | bool
    # - 'yml'
    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../../../inventories/group_vars
    ansible.builtin.include_vars:
    dir: ../../../../inventories/group_vars
    extensions:
    - 'yml'
    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../../../inventories/host_vars - name: MOLECULE | CONVERGE | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
    ansible.builtin.include_vars: ansible.builtin.include_vars:
    dir: ../../../../inventories/host_vars file: "{{ host_var_file_name }}"
    extensions:
    - 'yml' - name: MOLECULE | CONVERGE | PRE-TASKS | DEBUG | Value from 'c3infodesk_deployment_repository_url' variable.
    ansible.builtin.debug:
    msg: "molecule_debug_outputs: {{ c3infodesk_deployment_repository_url }}"
    when: molecule_debug_outputs | bool
    #####################
    - name: MOLECULE | COVERGE | PRE-TASKS | Install python 'requests' package - name: MOLECULE | CONVERGE | PRE-TASKS | INSTALL | Install the python pip requests package.
    ansible.builtin.pip: ansible.builtin.pip:
    name: requests name: requests
    tasks: tasks:
    - name: MOLECULE | CONVERGE | Call the 'docker_images' role. - name: MOLECULE | CONVERGE | Call the 'docker_images' role.
    ansible.builtin.include_role: ansible.builtin.include_role:
    # name: docker_images
    name: c3infodesk-deployment-role-docker-images name: c3infodesk-deployment-role-docker-images
    ...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
    - name: VERIFY | Test role for debugging variables - name: VERIFY | Test role for debugging variables
    hosts: all hosts: all
    vars: vars:
    package_name_docker: 'docker' verify_package_name_docker: 'docker'
    package_name_docker_ce: 'docker-ce' verify_package_name_docker_ce: 'docker-ce'
    package_name_docker_compose: 'docker-compose' verify_package_name_docker_compose: 'docker-compose'
    package_name_docker_compose_plugin: 'docker-compose-plugin' verify_package_name_docker_compose_plugin: 'docker-compose-plugin'
    pre_tasks: pre_tasks:
    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults
    ...@@ -30,31 +30,13 @@ ...@@ -30,31 +30,13 @@
    extensions: extensions:
    - 'yml' - 'yml'
    # - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/dependencies/defaults - name: MOLECULE | VERIFY | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
    # ansible.builtin.include_vars: ansible.builtin.set_fact:
    # dir: ../../../../roles/dependencies/defaults host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
    # depth: 1
    # extensions:
    # - 'yml'
    # - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/clone_repositories/defaults
    # ansible.builtin.include_vars:
    # dir: ../../../../roles/clone_repositories/defaults
    # depth: 1
    # extensions:
    # - 'yml'
    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../inventories/group_vars
    ansible.builtin.include_vars:
    dir: ../../../../inventories/group_vars
    extensions:
    - 'yml'
    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../inventories/host_vars - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
    ansible.builtin.include_vars: ansible.builtin.include_vars:
    dir: ../../../../inventories/host_vars file: "{{ host_var_file_name }}"
    extensions:
    - 'yml'
    tasks: tasks:
    ### ###
    ...@@ -70,7 +52,7 @@ ...@@ -70,7 +52,7 @@
    ### ###
    ### TESTS - PACKAGES ### TESTS - PACKAGES
    ### ###
    - name: MOLECULE | VERIFY | TEST | Check that the packages from 'os_dependencies_packages' are installed. - name: MOLECULE | VERIFY | TEST | PACKAGES | Check that the packages from 'os_dependencies_packages' are installed.
    ansible.builtin.debug: ansible.builtin.debug:
    msg: "Package: '{{ package_name }}' is installed" msg: "Package: '{{ package_name }}' is installed"
    loop: "{{ os_dependencies_packages }}" loop: "{{ os_dependencies_packages }}"
    ...@@ -78,51 +60,55 @@ ...@@ -78,51 +60,55 @@
    loop_var: package_name loop_var: package_name
    failed_when: package_name not in ansible_facts.packages failed_when: package_name not in ansible_facts.packages
    - name: MOLECULE | VERIFY | TEST | Check that docker is installed. ###
    ### TESTS - DOCKER
    ###
    - name: MOLECULE | VERIFY | TEST | DOCKER | Is installed.
    ansible.builtin.debug: ansible.builtin.debug:
    msg: "Package: 'docker' is installed" msg: "Package: 'docker' is installed"
    failed_when: failed_when:
    - package_name_docker not in ansible_facts.packages - verify_package_name_docker not in ansible_facts.packages
    - package_name_docker_ce not in ansible_facts.packages - verify_package_name_docker_ce not in ansible_facts.packages
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | TEST | Check that docker-compose is installed. - name: MOLECULE | VERIFY | TEST | DOCKER | docker-compose is installed.
    ansible.builtin.debug: ansible.builtin.debug:
    msg: "Package: 'docker-cokmpose' is installed" msg: "Package: 'docker-cokmpose' is installed"
    failed_when: failed_when:
    - package_name_docker_compose not in ansible_facts.packages - verify_package_name_docker_compose not in ansible_facts.packages
    - package_name_docker_compose_plugin not in ansible_facts.packages - verify_package_name_docker_compose_plugin not in ansible_facts.packages
    when: docker_set_to_install | bool
    ### - name: MOLECULE | VERIFY | TEST | DOCKER | Get docker service state.
    ### TESTS - DOCKER
    ###
    - name: MOLECULE | VERIFY | TEST | Get docker service state.
    ansible.builtin.systemd: ansible.builtin.systemd:
    name: "docker" name: "docker"
    register: docker_service register: docker_service
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | TEST | Check that docker is running. - name: MOLECULE | VERIFY | TEST | DOCKER | Check that docker is running.
    ansible.builtin.debug: ansible.builtin.debug:
    msg: "Docker IS running..." msg: "Docker IS running..."
    failed_when: "'active' != docker_service.status.ActiveState" failed_when: "'active' != docker_service.status.ActiveState"
    when: docker_set_to_install | bool
    ### ###
    ### TESTS - ADDED USERS ### TESTS - ADDED DOCKER USERS
    ### ###
    - name: MOLECULE | VERIFY | TEST | Get added users infos. - name: MOLECULE | VERIFY | TEST | USER | Get added users infos.
    ansible.builtin.user: ansible.builtin.user:
    name: "{{ item }}" name: "{{ item }}"
    loop: "{{ docker_users }}" loop: "{{ docker_users }}"
    check_mode: true check_mode: true
    register: test_users register: test_users
    - name: MOLECULE | VERIFY | TEST | Check if users exists - name: MOLECULE | VERIFY | TEST | USER | Check if users exists
    ansible.builtin.debug: ansible.builtin.debug:
    msg: "User {{ item.item }} {{ 'exists' if item.state | d('') == 'present' else 'does not exist' }}" msg: "User {{ item.item }} {{ 'exists' if item.state | d('') == 'present' else 'does not exist' }}"
    loop: "{{ test_users.results }}" loop: "{{ test_users.results }}"
    loop_control: loop_control:
    label: "{{ item.item }}" label: "{{ item.item }}"
    - name: MOLECULE | VERIFY | TEST | Get the groups that the users belongs to. - name: MOLECULE | VERIFY | TEST | USER | Get the groups that the users belongs to.
    ansible.builtin.command: ansible.builtin.command:
    cmd: "id -Gn {{ item.item }}" cmd: "id -Gn {{ item.item }}"
    loop: "{{ test_users.results }}" loop: "{{ test_users.results }}"
    ...@@ -131,19 +117,19 @@ ...@@ -131,19 +117,19 @@
    register: user_groups register: user_groups
    changed_when: false changed_when: false
    - name: MOLECULE | VERIFY | TEST | Check that the users are at the 'docker' group. - name: MOLECULE | VERIFY | TEST | USER | Check that the users are at the 'docker' group.
    ansible.builtin.debug: ansible.builtin.debug:
    msg: "User '{{ item.item.item }}' belongs to the docker group" msg: "User '{{ item.item.item }}' belongs to the docker group"
    with_items: "{{ user_groups.results }}" with_items: "{{ user_groups.results }}"
    failed_when: "'docker' not in item.stdout" failed_when: "'docker' not in item.stdout"
    ### ###
    ### TESTS - CLONE REPOSITORY - PRINTER ### TESTS - CLONE REPOSITORY
    ### ###
    - name: MOLECULE | VERIFY | TEST | Get if the repository was cloned. - name: MOLECULE | VERIFY | TEST | Get if the repository was cloned.
    ansible.builtin.git: ansible.builtin.git:
    repo: "{{ c3infodesk_printer_repo_url }}" repo: "{{ c3infodesk_deployment_repository_url }}"
    dest: "{{ c3infodesk_printer_folder }}" dest: "{{ c3infodesk_deployment_repository_dest_folder }}"
    version: main version: main
    clone: false clone: false
    update: false update: false
    ...@@ -151,38 +137,13 @@ ...@@ -151,38 +137,13 @@
    - name: MOLECULE | VERIFY | TEST | Checking if the repository was cloned. - name: MOLECULE | VERIFY | TEST | Checking if the repository was cloned.
    ansible.builtin.debug: ansible.builtin.debug:
    msg: "Repository: '{{ c3infodesk_printer_repo_url }}' cloned..." msg: "Repository: '{{ c3infodesk_deployment_repository_url }}' cloned..."
    failed_when: check_repository.changed | bool failed_when: check_repository.changed | bool
    ### ###
    ### TESTS - DOCKER IMAGES ### TESTS - DOCKER IMAGES
    ### ###
    - name: MOLECULE | VERIFY | TEST | Get if the image is created for 'cups'. - name: MOLECULE | VERIFY | TEST | Check if the Docker images are on the system.
    community.docker.docker_image_info: community.docker.docker_image_info:
    name: "{{ c3infodesk_printer_docker_img_cups_name }}" name: "{{ item.docker_image_name }}"
    register: result_check_image_cups with_items: "{{ c3infodesk_deployment_docker_images_list }}"
    - name: MOLECULE | VERIFY | TEST | Check the image creation from 'cups'.
    ansible.builtin.debug:
    msg: "Image for 'cups' exists"
    when: result_check_image_cups.images | length > 0
    - name: MOLECULE | VERIFY | TEST | Get if the image is created for 'app'.
    community.docker.docker_image_info:
    name: "{{ c3infodesk_printer_docker_img_app_name }}"
    register: result_check_image_app
    - name: MOLECULE | VERIFY | TEST | Check the image creation from 'app'.
    ansible.builtin.debug:
    msg: "Image for 'app' exists"
    when: result_check_image_app.images | length > 0
    - name: MOLECULE | VERIFY | TEST | Get if the image is created for 'proxy'.
    community.docker.docker_image_info:
    name: "{{ c3infodesk_printer_docker_img_proxy_name }}"
    register: result_check_image_proxy
    - name: MOLECULE | VERIFY | TEST | Check the image creation from 'proxy'.
    ansible.builtin.debug:
    msg: "Image for 'proxy' exists"
    when: result_check_image_proxy.images | length > 0
    ...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
    ansible.builtin.command: ansible.builtin.command:
    cmd: docker build . -t "{{ docker_image_name }}":"{{ docker_image_tag }}" -f "{{ docker_file_path }}" cmd: docker build . -t "{{ docker_image_name }}":"{{ docker_image_tag }}" -f "{{ docker_file_path }}"
    args: args:
    # chdir: "{{ c3infodesk_deployment_dest_folder }}"
    chdir: "{{ c3infodesk_deployment_repository_dest_folder }}" chdir: "{{ c3infodesk_deployment_repository_dest_folder }}"
    register: build_img_result register: build_img_result
    when: result_check_image.images | length <= 0 when: result_check_image.images | length <= 0
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment