Skip to content

Commit

Permalink
deploy: f887ebe
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Jul 6, 2023
1 parent d5cb632 commit 370fa77
Show file tree
Hide file tree
Showing 31 changed files with 2,224 additions and 1,912 deletions.
34 changes: 17 additions & 17 deletions advanced_usages/as-python-lib/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -574,15 +574,15 @@
<ul class="md-nav__list">

<li class="md-nav__item">
<a href="#antamodelsantatestcommand" class="md-nav__link">
anta.models.AntaTestCommand
<a href="#antamodelsantacommand" class="md-nav__link">
anta.models.AntaCommand
</a>

</li>

<li class="md-nav__item">
<a href="#antamodelsantatesttemplate" class="md-nav__link">
anta.models.AntaTestTemplate
<a href="#antamodelsantatemplate" class="md-nav__link">
anta.models.AntaTemplate
</a>

</li>
Expand Down Expand Up @@ -1405,15 +1405,15 @@
<ul class="md-nav__list">

<li class="md-nav__item">
<a href="#antamodelsantatestcommand" class="md-nav__link">
anta.models.AntaTestCommand
<a href="#antamodelsantacommand" class="md-nav__link">
anta.models.AntaCommand
</a>

</li>

<li class="md-nav__item">
<a href="#antamodelsantatesttemplate" class="md-nav__link">
anta.models.AntaTestTemplate
<a href="#antamodelsantatemplate" class="md-nav__link">
anta.models.AntaTemplate
</a>

</li>
Expand Down Expand Up @@ -1538,15 +1538,15 @@ <h5 id="test-structure">Test structure<a class="headerlink" href="#test-structur
<li><code>name</code>: Name of the test</li>
<li><code>description</code>: A human readable description of your test</li>
<li><code>categories</code>: a list of categories to sort test.</li>
<li><code>commands</code>: a list of command to run. This list <em>must</em> be a list of <code>AntaTestCommand</code> which is described in the next part of this document.</li>
<li><code>commands</code>: a list of command to run. This list <em>must</em> be a list of <code>AntaCommand</code> which is described in the next part of this document.</li>
</ul>
<p>Here is an example of a hardware test related to device temperature:</p>
<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span>

<span class="kn">import</span> <span class="nn">logging</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">cast</span>

<span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaTestCommand</span>
<span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaCommand</span>


<span class="k">class</span> <span class="nc">VerifyTemperature</span><span class="p">(</span><span class="n">AntaTest</span><span class="p">):</span>
Expand All @@ -1557,7 +1557,7 @@ <h5 id="test-structure">Test structure<a class="headerlink" href="#test-structur
<span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;VerifyTemperature&quot;</span>
<span class="n">description</span> <span class="o">=</span> <span class="s2">&quot;Verifies device temparture is currently OK&quot;</span>
<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;hardware&quot;</span><span class="p">]</span>
<span class="n">commands</span> <span class="o">=</span> <span class="p">[</span><span class="n">AntaTestCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show system environment temperature&quot;</span><span class="p">,</span> <span class="n">ofmt</span><span class="o">=</span><span class="s2">&quot;json&quot;</span><span class="p">)]</span>
<span class="n">commands</span> <span class="o">=</span> <span class="p">[</span><span class="n">AntaCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show system environment temperature&quot;</span><span class="p">,</span> <span class="n">ofmt</span><span class="o">=</span><span class="s2">&quot;json&quot;</span><span class="p">)]</span>

<span class="nd">@AntaTest</span><span class="o">.</span><span class="n">anta_test</span>
<span class="k">def</span> <span class="nf">test</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
Expand Down Expand Up @@ -1599,7 +1599,7 @@ <h5 id="test-structure">Test structure<a class="headerlink" href="#test-structur
</code></pre></div>
<h5 id="commands-for-test">Commands for test<a class="headerlink" href="#commands-for-test" title="Permanent link">&para;</a></h5>
<p>To make it easier to get data, ANTA defines 2 different classes to manage commands to send to device:</p>
<h6 id="antamodelsantatestcommand"><code>anta.models.AntaTestCommand</code><a class="headerlink" href="#antamodelsantatestcommand" title="Permanent link">&para;</a></h6>
<h6 id="antamodelsantacommand"><code>anta.models.AntaCommand</code><a class="headerlink" href="#antamodelsantacommand" title="Permanent link">&para;</a></h6>
<p>Abstract a command with following information:</p>
<ul>
<li>Command to run,</li>
Expand All @@ -1608,12 +1608,12 @@ <h6 id="antamodelsantatestcommand"><code>anta.models.AntaTestCommand</code><a cl
<li>Output of the command</li>
</ul>
<p>Usage example:</p>
<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTestCommand</span>
<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaCommand</span>

<span class="n">cmd1</span> <span class="o">=</span> <span class="n">AntaTestCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show zerotouch&quot;</span><span class="p">)</span>
<span class="n">cmd2</span> <span class="o">=</span> <span class="n">AntaTestCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show running-config diffs&quot;</span><span class="p">,</span> <span class="n">ofmt</span><span class="o">=</span><span class="s2">&quot;text&quot;</span><span class="p">)</span>
<span class="n">cmd1</span> <span class="o">=</span> <span class="n">AntaCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show zerotouch&quot;</span><span class="p">)</span>
<span class="n">cmd2</span> <span class="o">=</span> <span class="n">AntaCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show running-config diffs&quot;</span><span class="p">,</span> <span class="n">ofmt</span><span class="o">=</span><span class="s2">&quot;text&quot;</span><span class="p">)</span>
</code></pre></div>
<h6 id="antamodelsantatesttemplate"><code>anta.models.AntaTestTemplate</code><a class="headerlink" href="#antamodelsantatesttemplate" title="Permanent link">&para;</a></h6>
<h6 id="antamodelsantatemplate"><code>anta.models.AntaTemplate</code><a class="headerlink" href="#antamodelsantatemplate" title="Permanent link">&para;</a></h6>
<p>Because some command can require more dynamic than just a command with no parameter provided by user, ANTA supports command template: you define a template in your test class and user provide parameters when creating test object.</p>
<div class="highlight"><pre><span></span><code><span class="k">class</span> <span class="nc">RunArbitraryTemplateCommand</span><span class="p">(</span><span class="n">AntaTest</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
Expand All @@ -1623,7 +1623,7 @@ <h6 id="antamodelsantatesttemplate"><code>anta.models.AntaTestTemplate</code><a

<span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;Run aributrary EOS command&quot;</span>
<span class="n">description</span> <span class="o">=</span> <span class="s2">&quot;To be used only with anta debug commands&quot;</span>
<span class="n">template</span> <span class="o">=</span> <span class="n">AntaTestTemplate</span><span class="p">(</span><span class="n">template</span><span class="o">=</span><span class="s2">&quot;show interfaces </span><span class="si">{ifd}</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="n">template</span> <span class="o">=</span> <span class="n">AntaTemplate</span><span class="p">(</span><span class="n">template</span><span class="o">=</span><span class="s2">&quot;show interfaces </span><span class="si">{ifd}</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;debug&quot;</span><span class="p">]</span>

<span class="nd">@AntaTest</span><span class="o">.</span><span class="n">anta_test</span>
Expand Down
16 changes: 8 additions & 8 deletions advanced_usages/custom-tests/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1508,7 +1508,7 @@ <h4 id="generic-approach">Generic approach<a class="headerlink" href="#generic-a
<span class="kn">import</span> <span class="nn">logging</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">cast</span>

<span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaTestCommand</span>
<span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaCommand</span>


<span class="k">class</span> <span class="nc">VerifyTemperature</span><span class="p">(</span><span class="n">AntaTest</span><span class="p">):</span>
Expand All @@ -1519,7 +1519,7 @@ <h4 id="generic-approach">Generic approach<a class="headerlink" href="#generic-a
<span class="n">name</span> <span class="o">=</span> <span class="s2">&quot;VerifyTemperature&quot;</span>
<span class="n">description</span> <span class="o">=</span> <span class="s2">&quot;Verifies device temparture is currently OK&quot;</span>
<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;hardware&quot;</span><span class="p">]</span>
<span class="n">commands</span> <span class="o">=</span> <span class="p">[</span><span class="n">AntaTestCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show system environment temperature&quot;</span><span class="p">,</span> <span class="n">ofmt</span><span class="o">=</span><span class="s2">&quot;json&quot;</span><span class="p">)]</span>
<span class="n">commands</span> <span class="o">=</span> <span class="p">[</span><span class="n">AntaCommand</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="s2">&quot;show system environment temperature&quot;</span><span class="p">,</span> <span class="n">ofmt</span><span class="o">=</span><span class="s2">&quot;json&quot;</span><span class="p">)]</span>

<span class="nd">@AntaTest</span><span class="o">.</span><span class="n">anta_test</span>
<span class="k">def</span> <span class="nf">test</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
Expand All @@ -1537,9 +1537,9 @@ <h5 id="mandatory-imports">Mandatory imports<a class="headerlink" href="#mandato
<ul>
<li><a href="../api/inventory.models.md"><code>InventoryDevice</code></a>: Where the eAPI session lives. It is used to send commands over HTTP/HTTPS define in your test.</li>
<li><code>anta.models.AntaTest</code>: class that gives you all the tooling for your test</li>
<li><code>anta.models.AntaTestCommand</code>: A class to abstract an Arista EOS command</li>
<li><code>anta.models.AntaCommand</code>: A class to abstract an Arista EOS command</li>
</ul>
<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaTestCommand</span>
<div class="highlight"><pre><span></span><code><span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaCommand</span>


<span class="k">class</span> <span class="nc">VerifyTemperature</span><span class="p">(</span><span class="n">AntaTest</span><span class="p">):</span>
Expand Down Expand Up @@ -1587,8 +1587,8 @@ <h5 id="create-test-class">Create Test Class<a class="headerlink" href="#create-
</ul>
<p><strong>Commands to run</strong></p>
<ul>
<li><code>commands</code>: a list of command to run. This list <em>must</em> be a list of <code>AntaTestCommand</code> which is described in the next part of this document.</li>
<li><code>template</code>: a command template (<code>AntaTestTemplate</code>) to run where variables are provided during test execution.</li>
<li><code>commands</code>: a list of command to run. This list <em>must</em> be a list of <code>AntaCommand</code> which is described in the next part of this document.</li>
<li><code>template</code>: a command template (<code>AntaTemplate</code>) to run where variables are provided during test execution.</li>
</ul>
<div class="admonition warning">
<p>It is either <code>commands</code> or <code>template</code>. But not both.</p>
Expand All @@ -1598,7 +1598,7 @@ <h5 id="create-test-class">Create Test Class<a class="headerlink" href="#create-
<span class="kn">import</span> <span class="nn">logging</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">cast</span>

<span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaTestCommand</span>
<span class="kn">from</span> <span class="nn">anta.models</span> <span class="kn">import</span> <span class="n">AntaTest</span><span class="p">,</span> <span class="n">AntaCommand</span>


<span class="k">class</span> <span class="err">&lt;</span><span class="nc">YourTestName</span><span class="o">&gt;</span><span class="p">(</span><span class="n">AntaTest</span><span class="p">):</span>
Expand All @@ -1610,7 +1610,7 @@ <h5 id="create-test-class">Create Test Class<a class="headerlink" href="#create-
<span class="n">description</span> <span class="o">=</span> <span class="s2">&quot;&lt;test description in human reading format&gt;&quot;</span>
<span class="n">categories</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;&lt;a list of arbitrary categories&gt;&quot;</span><span class="p">]</span>
<span class="n">commands</span> <span class="o">=</span> <span class="p">[</span>
<span class="n">AntaTestCommand</span><span class="p">(</span>
<span class="n">AntaCommand</span><span class="p">(</span>
<span class="n">command</span><span class="o">=</span><span class="s2">&quot;&lt;eos command to run&gt;&quot;</span><span class="p">,</span>
<span class="n">ofmt</span><span class="o">=</span><span class="s2">&quot;&lt;command format output&gt;&quot;</span><span class="p">,</span>
<span class="n">version</span><span class="o">=</span><span class="s2">&quot;&lt;eapi version to use&gt;&quot;</span>
Expand Down
Loading

0 comments on commit 370fa77

Please sign in to comment.