Skip to content

Commit

Permalink
tests: support validating specified values in get
Browse files Browse the repository at this point in the history
  • Loading branch information
abn committed Jul 24, 2020
1 parent c0fc816 commit 6bbe544
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions tests/integration/validation.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,32 @@
import json
from typing import Union
from typing import Any, Dict, Union

import gnmi.proto
import gnmi.proto.legacy


def validate_default_interfaces_get(
response: Union[gnmi.proto.GetResponse, gnmi.proto.legacy.GetResponse]
def validate_response_get(
response: Union[gnmi.proto.GetResponse, gnmi.proto.legacy.GetResponse],
value: Union[str, Dict[str, Any]],
):
assert len(response.notification) == 1

notification = response.notification.pop()
assert len(notification.update) == 1

update = notification.update.pop()
assert update.val.json_val
assert json.loads(update.val.json_val.decode("utf-8")) == {
"interface": {"admin": {"config": {"name": "admin"}, "name": "admin"}}
}

if isinstance(value, str):
assert update.val.string_val == value
else:
assert update.val.json_val
assert json.loads(update.val.json_val.decode("utf-8")) == value


def validate_default_interfaces_get(
response: Union[gnmi.proto.GetResponse, gnmi.proto.legacy.GetResponse],
):
validate_response_get(
response=response,
value={"interface": {"admin": {"config": {"name": "admin"}, "name": "admin"}}},
)

0 comments on commit 6bbe544

Please sign in to comment.