diff --git a/test/integration/targets/xattr/aliases b/test/integration/targets/xattr/aliases new file mode 100644 index 00000000000..0f3ba0b2f83 --- /dev/null +++ b/test/integration/targets/xattr/aliases @@ -0,0 +1 @@ +destructive \ No newline at end of file diff --git a/test/integration/targets/xattr/defaults/main.yml b/test/integration/targets/xattr/defaults/main.yml new file mode 100644 index 00000000000..2ea8acbb4d2 --- /dev/null +++ b/test/integration/targets/xattr/defaults/main.yml @@ -0,0 +1 @@ +test_file: ~/foo.txt \ No newline at end of file diff --git a/test/integration/targets/xattr/tasks/main.yml b/test/integration/targets/xattr/tasks/main.yml new file mode 100644 index 00000000000..8514c444f74 --- /dev/null +++ b/test/integration/targets/xattr/tasks/main.yml @@ -0,0 +1,68 @@ +- name: Setup + include: setup.yml + +- name: Set attributes + xattr: + path: "{{ test_file }}" + key: user.foo + value: bar + register: xattr_set_result + +- name: Get attributes + xattr: + path: "{{ test_file }}" + register: xattr_get_all_result + +- name: Get specific attribute + xattr: + path: "{{ test_file }}" + key: user.foo + register: xattr_get_specific_result + +- assert: + that: + - "xattr_set_result.changed" + - "xattr_get_all_result['xattr']['user.foo'] == 'bar'" + - "not xattr_get_all_result.changed" + - "xattr_get_specific_result['xattr']['user.foo'] == 'bar'" + - "not xattr_get_specific_result.changed" + +- name: Set attribute again + xattr: + path: "{{ test_file }}" + key: user.foo + value: bar + register: xattr_set_again_result + +- assert: + that: + - "not xattr_set_again_result.changed" + +- name: Unset attribute + xattr: + path: "{{ test_file }}" + key: user.foo + state: absent + register: xattr_unset_result + +- name: get attributes + xattr: + path: "{{ test_file }}" + register: xattr_get_after_unset_result + +- assert: + that: + - "xattr_unset_result.changed" + - "xattr_get_after_unset_result['xattr'] == {}" + - "not xattr_get_after_unset_result.changed" + +- name: Unset attribute again + xattr: + path: "{{ test_file }}" + key: user.foo + state: absent + register: xattr_unset_result + +- assert: + that: + - "not xattr_set_again_result.changed" \ No newline at end of file diff --git a/test/integration/targets/xattr/tasks/setup.yml b/test/integration/targets/xattr/tasks/setup.yml new file mode 100644 index 00000000000..4a0150e113c --- /dev/null +++ b/test/integration/targets/xattr/tasks/setup.yml @@ -0,0 +1,10 @@ +- name: Install + package: + name: attr + state: installed + become: true + +- name: Create file + file: + path: "{{ test_file }}" + state: touch \ No newline at end of file