# issue #499: ensure C.BECOME_ALLOW_SAME_USER is respected.
---

- name: integration/connection/become_same_user.yml
  hosts: bsu-joe
  gather_facts: no
  tasks:
  - include_tasks: ../_mitogen_only.yml

  # bsu-joe's login user is joe, so become should be ignored.
  - mitogen_get_stack:
    become: true
    become_user: joe
    register: out

  - assert:
      that:
      - out.result[0].method == "ssh"
      - out.result[0].kwargs.username == "joe"
      - out.result|length == 1  # no sudo
      fail_msg: |
        out={{ out }}


  # Now try with a different account.
  - mitogen_get_stack:
    become: true
    become_user: james
    register: out

  - assert:
      that:
      - out.result[0].method == "ssh"
      - out.result[0].kwargs.username == "joe"
      - out.result[1].method == "sudo"
      - out.result[1].kwargs.username == "james"
      - out.result|length == 2  # no sudo
      fail_msg: |
        out={{ out }}
  tags:
    - become_same_user
    - mitogen_only
