Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

PythonのJunos Snapshot Administrator テストオペレーターの概要

PythonのJunos Snapshot Administrator(jsnapy)を使用すると、Junos OSを実行しているネットワークデバイスのランタイム環境スナップショットをキャプチャして監査できます。Junos Snapshot Administrator構成ファイルでは、スナップショットの範囲と、単一のスナップショットまたは2つのスナップショットの比較の評価基準を定義します。構成ファイルは、実行するテストの詳細を定義するテスト ファイルの名前を参照します。テスト ファイル内では、特定の Junos OS コマンドの内容を評価または比較するテスト ケースを作成できます。テスト・ケースでは、テスト・オペレーターを使用して、1 つのスナップショット内のデータ・エレメントを評価するか、2 つの個別のスナップショット内のデータ・エレメントを比較します。

表 1 は、Junos Snapshot Administrator のテスト演算子と各演算子の簡単な説明を示しています。演算子はオペランドの型でグループ化されます。

また、 ignore-null フラグを他の演算子と組み合わせて使用することもできます。 ignore-nullTrue に設定すると、JSNAPy は、テストに指定された XPath のいずれかのノードがスナップショット出力に存在しないテストをスキップします。 ignore-null フラグは、すべてのテストに適用するにはグローバル・レベルに含めることも、個々のテストにのみ適用する場合はテスト・レベルに含めることもできます。

表 1:Junos Snapshot Administrator テスト演算子

演算子

形容

2 つのスナップショットの要素または要素値の比較

delta

両方のスナップショットに存在する必要がある、指定されたデータ要素の値の変化を、指定された差分と比較します。デルタは、絶対、正、または負のパーセント、または絶対、正、または負の固定値として指定できます。

list-not-less

指定した項目が最初のスナップショットには存在するが、2 番目のスナップショットには存在しないかどうかを判断します。

list-not-more

指定した項目が 2 番目のスナップショットには存在するが、最初のスナップショットには存在しないかどうかを判断します。

no-diff

両方のスナップショットに存在する指定されたデータ要素を比較し、値が同じであることを確認します。

数値または文字列値を持つ要素を操作する

all-same

指定した要素のすべてのコンテンツ値が同じかどうかを確認します。必要に応じて、指定した要素のすべてのコンテンツ値が参照アイテムのコンテンツ値と同じかどうかを確認できます。

is-equal

XML 要素の文字列または整数値が指定された値と一致するかどうかをテストします。

not-equal

XML 要素の文字列または整数値が指定された値と一致しないかどうかをテストします。

数値を持つ要素の操作

in-range

XML 要素の値が指定された数値範囲内にあるかどうかをテストします。

is-gt

XML 要素の値が指定された数値より大きいかどうかをテストします。

is-lt

XML 要素の値が指定された数値より小さいかどうかをテストします。

not-range

XML 要素の値が指定された数値範囲外にあるかどうかをテストします。

文字列値を持つ要素を操作する

contains

XML 要素の string-value に、指定された文字列値が含まれているかどうかを判別します。

is-in

XML 要素の string-value が、指定された文字列値のリストに含まれているかどうかを判別します。

not-in

XML 要素の文字列値が、指定された文字列値のリストから除外されているかどうかを判別します。

XML 要素での操作

exists

スナップショット内の XML 要素の存在を確認します。

not-exists

スナップショットに XML 要素が存在しないことを確認します。