From 7b3ed52fd82ecc1fb65143484eb5d5467eb6dd8e Mon Sep 17 00:00:00 2001 From: David Wilson Date: Wed, 13 Feb 2019 04:04:54 +0000 Subject: [PATCH] tests/ansible: Spec.become_user() test. --- tests/ansible/hosts/transport_config.hosts | 4 + .../integration/transport_config/all.yml | 1 + .../transport_config/become_user.yml | 106 ++++++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 tests/ansible/integration/transport_config/become_user.yml diff --git a/tests/ansible/hosts/transport_config.hosts b/tests/ansible/hosts/transport_config.hosts index c98d4f41..76998e26 100644 --- a/tests/ansible/hosts/transport_config.hosts +++ b/tests/ansible/hosts/transport_config.hosts @@ -31,3 +31,7 @@ tc-become-set # become_method() tc-become-method-unset tc-become-method-su ansible_become_method=su + +# become_user() +tc-become-user-unset +tc-become-user-set ansible_become_user=ansi-become-user diff --git a/tests/ansible/integration/transport_config/all.yml b/tests/ansible/integration/transport_config/all.yml index 908f6735..47409b19 100644 --- a/tests/ansible/integration/transport_config/all.yml +++ b/tests/ansible/integration/transport_config/all.yml @@ -1,5 +1,6 @@ - include: become.yml - include: become_method.yml +- include: become_user.yml - include: password.yml - include: python_path.yml - include: remote_addr.yml diff --git a/tests/ansible/integration/transport_config/become_user.yml b/tests/ansible/integration/transport_config/become_user.yml new file mode 100644 index 00000000..43cbca2a --- /dev/null +++ b/tests/ansible/integration/transport_config/become_user.yml @@ -0,0 +1,106 @@ +# Each case is followed by mitogen_via= case to test hostvars user. + + +# No become-user set, defaults to "root" +- name: integration/transport_config/become-user.yml + hosts: tc-become-user-unset + become: true + tasks: + - include: ../_mitogen_only.yml + - {mitogen_get_stack: {}, register: out} + - assert: + that: + - out.result|length == 2 + - out.result[0].method == "ssh" + - out.result[1].method == "sudo" + - out.result[1].kwargs.username == "root" + +# Not set, unbecoming mitogen_via= +- hosts: tc-become-user-unset + become: true + vars: {mitogen_via: tc-become-user-set} + tasks: + - include: ../_mitogen_only.yml + - {mitogen_get_stack: {}, register: out} + - assert: + that: + - out.result|length == 3 + - out.result[0].method == "ssh" + - out.result[1].method == "ssh" + - out.result[2].method == "sudo" + - out.result[2].kwargs.username == "root" + +# Not set, becoming mitogen_via= +- hosts: tc-become-user-unset + become: true + vars: {mitogen_via: viauser@tc-become-user-set} + tasks: + - include: ../_mitogen_only.yml + - {mitogen_get_stack: {}, register: out} + - assert: + that: + - out.result|length == 4 + - out.result[0].method == "ssh" + - out.result[1].method == "sudo" + - out.result[1].kwargs.username == "viauser" + - out.result[2].method == "ssh" + - out.result[3].method == "sudo" + - out.result[3].kwargs.username == "root" + + +# ansible_become_user= set. +- hosts: tc-become-user-set + become: true + tasks: + - include: ../_mitogen_only.yml + - {mitogen_get_stack: {}, register: out} + - assert: + that: + - out.result|length == 2 + - out.result[0].method == "ssh" + - out.result[1].method == "sudo" + - out.result[1].kwargs.username == "ansi-become-user" + + +# ansible_become_user=, unbecoming via= +- hosts: tc-become-user-set + vars: {mitogen_via: tc-become-user-unset} + become: true + tasks: + - include: ../_mitogen_only.yml + - {mitogen_get_stack: {}, register: out} + - assert: + that: + - out.result|length == 3 + - out.result[0].method == "ssh" + - out.result[0].kwargs.hostname == "tc-become-user-unset" + + - out.result[1].method == "ssh" + - out.result[1].kwargs.hostname == "tc-become-user-set" + + - out.result[2].method == "sudo" + - out.result[2].kwargs.username == "ansi-become-user" + + +# ansible_become_user=, becoming via= +- hosts: tc-become-user-set + vars: {mitogen_via: "doas:doasuser@tc-become-user-unset"} + become: true + tasks: + - include: ../_mitogen_only.yml + - {mitogen_get_stack: {}, register: out} + - assert: + that: + - out.result|length == 4 + - out.result[0].method == "ssh" + - out.result[0].kwargs.hostname == "tc-become-user-unset" + + - out.result[1].method == "doas" + - out.result[1].kwargs.username == "doasuser" + + - out.result[2].method == "ssh" + - out.result[2].kwargs.hostname == "tc-become-user-set" + + - out.result[3].method == "sudo" + - out.result[3].kwargs.username == "ansi-become-user" +