summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/yum/tasks/proxy.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/yum/tasks/proxy.yml')
-rw-r--r--test/integration/targets/yum/tasks/proxy.yml186
1 files changed, 186 insertions, 0 deletions
diff --git a/test/integration/targets/yum/tasks/proxy.yml b/test/integration/targets/yum/tasks/proxy.yml
new file mode 100644
index 0000000..b011d11
--- /dev/null
+++ b/test/integration/targets/yum/tasks/proxy.yml
@@ -0,0 +1,186 @@
+- name: test yum proxy settings
+ block:
+ - name: install tinyproxy
+ yum:
+ name: 'https://ci-files.testing.ansible.com/test/integration/targets/yum/tinyproxy-1.10.0-3.el7.x86_64.rpm'
+ state: installed
+
+ # systemd doesn't play nice with this in a container for some reason
+ - name: start tinyproxy (systemd with tiny proxy does not work in container)
+ shell: tinyproxy
+ changed_when: false
+
+ # test proxy without auth
+ - name: set unauthenticated proxy in yum.conf
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy=http://127.0.0.1:8888"
+ state: present
+
+ - name: clear proxy logs
+ shell: ': > /var/log/tinyproxy/tinyproxy.log'
+ changed_when: false
+ args:
+ executable: /usr/bin/bash
+
+ - name: install ninvaders with unauthenticated proxy
+ yum:
+ name: 'https://ci-files.testing.ansible.com/test/integration/targets/yum/ninvaders-0.1.1-18.el7.x86_64.rpm'
+ state: installed
+ register: yum_proxy_result
+
+ - assert:
+ that:
+ - "yum_proxy_result.changed"
+ - "'msg' in yum_proxy_result"
+ - "'rc' in yum_proxy_result"
+
+ - name: check that it install via unauthenticated proxy
+ command: grep -q Request /var/log/tinyproxy/tinyproxy.log
+
+ - name: uninstall ninvaders with unauthenticated proxy
+ yum:
+ name: ninvaders
+ state: absent
+ register: yum_proxy_result
+
+ - assert:
+ that:
+ - "yum_proxy_result.changed"
+ - "'msg' in yum_proxy_result"
+ - "'rc' in yum_proxy_result"
+
+ - name: unset unauthenticated proxy in yum.conf
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy=http://127.0.0.1:8888"
+ state: absent
+
+ # test proxy with auth
+ - name: set authenticated proxy config in tinyproxy.conf
+ lineinfile:
+ path: /etc/tinyproxy/tinyproxy.conf
+ line: "BasicAuth 1testuser 1testpassword"
+ state: present
+
+ # systemd doesn't play nice with this in a container for some reason
+ - name: SIGHUP tinyproxy to reload config (workaround because of systemd+tinyproxy in container)
+ shell: kill -HUP $(ps -ef | grep tinyproxy | grep -v grep | awk '{print $2}')
+ changed_when: false
+ args:
+ executable: /usr/bin/bash
+
+ - name: set authenticated proxy config in yum.conf
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy=http://1testuser:1testpassword@127.0.0.1:8888"
+ state: present
+
+ - name: clear proxy logs
+ shell: ': > /var/log/tinyproxy/tinyproxy.log'
+ changed_when: false
+ args:
+ executable: /usr/bin/bash
+
+ - name: install ninvaders with authenticated proxy
+ yum:
+ name: 'https://ci-files.testing.ansible.com/test/integration/targets/yum/ninvaders-0.1.1-18.el7.x86_64.rpm'
+ state: installed
+ register: yum_proxy_result
+
+ - assert:
+ that:
+ - "yum_proxy_result.changed"
+ - "'msg' in yum_proxy_result"
+ - "'rc' in yum_proxy_result"
+
+ - name: check that it install via authenticated proxy
+ command: grep -q Request /var/log/tinyproxy/tinyproxy.log
+
+ - name: uninstall ninvaders with authenticated proxy
+ yum:
+ name: ninvaders
+ state: absent
+
+ - name: unset authenticated proxy config in yum.conf
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy=http://1testuser:1testpassword@127.0.0.1:8888"
+ state: absent
+
+ - name: set proxy config in yum.conf
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy=http://127.0.0.1:8888"
+ state: present
+
+ - name: set proxy_username config in yum.conf
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy_username=1testuser"
+ state: present
+
+ - name: set proxy_password config in yum.conf
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy_password=1testpassword"
+ state: present
+
+ - name: clear proxy logs
+ shell: ': > /var/log/tinyproxy/tinyproxy.log'
+ changed_when: false
+ args:
+ executable: /usr/bin/bash
+
+ - name: install ninvaders with proxy, proxy_username, and proxy_password config in yum.conf
+ yum:
+ name: 'https://ci-files.testing.ansible.com/test/integration/targets/yum/ninvaders-0.1.1-18.el7.x86_64.rpm'
+ state: installed
+ register: yum_proxy_result
+
+ - assert:
+ that:
+ - "yum_proxy_result.changed"
+ - "'msg' in yum_proxy_result"
+ - "'rc' in yum_proxy_result"
+
+ - name: check that it install via proxy with proxy_username, proxy_password config in yum.conf
+ command: grep -q Request /var/log/tinyproxy/tinyproxy.log
+
+ always:
+ #cleanup
+ - name: uninstall tinyproxy
+ yum:
+ name: tinyproxy
+ state: absent
+
+ - name: uninstall ninvaders
+ yum:
+ name: ninvaders
+ state: absent
+
+ - name: ensure unset authenticated proxy
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy=http://1testuser:1testpassword@127.0.0.1:8888"
+ state: absent
+
+ - name: ensure unset proxy
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy=http://127.0.0.1:8888"
+ state: absent
+
+ - name: ensure unset proxy_username
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy_username=1testuser"
+ state: absent
+
+ - name: ensure unset proxy_password
+ lineinfile:
+ path: /etc/yum.conf
+ line: "proxy_password=1testpassword"
+ state: absent
+ when:
+ - (ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux'] and ansible_distribution_major_version|int == 7 and ansible_architecture in ['x86_64'])