summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/apt_repository/tasks/mode.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/apt_repository/tasks/mode.yaml')
-rw-r--r--test/integration/targets/apt_repository/tasks/mode.yaml135
1 files changed, 135 insertions, 0 deletions
diff --git a/test/integration/targets/apt_repository/tasks/mode.yaml b/test/integration/targets/apt_repository/tasks/mode.yaml
new file mode 100644
index 0000000..4b4fabf
--- /dev/null
+++ b/test/integration/targets/apt_repository/tasks/mode.yaml
@@ -0,0 +1,135 @@
+---
+
+# These tests are likely slower than they should be, since each
+# invocation of apt_repository seems to end up querying for
+# lots (all?) configured repos.
+
+- set_fact:
+ test_repo_spec: "deb http://apt.postgresql.org/pub/repos/apt/ {{ ansible_distribution_release }}-pgdg main"
+ test_repo_path: /etc/apt/sources.list.d/apt_postgresql_org_pub_repos_apt.list
+
+- import_tasks: mode_cleanup.yaml
+
+- name: Add GPG key to verify signatures
+ apt_key:
+ id: 7FCC7D46ACCC4CF8
+ keyserver: keyserver.ubuntu.com
+
+- name: Mode specified as yaml literal 0600
+ apt_repository:
+ repo: "{{ test_repo_spec }}"
+ state: present
+ mode: 0600
+ update_cache: false
+ register: mode_given_results
+
+- name: Gather mode_given_as_literal_yaml stat
+ stat:
+ path: "{{ test_repo_path }}"
+ register: mode_given_yaml_literal_0600
+
+- name: Show mode_given_yaml_literal_0600
+ debug:
+ var: mode_given_yaml_literal_0600
+
+- import_tasks: mode_cleanup.yaml
+
+- name: Assert mode_given_yaml_literal_0600 is correct
+ assert:
+ that: "mode_given_yaml_literal_0600.stat.mode == '0600'"
+
+- name: No mode specified
+ apt_repository:
+ repo: "{{ test_repo_spec }}"
+ state: present
+ update_cache: false
+ register: no_mode_results
+
+- name: Gather no mode stat
+ stat:
+ path: "{{ test_repo_path }}"
+ register: no_mode_stat
+
+- name: Show no mode stat
+ debug:
+ var: no_mode_stat
+
+- import_tasks: mode_cleanup.yaml
+
+- name: Assert no_mode_stat is correct
+ assert:
+ that: "no_mode_stat.stat.mode == '0644'"
+
+- name: Mode specified as string 0600
+ apt_repository:
+ repo: "{{ test_repo_spec }}"
+ state: present
+ mode: "0600"
+ update_cache: false
+ register: mode_given_string_results
+
+- name: Gather mode_given_string stat
+ stat:
+ path: "{{ test_repo_path }}"
+ register: mode_given_string_stat
+
+- name: Show mode_given_string_stat
+ debug:
+ var: mode_given_string_stat
+
+- import_tasks: mode_cleanup.yaml
+
+- name: Mode specified as string 600
+ apt_repository:
+ repo: "{{ test_repo_spec }}"
+ state: present
+ mode: "600"
+ update_cache: false
+ register: mode_given_string_600_results
+
+- name: Gather mode_given_600_string stat
+ stat:
+ path: "{{ test_repo_path }}"
+ register: mode_given_string_600_stat
+
+- name: Show mode_given_string_stat
+ debug:
+ var: mode_given_string_600_stat
+
+- import_tasks: mode_cleanup.yaml
+
+- name: Assert mode is correct
+ assert:
+ that: "mode_given_string_600_stat.stat.mode == '0600'"
+
+- name: Mode specified as yaml literal 600
+ apt_repository:
+ repo: "{{ test_repo_spec }}"
+ state: present
+ mode: 600
+ update_cache: false
+ register: mode_given_short_results
+
+- name: Gather mode_given_yaml_literal_600 stat
+ stat:
+ path: "{{ test_repo_path }}"
+ register: mode_given_yaml_literal_600
+
+- name: Show mode_given_yaml_literal_600
+ debug:
+ var: mode_given_yaml_literal_600
+
+- import_tasks: mode_cleanup.yaml
+
+# a literal 600 as the mode will fail currently, in the sense that it
+# doesn't guess and consider 600 and 0600 to be the same, and will instead
+# intepret literal 600 as the decimal 600 (and thereby octal 1130).
+# The literal 0600 can be interpreted as octal correctly. Note that
+# a decimal 644 is octal 420. The default perm is 0644 so a mis intrpretation
+# of 644 was previously resulting in a default file mode of 0420.
+# 'mode: 600' is likely not what a user meant but there isnt enough info
+# to determine that. Note that a string arg of '600' will be intrepeted as 0600.
+# See https://github.com/ansible/ansible/issues/16370
+- name: Assert mode_given_yaml_literal_600 is correct
+ assert:
+ that: "mode_given_yaml_literal_600.stat.mode == '1130'"