summaryrefslogtreecommitdiff
path: root/test/integration/targets/nxos_snmp_user/tests/common/sanity.yaml
blob: ae09a4d071d9d4ca07d5730a25d3d876de0d36b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
---
- debug: msg="START connection={{ ansible_connection }} nxos_snmp_user sanity test"

- set_fact: delete_last_user_allowed='true'
- set_fact: delete_last_user_allowed='false'
  when: imagetag and (major_version is version_compare('9.1', 'ge'))
- set_fact: delete_last_user_allowed='false'
  when: platform is search('N5K|N6K|N9K-F')

- name: Remove snmp user
  nxos_snmp_user: &remove_snmp_user
    user: ntc
    state: absent
  ignore_errors: yes
  when: platform is not search('N5K|N6K|N9K-F')

- name: Remove user workaround
  # Some platforms will not allow snmp_user to remove the last role
  nxos_user: &workaround_remove_user
    name: ntc
    state: absent
  ignore_errors: yes
  when: platform is search('N5K|N6K|N9K-F')

- pause:
    seconds: 5

- block:
  - name: Create snmp user
    nxos_snmp_user: &create
      user: ntc
      group: network-operator
      authentication: md5
      pwd: N$tOpe%1
      privacy: HelloU$er1
      encrypt: true
    register: result

  - assert: &true
      that:
        - "result.changed == true"

  - name: Add another group to user
    nxos_snmp_user: &chg
      user: ntc
      group: network-admin
    register: result

  - assert: *true

  - name: "Check Idempotence"
    nxos_snmp_user: *chg
    register: result

  - assert: &false
      that:
        - "result.changed == false"

  - name: Remove group from user
    nxos_snmp_user: &remg
      user: ntc
      group: network-admin
      state: absent
    register: result

  - assert: *true

  - pause:
      seconds: 5

  - name: "Check Idempotence"
    nxos_snmp_user: *remg
    register: result

  - assert: *false

  - block:
    # Some platforms will not allow snmp_user to remove the last role
    - name: delete snmp user
      nxos_snmp_user: &remove1
        user: ntc
        group: network-operator
        state: absent
      register: result

    - assert: *true

    - pause:
        seconds: 5

    - name: "Remove Idempotence"
      nxos_snmp_user: *remove1
      register: result

    - assert: *false
    when: delete_last_user_allowed

  always:
    - name: delete snmp user
      nxos_snmp_user: *remove_snmp_user
      when: platform is not search('N5K|N6K|N9K-F')

    - name: remove user workaround
      nxos_user: *workaround_remove_user
      when: platform is search('N5K|N6K|N9K-F')

- debug: msg="END connection={{ ansible_connection }} nxos_snmp_user sanity test"