Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 1 | import sysrepo_subscription_py as sr_sub |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 2 | import netconf_cli_py as nc |
| 3 | |
| 4 | c = nc.NetconfAccess(socketPath = "@NETOPEER_SOCKET_PATH@") |
Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 5 | data = c.getItems("/ietf-netconf-monitoring:netconf-state/datastores") |
Václav Kubernát | cf9224f | 2020-06-02 09:55:29 +0200 | [diff] [blame] | 6 | for (k, v) in data: |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 7 | print(f"{k}: {type(v)} {v}", flush=True) |
| 8 | |
| 9 | if len(data) == 0: |
| 10 | print("ERROR: No data returned from NETCONF") |
| 11 | exit(1) |
| 12 | |
Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 13 | subscription = sr_sub.SysrepoSubscription("example-schema") |
| 14 | xpath = "/example-schema:leafInt32" |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 15 | for EXPECTED in (599, 59, "61"): |
Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 16 | c.setLeaf(xpath, EXPECTED) |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 17 | c.commitChanges() |
Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 18 | data = c.getItems(xpath) |
| 19 | (_, value) = next(filter(lambda keyValue: keyValue[0] == xpath, data)) |
Václav Kubernát | cf9224f | 2020-06-02 09:55:29 +0200 | [diff] [blame] | 20 | if value != EXPECTED: |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 21 | if isinstance(EXPECTED, str): |
Václav Kubernát | cf9224f | 2020-06-02 09:55:29 +0200 | [diff] [blame] | 22 | if str(value) != EXPECTED: |
Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 23 | print(f"ERROR: leafInt32 not updated (via string) to {EXPECTED}") |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 24 | exit(1) |
| 25 | else: |
Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 26 | print(f"ERROR: leafInt32 not updated to {EXPECTED}") |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 27 | exit(1) |
| 28 | try: |
Václav Kubernát | 654303f | 2020-07-31 13:16:54 +0200 | [diff] [blame^] | 29 | c.setLeaf(xpath, "blesmrt") |
Jan Kundrát | cf5c636 | 2020-01-16 22:54:47 +0100 | [diff] [blame] | 30 | c.commitChanges() |
| 31 | print("ERROR: setting integer to a string did not error out") |
| 32 | exit(1) |
| 33 | except RuntimeError: |
| 34 | pass |
| 35 | |
| 36 | exit(0) |