summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/unarchive/tasks/test_exclude.yml
blob: 8d3183c392d24c5a840be9096022ae84d44e71a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
- name: "Create {{ remote_tmp_dir }}/exclude directory"
  file:
    state: directory
    path: "{{ remote_tmp_dir }}/exclude-{{item}}"
  with_items:
    - zip
    - tar

- name: Unpack archive file excluding regular and glob files.
  unarchive:
    src: "{{ remote_tmp_dir }}/unarchive-00.{{item}}"
    dest: "{{ remote_tmp_dir }}/exclude-{{item}}"
    remote_src: yes
    list_files: yes
    exclude:
      - "exclude/exclude-*.txt"
      - "other/exclude-1.ext"
  register: result_of_unarchive
  with_items:
    - zip
    - tar

- name: Make sure unarchive module reported back extracted files
  assert:
    that:
      - "'include/include-1.txt' in item.files"
      - "'include/include-2.txt' in item.files"
      - "'include/include-3.txt' in item.files"
      - "'other/include-1.ext' in item.files"
      - "'other/include-2.ext' in item.files"
      - "'other/exclude-2.ext' in item.files"
      - "'other/other-1.ext' in item.files"
      - "'other/other-2.ext' in item.files"
  loop: "{{ result_of_unarchive.results }}"

- name: verify that the file was unarchived
  shell: find {{ remote_tmp_dir }}/exclude-{{item}} chdir={{ remote_tmp_dir }}
  register: unarchive00
  with_items:
    - zip
    - tar

- name: verify that archive extraction excluded the files
  assert:
    that:
      - "'exclude/exclude-1.txt' not in item.stdout"
      - "'other/exclude-1.ext' not in item.stdout"
  with_items:
    - "{{ unarchive00.results }}"

- name: remove our zip unarchive destination
  file:
    path: '{{remote_tmp_dir}}/test-unarchive-zip'
    state: absent