You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/supervisorctl/tasks/test_start.yml

136 lines
4.5 KiB
YAML

- name: start py1 service (without auth)
supervisorctl:
name: 'pys:py1'
state: started
config: '{{ remote_dir }}/supervisord.conf'
register: result
when: credentials.username == ''
- name: start py1 service (with auth)
supervisorctl:
name: 'pys:py1'
state: started
server_url: http://127.0.0.1:9001
username: '{{ credentials.username }}'
password: '{{ credentials.password }}'
register: result_with_auth
when: credentials.username != ''
- command: "supervisorctl -c {{ remote_dir }}/supervisord.conf {% if credentials.username %}-u {{ credentials.username }} -p {{ credentials.password }}{% endif %} status"
- name: check that service is started
assert:
that:
- (result is success and result_with_auth is skip) or (result is skip and result_with_auth is changed)
- (result is changed and result_with_auth is skip) or (result is skip and result_with_auth is changed)
- name: check that service is running (part1) # py1.log content is checked below
script: "files/sendProcessStdin.py 'pys:py1' 2 \
'{{ credentials.username }}' '{{ credentials.password }}'"
- name: try again to start py1 service (without auth)
supervisorctl:
name: pys:py1
state: started
config: '{{ remote_dir }}/supervisord.conf'
register: result
when: credentials.username == ''
- name: try again to start py1 service (with auth)
supervisorctl:
name: pys:py1
state: started
server_url: http://127.0.0.1:9001
username: '{{ credentials.username }}'
password: '{{ credentials.password }}'
register: result_with_auth
when: credentials.username != ''
- name: check that service is already running
assert:
that:
- (result is success and result_with_auth is skip) or (result is skip and result_with_auth is success)
- (result is not changed and result_with_auth is skip) or (result is skip and result_with_auth is not changed)
- import_tasks: stop_supervisord.yml
# supervisord has been stopped, check logfile
- name: check that service has done what it was expected (part 2)
shell: 'test "$(tail -2 {{ remote_dir }}/py1.log | head -1)" = ">>> 2"'
# restart supervisord and py1 service for next tasks
- import_tasks: start_supervisord.yml
- name: start py1 service (without auth)
supervisorctl:
name: 'pys:py1'
state: started
config: '{{ remote_dir }}/supervisord.conf'
register: result
when: credentials.username == ''
- name: start py1 service (with auth)
supervisorctl:
name: 'pys:py1'
state: started
server_url: http://127.0.0.1:9001
username: '{{ credentials.username }}'
password: '{{ credentials.password }}'
register: result_with_auth
when: credentials.username != ''
- name: check that service is started
assert:
that:
- (result is success and result_with_auth is skip) or (result is skip and result_with_auth is changed)
- (result is changed and result_with_auth is skip) or (result is skip and result_with_auth is changed)
#############################################################
- name: Check an error occurs when wrong credentials are used
supervisorctl:
name: pys:py1
state: started
server_url: http://127.0.0.1:9001
username: '{{ credentials.username }}wrong_creds'
password: '{{ credentials.password }}same_here'
register: result
failed_when: result is not skip and (result is success or result is not failed)
when: credentials.username != ''
- name: Check an error occurs when wrong URL is used
supervisorctl:
name: pys:py1
state: started
server_url: http://127.0.0.1:9002
register: result
failed_when: result is success or result is not failed
- name: Check an error occurs when wrong config path is used
supervisorctl:
name: 'pys:py1'
state: started
config: '{{ remote_dir }}/supervisord_not_here.conf'
register: result
failed_when: result is success or result is not failed
- name: Check an error occurs wrong name is used (without auth)
supervisorctl:
name: 'invalid'
state: started
config: '{{ remote_dir }}/supervisord.conf'
register: result
failed_when: result is skip or (result is success or result is not failed)
when: credentials.username == ''
- name: Check an error occurs wrong name is used (with auth)
supervisorctl:
name: 'invalid'
state: started
config: '{{ remote_dir }}/supervisord.conf'
username: '{{ credentials.username }}wrong_creds'
password: '{{ credentials.password }}same_here'
register: result
failed_when: result is skip or (result is success or result is not failed)
when: credentials.username != ''