---
- block:
  - name: Create user with password
    vyos_user:
      name: auth_user
      role: admin
      state: present
      configured_password: pass123

  - name: test login via ssh with new user
    expect:
      command: "ssh auth_user@{{ ansible_ssh_host }} -p {{ ansible_port | default(22) }} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no '/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper show version'"
      responses:
        (?i)password: "pass123"

  - name: test login via ssh with invalid password (should fail)
    expect:
      command: "ssh auth_user@{{ ansible_ssh_host }} -p {{ ansible_port | default(22) }} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no '/opt/vyatta/sbin/vyatta-cfg-cmd-wrapper show version'"
      responses:
        (?i)password: "badpass"
    ignore_errors: yes
    register: results

  - name: check that attempt failed
    assert:
      that:
        - results.failed

  always:
  - name: delete user
    vyos_user:
      name: auth_user
      state: absent
    register: result
