mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2024-09-14 20:13:21 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			113 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# simple test of lookup plugins in with_*
 | 
						|
---
 | 
						|
- hosts: all
 | 
						|
  connection: local
 | 
						|
  vars:
 | 
						|
    empty_list: []
 | 
						|
  tasks:
 | 
						|
  - name: test with_items
 | 
						|
    action: command true
 | 
						|
    with_items:
 | 
						|
    - 1
 | 
						|
    - 2
 | 
						|
    - 3
 | 
						|
  - name: test with_items with empty list
 | 
						|
    action: command true
 | 
						|
    with_items: $empty_list
 | 
						|
 | 
						|
  - name: test with_file and FILE
 | 
						|
    action: command test "$item" = "$FILE(sample.j2)"
 | 
						|
    with_file: sample.j2
 | 
						|
 | 
						|
  - name: test with_pipe
 | 
						|
    action: command test "$item" = "$PIPE(cat sample.j2)"
 | 
						|
    with_pipe: cat sample.j2
 | 
						|
 | 
						|
  - name: test LOOKUP and PIPE
 | 
						|
    action: command test "$LOOKUP(pipe, cat sample.j2)" = "$PIPE(cat sample.j2)"
 | 
						|
 | 
						|
  - name: test with_sequence, generate
 | 
						|
    command: touch /tmp/seq-${item}
 | 
						|
    with_sequence: 0-16/2:%02x
 | 
						|
 | 
						|
  - name: test with_sequence, fenceposts 1
 | 
						|
    copy: src=/tmp/seq-00 dest=/tmp/seq-10
 | 
						|
 | 
						|
  - name: test with_sequence, fenceposts 2
 | 
						|
    file: dest=/tmp/seq-${item} state=absent
 | 
						|
    with_items: [11, 12]
 | 
						|
 | 
						|
  - name: test with_sequence, missing
 | 
						|
    file: dest=/tmp/seq-${item} state=absent
 | 
						|
    with_sequence: 0x10/02:%02x
 | 
						|
 | 
						|
  - name: test with_sequence,remove
 | 
						|
    file: dest=/tmp/seq-${item} state=absent
 | 
						|
    with_sequence: 0-0x10/02:%02x
 | 
						|
 | 
						|
  - name: ensure test file doesnt exist
 | 
						|
    # command because file will return differently
 | 
						|
    action: command rm -f /tmp/ansible-test-with_lines-data
 | 
						|
  - name: test with_lines
 | 
						|
    action: shell echo "$item" >> /tmp/ansible-test-with_lines-data
 | 
						|
    with_lines: cat sample.j2
 | 
						|
  - name: verify with_lines
 | 
						|
    action: copy src=sample.j2 dest=/tmp/ansible-test-with_lines-data
 | 
						|
  - name: cleanup test file
 | 
						|
    action: file path=/tmp/ansible-test-with_lines-data state=absent
 | 
						|
    
 | 
						|
    # Test nested loop
 | 
						|
  - name: test nested loop with more than 3 elements
 | 
						|
    command: test "{{ item[0] }}, {{ item[1] }}, {{ item[2] }}, {{ item[3] }}" = "red, 1, up, top"
 | 
						|
    with_nested:
 | 
						|
    - [ 'red' ]
 | 
						|
    - [ 1 ]
 | 
						|
    - [ 'up']
 | 
						|
    - [ 'top']
 | 
						|
 | 
						|
# password lookup plugin
 | 
						|
  - name: ensure test file doesn't exist
 | 
						|
    # command because file will return differently
 | 
						|
    action: command rm -f /tmp/ansible-test-with_password
 | 
						|
  - name: test LOOKUP and PASSWORD with non existing password file
 | 
						|
    action: command test "$LOOKUP(password, /tmp/ansible-test-with_password)" = "$PASSWORD(/tmp/ansible-test-with_password)"
 | 
						|
  - name: test LOOKUP and PASSWORD with existing password file
 | 
						|
    action: command test "$LOOKUP(password, /tmp/ansible-test-with_password)" = "$PASSWORD(/tmp/ansible-test-with_password)"
 | 
						|
  - name: now test existing password via $item and with_password
 | 
						|
    action: command test "$PASSWORD(/tmp/ansible-test-with_password)" = "$item"
 | 
						|
    with_password:
 | 
						|
      - /tmp/ansible-test-with_password
 | 
						|
  - name: cleanup test file
 | 
						|
    action: file path=/tmp/ansible-test-with_password state=absent
 | 
						|
  - name: now test a password of non-default length (default=20, but here length=8)
 | 
						|
    action: command test "$PASSWORD(/tmp/ansible-test-with_password length=8)" = "$LOOKUP(password, /tmp/ansible-test-with_password)"
 | 
						|
  # - name: did we really create a password of length=8?
 | 
						|
  #   action: command test "`expr length $PASSWORD(/tmp/ansible-test-with_password)`" = "8"
 | 
						|
  - name: cleanup test file, again
 | 
						|
    action: file path=/tmp/ansible-test-with_password state=absent
 | 
						|
 | 
						|
# indexed_items lookup plugin
 | 
						|
  - name: create directory for indexed_items
 | 
						|
    file: path=/tmp/ansible-test-with_indexed_items-data state=directory
 | 
						|
  - name: test indexed_items
 | 
						|
    shell: echo "{{ item.0 }}" > /tmp/ansible-test-with_indexed_items-data/{{ item.1 }}
 | 
						|
    with_indexed_items:
 | 
						|
    - a
 | 
						|
    - b
 | 
						|
    - c
 | 
						|
  - name: check indexed_items content
 | 
						|
    shell: test -f /tmp/ansible-test-with_indexed_items-data/{{ item.1 }} &&
 | 
						|
           test "{{ item.0 }}" = "$(cat /tmp/ansible-test-with_indexed_items-data/{{ item.1 }})"
 | 
						|
    with_indexed_items:
 | 
						|
    - a
 | 
						|
    - b
 | 
						|
    - c
 | 
						|
  - name: cleanup indexed_items test
 | 
						|
    file: path=/tmp/ansible-test-with_indexed_items-data/{{ item.1 }} state=absent
 | 
						|
    with_indexed_items:
 | 
						|
    - a
 | 
						|
    - b
 | 
						|
    - c
 | 
						|
  - name: remove with_indexed_items directory
 | 
						|
    file: path=/tmp/ansible-test-with_indexed_items-data state=absent
 | 
						|
 |