File tree Expand file tree Collapse file tree 8 files changed +127
-0
lines changed Expand file tree Collapse file tree 8 files changed +127
-0
lines changed Original file line number Diff line number Diff line change
1
+ language : python
2
+ python :
3
+ - " 2.7"
4
+ install :
5
+ - " pip install ansible"
6
+ script :
7
+ - cd tests
8
+ - ansible-playbook --connection=local --limit=localhost --inventory-file=hosts all.yml
9
+
Original file line number Diff line number Diff line change
1
+ [ ![ Build Status] ( https://travis-ci.org/CraigJPerry/ansible-users.png )] ( https://travis-ci.org/CraigJPerry/ansible-users )
2
+
1
3
# Users role
2
4
3
5
Role to manage users on a system.
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ # It should add a user when given valid metadata
4
+
5
+ - hosts : test_runners
6
+ sudo : yes
7
+
8
+ # Test fixture data
9
+ vars :
10
+ users :
11
+ - username : ansibletestuser
12
+ name : Ansible Users Role Test Fixture Account
13
+ groups :
14
+ - ' users'
15
+ - ' bin'
16
+ uid : 2222
17
+ ssh_key :
18
+ -
" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVpUJQCOaPg3p5xro9e+1fkGRWNOGrrExiKMqTE91Fwu349bxfMnMzRS0PAERouR9EEL+Ee4Yzhav/uNc35eCtXzACtluXnAncMrQj6pM3IqASynhvXTygHljmcMbBSDQtLrTZeW+YzIcOgk5UM1yBi26WoUYva2aCr9IRvKdYreAK08OiMdZedpOye0ZdvIYJGcyITwc6YMmrAhP7jZlrk/mDEkf2a4eBp+475o7MJtaC9npqYkToM8vqvx5AGEKqXt7/f1/paOY7KsR+VGPQy6k2RkXjWBsXPesZ3d3XLZHE60wAk0EsuJO8A25+uWSB6ILQeRSYYmGea/WIf6kd [email protected] "
19
+
20
+ # Test setup
21
+ pre_tasks :
22
+ - include : cleanup.yml
23
+ - name : Add Users Test | Pre-Assertions | Ensure ansibletestuser not already present
24
+ command : " grep ansibletestuser /etc/passwd /etc/group"
25
+ register : ensure_user_not_present
26
+ failed_when : ensure_user_not_present.rc == 0
27
+ - name : Add Users Test | Pre-Assertions | Ensure ansibletestuser home dir not already present
28
+ command : " ls -d /home/ansibletestuser"
29
+ register : ensure_home_not_present
30
+ failed_when : ensure_home_not_present.rc == 0
31
+
32
+ # Test run
33
+ roles :
34
+ - { role: users }
35
+
36
+ # Test verify successful
37
+ tasks :
38
+ - name : Add Users Test | Post-Assertions | Ensure ansibletestuser was created
39
+ command : " grep ansibletestuser /etc/passwd"
40
+ - name : Add Users Test | Post-Assertions | Ensure ansibletestuser home dir was created
41
+ command : " ls -d /home/ansibletestuser"
42
+ - name : Add Users Test | Post-Assertions | Ensure ssh key was added
43
+ command : " sudo grep '{{ users[0].ssh_key[0] }}' /home/ansibletestuser/.ssh/authorized_keys"
44
+ - name : Add Users Test | Post-Assertions | Ensure group was added
45
+ command : " grep 2222 /etc/group"
46
+ - name : Add Users Test | Post-Assertions | Ensure user was added to requested groups
47
+ command : " grep '^bin.*ansibletestuser' /etc/group"
48
+
49
+ # Test tear-down
50
+ post_tasks :
51
+ - include : cleanup.yml
52
+
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ # All users role tests
4
+
5
+ - include : add_user.yml
6
+ - include : ssh_keys_optional.yml
7
+
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ - name : Cleanup | Remove ansibletestuser
4
+ user : state="absent" name="ansibletestuser"
5
+
6
+ - name : Cleanup | Remove ansibletestuser home dir
7
+ file : state="absent" path="/home/ansibletestuser"
8
+
Original file line number Diff line number Diff line change
1
+ [test_runners]
2
+ localhost
3
+
Original file line number Diff line number Diff line change
1
+ ../../
Original file line number Diff line number Diff line change
1
+ ---
2
+
3
+ # SSH keys should not be required
4
+
5
+ - hosts : test_runners
6
+ sudo : yes
7
+
8
+ # Test fixture data
9
+ vars :
10
+ users :
11
+ - username : ansibletestuser
12
+ name : Ansible Users Role Test Fixture Account
13
+ uid : 2222
14
+ groups : []
15
+ ssh_key : []
16
+
17
+ # Test setup
18
+ pre_tasks :
19
+ - include : cleanup.yml
20
+ - name : SSH Keys Optional Test | Pre-Assertions | Ensure ansibletestuser not already present
21
+ command : " grep ansibletestuser /etc/passwd /etc/group"
22
+ register : ensure_user_not_present
23
+ failed_when : ensure_user_not_present.rc == 0
24
+ - name : SSH Keys Optional Test | Pre-Assertions | Ensure ansibletestuser home dir not already present
25
+ command : " ls -d /home/ansibletestuser"
26
+ register : ensure_home_not_present
27
+ failed_when : ensure_home_not_present.rc == 0
28
+
29
+ # Test run
30
+ roles :
31
+ - { role: users }
32
+
33
+ # Test verify successful
34
+ tasks :
35
+ - name : SSH Keys Optional Test | Post-Assertions | Ensure ansibletestuser was created
36
+ command : " grep ansibletestuser /etc/passwd"
37
+ - name : SSH Keys Optional Test | Post-Assertions | Ensure no ssh key was added
38
+ command : " sudo ls /home/ansibletestuser/.ssh/authorized_keys"
39
+ register : ensure_ssh_key_not_present
40
+ failed_when : ensure_ssh_key_not_present.rc == 0
41
+
42
+ # Test tear-down
43
+ post_tasks :
44
+ - include : cleanup.yml
45
+
You can’t perform that action at this time.
0 commit comments