mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-24 05:40:23 -07:00
Initial commit
This commit is contained in:
commit
aebc1b03fd
4861 changed files with 812621 additions and 0 deletions
140
tests/integration/targets/read_csv/tasks/main.yml
Normal file
140
tests/integration/targets/read_csv/tasks/main.yml
Normal file
|
@ -0,0 +1,140 @@
|
|||
# Create basic CSV file
|
||||
- name: Create unique CSV file
|
||||
copy:
|
||||
content: |
|
||||
name,uid,gid,gecos
|
||||
dag,500,500,Dag Wieërs
|
||||
jeroen,501,500,Jeroen Hoekx
|
||||
dest: users_unique.csv
|
||||
|
||||
# Read a CSV file and access user 'dag'
|
||||
- name: Read users from CSV file and return a dictionary
|
||||
read_csv:
|
||||
path: users_unique.csv
|
||||
key: name
|
||||
register: users_unique
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- users_unique.dict.dag.name == 'dag'
|
||||
- users_unique.dict.dag.gecos == 'Dag Wieërs'
|
||||
- users_unique.dict.dag.uid == '500'
|
||||
- users_unique.dict.dag.gid == '500'
|
||||
- users_unique.dict.jeroen.name == 'jeroen'
|
||||
- users_unique.dict.jeroen.gecos == 'Jeroen Hoekx'
|
||||
- users_unique.dict.jeroen.uid == '501'
|
||||
- users_unique.dict.jeroen.gid == '500'
|
||||
|
||||
# Read a CSV file and access the first item
|
||||
- name: Read users from CSV file and return a list
|
||||
read_csv:
|
||||
path: users_unique.csv
|
||||
register: users_unique
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- users_unique.list.0.name == 'dag'
|
||||
- users_unique.list.0.gecos == 'Dag Wieërs'
|
||||
- users_unique.list.0.uid == '500'
|
||||
- users_unique.list.0.gid == '500'
|
||||
- users_unique.list.1.name == 'jeroen'
|
||||
- users_unique.list.1.gecos == 'Jeroen Hoekx'
|
||||
- users_unique.list.1.uid == '501'
|
||||
- users_unique.list.1.gid == '500'
|
||||
|
||||
|
||||
# Create basic CSV file using semi-colon
|
||||
- name: Create non-unique CSV file using semi-colon
|
||||
copy:
|
||||
content: |
|
||||
name;uid;gid;gecos
|
||||
dag;500;500;Dag Wieërs
|
||||
jeroen;501;500;Jeroen Hoekx
|
||||
dag;502;500;Dag Wieers
|
||||
dest: users_nonunique.csv
|
||||
|
||||
# Read a CSV file and access user 'dag'
|
||||
- name: Read users from CSV file and return a dictionary
|
||||
read_csv:
|
||||
path: users_nonunique.csv
|
||||
key: name
|
||||
unique: no
|
||||
delimiter: ';'
|
||||
register: users_nonunique
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- users_nonunique.dict.dag.name == 'dag'
|
||||
- users_nonunique.dict.dag.gecos == 'Dag Wieers'
|
||||
- users_nonunique.dict.dag.uid == '502'
|
||||
- users_nonunique.dict.dag.gid == '500'
|
||||
- users_nonunique.dict.jeroen.name == 'jeroen'
|
||||
- users_nonunique.dict.jeroen.gecos == 'Jeroen Hoekx'
|
||||
- users_nonunique.dict.jeroen.uid == '501'
|
||||
- users_nonunique.dict.jeroen.gid == '500'
|
||||
|
||||
|
||||
# Read a CSV file using an non-existing dialect
|
||||
- name: Read users from CSV file and return a dictionary
|
||||
read_csv:
|
||||
path: users_nonunique.csv
|
||||
dialect: placebo
|
||||
register: users_placebo
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- users_placebo is failed
|
||||
- users_placebo.msg == "Dialect 'placebo' is not supported by your version of python."
|
||||
|
||||
|
||||
# Create basic CSV file without header
|
||||
- name: Create unique CSV file without header
|
||||
copy:
|
||||
content: |
|
||||
dag,500,500,Dag Wieërs
|
||||
jeroen,501,500,Jeroen Hoekx
|
||||
dest: users_noheader.csv
|
||||
|
||||
# Read a CSV file and access user 'dag'
|
||||
- name: Read users from CSV file and return a dictionary
|
||||
read_csv:
|
||||
path: users_noheader.csv
|
||||
key: name
|
||||
fieldnames: name,uid,gid,gecos
|
||||
register: users_noheader
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- users_noheader.dict.dag.name == 'dag'
|
||||
- users_noheader.dict.dag.gecos == 'Dag Wieërs'
|
||||
- users_noheader.dict.dag.uid == '500'
|
||||
- users_noheader.dict.dag.gid == '500'
|
||||
- users_noheader.dict.jeroen.name == 'jeroen'
|
||||
- users_noheader.dict.jeroen.gecos == 'Jeroen Hoekx'
|
||||
- users_noheader.dict.jeroen.uid == '501'
|
||||
- users_noheader.dict.jeroen.gid == '500'
|
||||
|
||||
|
||||
# Create broken file
|
||||
- name: Create unique CSV file
|
||||
copy:
|
||||
content: |
|
||||
name,uid,gid,gecos
|
||||
dag,500,500,Dag Wieërs
|
||||
jeroen,501,500,"Jeroen"Hoekx"
|
||||
dest: users_broken.csv
|
||||
|
||||
# Read a broken CSV file using strict
|
||||
- name: Read users from a broken CSV file
|
||||
read_csv:
|
||||
path: users_broken.csv
|
||||
key: name
|
||||
strict: yes
|
||||
register: users_broken
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- users_broken is failed
|
||||
- "'Unable to process file' in users_broken.msg"
|
Loading…
Add table
Add a link
Reference in a new issue