diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bbd7344600e011107766d42b521651865932163d..a2be19e928bc8513b416391d4ed348462cc85740 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: python:3.10.15-bullseye
+# image: python:3.10.15-bullseye
 
 variables:
   AUTHOR: fejao
@@ -15,12 +15,14 @@ variables:
 stages:
   - syntax-check
   - lint-tests
+  - molecule
 
 ###
 ### SYNTAX-CHECK
 ###
-syntax-check-test:
+syntax-test:
   stage: syntax-check
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -29,8 +31,9 @@ syntax-check-test:
     - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_TEST
   allow_failure: false
 
-syntax-check-dependencies:
+syntax-dependencies:
   stage: syntax-check
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -39,8 +42,9 @@ syntax-check-dependencies:
     - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES
   allow_failure: false
 
-syntax-check-clone-repositories:
+syntax-clone-repositories:
   stage: syntax-check
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -49,8 +53,9 @@ syntax-check-clone-repositories:
     - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES
   allow_failure: false
 
-syntax-check-docker-images:
+syntax-docker-images:
   stage: syntax-check
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -59,8 +64,9 @@ syntax-check-docker-images:
     - ansible-playbook --syntax-check -i $INVENTORIES_PATH $PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES
   allow_failure: false
 
-syntax-check-docker-containers:
+syntax-docker-containers:
   stage: syntax-check
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -72,8 +78,9 @@ syntax-check-docker-containers:
 ###
 ### LINT-TESTS
 ###
-role-test:
+lint-test:
   stage: lint-tests
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -82,8 +89,9 @@ role-test:
     - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_TEST
   allow_failure: false
 
-role-dependencies:
+lint-dependencies:
   stage: lint-tests
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -92,8 +100,9 @@ role-dependencies:
     - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_DEPENDENCIES
   allow_failure: false
 
-role-clone-repositories:
+lint-clone-repositories:
   stage: lint-tests
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -102,8 +111,9 @@ role-clone-repositories:
     - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_CLONE_REPOSITORIES
   allow_failure: false
 
-role-docker-images:
+lint-docker-images:
   stage: lint-tests
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -112,8 +122,9 @@ role-docker-images:
     - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_DOCKER_IMAGES
   allow_failure: false
 
-role-docker-containers:
+lint-docker-containers:
   stage: lint-tests
+  image: python:3.10.15-bullseye
   before_script:
     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
     - pip3 install -r ci-cd/requirements.txt
@@ -121,3 +132,41 @@ role-docker-containers:
     - echo "Running ansible-lint tests at the role-> 'docker_containers'"
     - ansible-lint $PLAYBOOK_PATH_FOR_ROLE_DOCKER_CONTAINERS
   allow_failure: false
+
+
+###
+### molecule
+###
+# molecule-test:
+#   stage: molecule
+#   # image: docker:latest
+#   # image: docker:27.5.1-alpine3.21
+#   image: docker:27.5.1-dind
+#   before_script:
+#     - apk add --no-cache python3 py3-pip
+#     - rm /usr/lib/python*/EXTERNALLY-MANAGED
+#     - python3 -m ensurepip
+#     - pip3 install ansible ansible-lint molecule molecule-docker
+#     - pip3 install --user "molecule-plugins[docker]"
+#   script:
+#     - echo "Running ansible-lint tests at the role-> 'test'"
+#     - docker ps -a
+#     - cd roles/test
+#     - molecule test
+#   allow_failure: false
+
+# molecule-test:
+#   stage: molecule
+#   # image: docker:latest
+#   image: docker:27.5.1-alpine3.21
+#   before_script:
+#     - apt-get update && apt-get install -y python3-pip && apt-get clean && rm -rf /var/lib/apt/lists/*
+#     - pip3 install -r ci-cd/requirements.txt
+#     - pip3 install --upgrade molecule molecule-docker
+#     # - python3 -m pip install --user "molecule-plugins[docker]
+#     - pip3 install --user "molecule-plugins[docker]"
+#   script:
+#     - echo "Running ansible-lint tests at the role-> 'test'"
+#     - cd roles/test
+#     - molecule test
+#   allow_failure: false
diff --git a/roles/test/README.md b/roles/test/README.md
index e443d1878e35c1bd9d149cd6070c3409841370ef..123e54580ff8dba8c32568eb02b387aa00211109 100644
--- a/roles/test/README.md
+++ b/roles/test/README.md
@@ -1,16 +1,19 @@
 # test role
-
 This is a ansible-role for testing your installed ansible.
 
+
 ## Requirements
 To have ansible installed at your system.
 
+
 ## Role Variables
 You should look around where the variables are setted. And figure it out from where the ouput comes
 
+
 ## Dependencies
 This role have no dependency from any another role.
 
+
 ## Example Playbook
 Here is an example for adding this role for your playbook for **restarting** the **c3infodesk-printer**. containers:
 
@@ -27,10 +30,32 @@ And call the playbook as:
 ansible-playbook -i <INVENTORY> <PLAYBOOK_NAME>.yml
 ```
 
+## Tests
+Here are the tests made at **CI-CD** for this role.
+
+The tests shuold be runned at the root directory from the repository.
+
+### Syntax
+```bash
+ansible-playbook --syntax-check -i invenvories/hosts ci-cd/01_test.yml
+```
+
+### Lint
+```bash
+ansible-lint ci-cd/01_test.yml
+```
+
+### molecule
+```bash
+cd roles/test
+molecule test
+```
+
 ## License
 
 MIT/BSD
 
+
 ## Author Information
 
 ![fejao logo](../../files/from_authors/fejao_logo_circle.png "fejao") [https://chaos.social/@fejao](https://chaos.social/@fejao)
diff --git a/roles/test/defaults/main.yml b/roles/test/defaults/main.yml
index 7ec0ac3345d6f65e42a93d6672af8c4a1b9b3acd..9c8dd30304fe755907bd1212c4e6fdf95123a598 100644
--- a/roles/test/defaults/main.yml
+++ b/roles/test/defaults/main.yml
@@ -2,5 +2,4 @@
 # defaults file for test
 
 var_setted_everywhere: "answer from roles/test/defaults/main.yml"
-
 var_setted_only_defaults_main: "MESSAGE FROM roles/test/defaults/main.yml"
diff --git a/roles/test/molecule/default/converge.yml b/roles/test/molecule/default/converge.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7cbd7c0a18ee3fcae421ad6acb033e95aaf1f4e2
--- /dev/null
+++ b/roles/test/molecule/default/converge.yml
@@ -0,0 +1,5 @@
+---
+- name: MOLECULE | Converge
+  hosts: all
+  roles:
+    - role: test
diff --git a/roles/test/molecule/default/inventory/group_vars/example_servers_group.yml b/roles/test/molecule/default/inventory/group_vars/example_servers_group.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7ba656ace1512ccd819336f8d3a48f73e976d964
--- /dev/null
+++ b/roles/test/molecule/default/inventory/group_vars/example_servers_group.yml
@@ -0,0 +1,2 @@
+var_setted_only_group_vars: "group_vars_value"
+var_setted_everywhere: "group_vars_value"
diff --git a/roles/test/molecule/default/inventory/host_vars/example_server.yml b/roles/test/molecule/default/inventory/host_vars/example_server.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3ed6bf4d74dca02fe60cdca10096f343d0495ba8
--- /dev/null
+++ b/roles/test/molecule/default/inventory/host_vars/example_server.yml
@@ -0,0 +1,2 @@
+var_setted_only_host_vars: "host_vars_value"
+var_setted_everywhere: "host_vars_value"
diff --git a/roles/test/molecule/default/molecule.yml b/roles/test/molecule/default/molecule.yml
new file mode 100644
index 0000000000000000000000000000000000000000..55eb160602fa451432faa04e7861ad8a9ac47110
--- /dev/null
+++ b/roles/test/molecule/default/molecule.yml
@@ -0,0 +1,37 @@
+---
+dependency:
+  name: galaxy
+driver:
+  name: docker
+platforms:
+  - name: instance
+    image: geerlingguy/docker-ubuntu2004-ansible:latest
+    # privileged: true
+    pre_build_image: true
+provisioner:
+  name: ansible
+  lint:
+    name: ansible-lint
+  inventory:
+    group_vars:
+      example_servers_group:
+        var_setted_only_group_vars: "group_vars_value"
+        var_setted_everywhere: "group_vars_value"
+    host_vars:
+      instance:
+        var_setted_only_host_vars: "host_vars_value"
+        var_setted_everywhere: "host_vars_value"
+verifier:
+  name: ansible
+  ###
+  # lint:
+  #   name: ansible-lint
+  ###
+  # playbook: verify.yml
+  ###
+  # Remove the 'playbooks' key and use 'playbooks' directly under 'verifier'
+  # playbooks:
+  #   verify: verify.yml
+  ###
+  # lint:
+  #   name: flake8
diff --git a/roles/test/molecule/default/tests/test_default.yml b/roles/test/molecule/default/tests/test_default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..75dae12c11148a5ae5c21b97f96bc5d5bc32057c
--- /dev/null
+++ b/roles/test/molecule/default/tests/test_default.yml
@@ -0,0 +1,34 @@
+---
+- name: MOLECULE | Test role for debugging variables
+  hosts: all
+  tasks:
+    - name: MOLECULE | TESTS | Test parsed variable setted only at roles/test/defaults/main.yml
+      ansible.builtin.debug:
+        msg: "{{ var_setted_only_defaults_main }}"
+
+    - name: MOLECULE | TESTS | Test parsed variable setted only at roles/test/vars/main.yml
+      ansible.builtin.debug:
+        msg: "{{ var_setted_only_vars_main }}"
+
+    - name: MOLECULE | TESTS | Test parsed variable setted only at inventory/group_vars/example_servers_group.yml
+      ansible.builtin.debug:
+        msg: "{{ var_setted_only_group_vars }}"
+      when: var_setted_only_group_vars is defined
+
+    - name: MOLECULE | TESTS | Test parsed variable setted only at inventory/host_vars/example_server.yml
+      ansible.builtin.debug:
+        msg: "{{ var_setted_only_host_vars }}"
+
+    - name: MOLECULE | TESTS | Test parsed variable setted EVERYWHERE -> should come from roles/test/vars/main.yml
+      ansible.builtin.debug:
+        msg: "{{ var_setted_everywhere }}"
+
+    - name: MOLECULE | TESTS | List the root ('/') folder from the target to a register
+      ansible.builtin.command:
+        cmd: ls -hal /
+      register: ret_list_folder
+      changed_when: false
+
+    - name: MOLECULE | TESTS | Shows output from listing folder
+      ansible.builtin.debug:
+        msg: "{{ ret_list_folder }}"
diff --git a/roles/test/tasks/main.yml b/roles/test/tasks/main.yml
index 231332ebcb0b4a807ddd486fa62f2186f6e52d03..3e7e633615708d3a17a07bcb244ec0779c8725ac 100644
--- a/roles/test/tasks/main.yml
+++ b/roles/test/tasks/main.yml
@@ -1,8 +1,6 @@
 ---
 # tasks file for test
 
-# - import_tasks: test_task.yml
-
 - name: Test parsed variable setted only at roles/test/defaults/main.yml
   ansible.builtin.debug:
     msg: "{{ var_setted_only_defaults_main }}"
@@ -14,6 +12,7 @@
 - name: Test parsed variable setted only at inventory/group_vars/example_servers_group.yml
   ansible.builtin.debug:
     msg: "{{ var_setted_only_group_vars }}"
+  when: var_setted_only_group_vars is defined
 
 - name: Test parsed variable setted only at inventory/host_vars/example_server.yml
   ansible.builtin.debug:
@@ -27,7 +26,7 @@
   ansible.builtin.command:
     cmd: ls -hal /
   register: ret_list_folder
-  changed_when: ret_list_folder.rc != 0
+  changed_when: false
 
 - name: Shows output from listing folder
   ansible.builtin.debug:
diff --git a/roles/test/vars/main.yml b/roles/test/vars/main.yml
index 9fbe7d9e7123fee461a946fd278bec3fed65d262..76a45cb0672a680111467fd9d9576ca1e237dce8 100644
--- a/roles/test/vars/main.yml
+++ b/roles/test/vars/main.yml
@@ -2,5 +2,4 @@
 # vars file for test
 
 var_setted_everywhere: "MESSAGE EVERYWHERE FROM roles/test/vars/main.yml"
-
 var_setted_only_vars_main: "MESSAGE FROM roles/test/vars/main.yml"