]> git.immae.eu Git - github/fretlink/ansible-clever.git/commitdiff
tests: expectations on binary stub 70/head
authorPaul Bonaud <paul.bonaud@fretlink.com>
Mon, 22 Jun 2020 20:32:55 +0000 (22:32 +0200)
committerPaul Bonaud <paul.bonaud@fretlink.com>
Tue, 23 Jun 2020 08:53:05 +0000 (10:53 +0200)
tests/fake.sh
tests/test-configure-app.yml
tests/test-restart-app.yml
tests/test-scalability.yml

index 75bc0514d8b22407f45355259ce8ae74936b2ddb..bbb4380637bf691669764043ccd1856cc9ec4c6e 100755 (executable)
@@ -10,5 +10,6 @@ elif [ "${binary}" = "clever" ] && [ "${1}" = "activity" ]; then
 elif [ "${binary}" = "git" ]; then
     echo "${fakeCommit}"
 else
+    echo "${1}" >> "${binary}-commands"
     echo "${binary} called with arguments: ${*}"
 fi
index 06e5e920b947a241a31d9582d47bc5029eb2de78..15987fd8248288743e2d529e8b2027205a064e99 100644 (file)
@@ -2,6 +2,10 @@
 - name: Deploy an app & configure system details on clever
   hosts: localhost
   remote_user: root
+  pre_tasks:
+    - file:
+        state: absent
+        path: ../clever-commands
   roles:
     - role: clever
       vars:
       fail:
         msg: "CC_RUN_COMMAND env variable should not be present in the environment dict"
       when: clever_env.CC_RUN_COMMAND is defined
+    - name: Check stubbed commands
+      command: "{{ item.cmd }}"
+      ignore_errors: true
+      vars:
+        display: "{{ item.display }}"
+      with_list:
+        - cmd: "grep deploy ../clever-commands"
+          display: "Expected 'clever deploy' command to be called"
+        - cmd: "grep scale ../clever-commands"
+          display: "Expected 'clever scale' command to be called"
+        - cmd: "grep domain ../clever-commands"
+          display: "Expected 'clever domain' command to be called"
+        - cmd: "grep drain ../clever-commands"
+          display: "Expected 'clever drain' command to be called"
+        - cmd: "grep -v restart ../clever-commands"
+          display: "Expected 'clever restart' command to NOT be called"
+      register: tests_results
+    - name: show results
+      debug:
+        msg:
+          - "failed_results: {{ failed_results }}"
+          - "success_results: {{ success_results }}"
+      failed_when: tests_results is failed
+      vars:
+        failed_results: "{{ tests_results.results | selectattr('failed') | map(attribute='item.display') | list }}"
+        success_results: "{{ tests_results.results | rejectattr('failed') | map(attribute='item.display') | list }}"
index 09d9936603fafb9a2d65e4daa300c90743ac82fd..4c13a14fd01230120b4ddb30f0d841ede4e8454f 100644 (file)
@@ -2,6 +2,10 @@
 - name: Restart app on clever
   hosts: localhost
   remote_user: root
+  pre_tasks:
+    - file:
+        state: absent
+        path: ../clever-commands
   roles:
     - role: clever
       vars:
@@ -9,3 +13,26 @@
         clever_secret: cba321
         clever_app: app_00000000-0000-0000-0000-000000000000
         clever_restart_only: true
+  post_tasks:
+    - name: Check stubbed commands
+      command: "{{ item.cmd }}"
+      ignore_errors: true
+      vars:
+        display: "{{ item.display }}"
+      with_list:
+        - cmd: "grep restart ../clever-commands"
+          display: "Expected 'clever restart' command to be called"
+        - cmd: "grep -v deploy ../clever-commands"
+          display: "Expected 'clever deploy' command to NOT be called"
+        - cmd: "grep -v scale ../clever-commands"
+          display: "Expected 'clever scale' command to NOT be called"
+      register: tests_results
+    - name: show results
+      debug:
+        msg:
+          - "failed_results: {{ failed_results }}"
+          - "success_results: {{ success_results }}"
+      failed_when: tests_results is failed
+      vars:
+        failed_results: "{{ tests_results.results | selectattr('failed') | map(attribute='item.display') | list }}"
+        success_results: "{{ tests_results.results | rejectattr('failed') | map(attribute='item.display') | list }}"
index fefc86c7beff80839ba1e5e4782f80f31b0890d3..6bb90d2ac97ecd04116bcd7402f900e8daf67237 100644 (file)
 - name: Configure scalability (no instances and ranged flavors)
   hosts: localhost
   remote_user: root
+  pre_tasks:
+    - file:
+        state: absent
+        path: ../clever-commands
   roles:
     - role: clever
       vars:
         clever_app: app_00000000-0000-0000-0000-000000000000
         clever_scaling:
           flavors: { min: "nano", max: "XS" }
+  post_tasks:
+    - name: Check stubbed commands
+      command: "{{ item.cmd }}"
+      ignore_errors: true
+      vars:
+        display: "{{ item.display }}"
+      with_list:
+        - cmd: "grep deploy ../clever-commands"
+          display: "Expected 'clever deploy' command to be called"
+        - cmd: "grep scale ../clever-commands"
+          display: "Expected 'clever scale' command to be called"
+        - cmd: "grep -v restart ../clever-commands"
+          display: "Expected 'clever restart' command to NOT be called"
+      register: tests_results
+    - name: show results
+      debug:
+        msg:
+          - "failed_results: {{ failed_results }}"
+          - "success_results: {{ success_results }}"
+      failed_when: tests_results is failed
+      vars:
+        failed_results: "{{ tests_results.results | selectattr('failed') | map(attribute='item.display') | list }}"
+        success_results: "{{ tests_results.results | rejectattr('failed') | map(attribute='item.display') | list }}"
 
 - name: Configure scalability (incomplete flavors)
   hosts: localhost