Skip to content

Commit

Permalink
NATT SPI documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
0xMartin committed Aug 11, 2024
1 parent 814ef09 commit 8b30d06
Show file tree
Hide file tree
Showing 62 changed files with 8,340 additions and 5 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,11 @@ Available in the [Visual Studio Marketplace](https://marketplace.visualstudio.co

* **VS Code Extension [NATT Editor for VS Code](https://marketplace.visualstudio.com/items?itemName=0xM4R71N.natt-configuration-editor)**

* **Configuration editor: [NATT Configuration Editor](./natt-config-editor)**
* Configuration editor: [NATT Configuration Editor](./natt-config-editor)

* **How to create custom plugin for NATT? [plugin-example.md](./examples/plugin-example)**
* How to create custom plugin for NATT?: [plugin-example.md](./examples/plugin-example)
*
* NATT-SPI documentation: [natt-spi](./natt-spi)

* Simple example project: [project-example](./examples/project-example)

Expand Down
2 changes: 2 additions & 0 deletions examples/plugin-example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

This guide will walk you through the process of creating a custom plugin for the NATT black-box testing tool. Follow the steps below to set up your plugin, configure it, and define custom keywords.

**NATT-SPI documentation available [here](../../natt-spi)**

## 1. Initialize the Project

First, initialize your Java project using Gradle. Open your terminal and run:
Expand Down
Binary file modified examples/project-example/NATT.jar
Binary file not shown.
Binary file modified natt-config-editor/NATT.jar
Binary file not shown.
23 changes: 23 additions & 0 deletions natt-spi/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# NATT-SPI documentation

## INATTPlugin

## INATTContext

## NATTKeyword

## NATTModule

## INATTMessage

## IMessageBuffer

## IMessageListener

## NATTAnnotation

## NATTAssert

## NATTLogger

## StatusCode
138 changes: 138 additions & 0 deletions natt-spi/doc/allclasses-index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sun Aug 11 23:46:27 CEST 2024 -->
<title>All Classes and Interfaces</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-08-11">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-classes-index-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-classes">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
</div>
<div id="all-classes-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="all-classes-table-tab1" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab1', 2)" class="table-tab">Interfaces</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Classes</button><button id="all-classes-table-tab3" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab3', 2)" class="table-tab">Enum Classes</button><button id="all-classes-table-tab5" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab5', 2)" class="table-tab">Exceptions</button><button id="all-classes-table-tab7" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab7', 2)" class="table-tab">Annotation Interfaces</button></div>
<div id="all-classes-table.tabpanel" role="tabpanel" aria-labelledby="all-classes-table-tab0">
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="utb/fai/natt/spi/IMessageBuffer.html" title="interface in utb.fai.natt.spi">IMessageBuffer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="utb/fai/natt/spi/IMessageListener.html" title="interface in utb.fai.natt.spi">IMessageListener</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Interface for a message listener.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="utb/fai/natt/spi/INATTContext.html" title="interface in utb.fai.natt.spi">INATTContext</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">Interface for the test context.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="utb/fai/natt/spi/INATTMessage.html" title="interface in utb.fai.natt.spi">INATTMessage</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="utb/fai/natt/spi/INATTMessage.SearchType.html" title="enum class in utb.fai.natt.spi">INATTMessage.SearchType</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
<div class="block">Enumeration for the type of search.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="utb/fai/natt/spi/INATTPlugin.html" title="interface in utb.fai.natt.spi">INATTPlugin</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Interface for NATT plugins.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="utb/fai/natt/spi/exception/InternalErrorException.html" title="class in utb.fai.natt.spi.exception">InternalErrorException</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="utb/fai/natt/spi/exception/InvalidSyntaxInConfigurationException.html" title="class in utb.fai.natt.spi.exception">InvalidSyntaxInConfigurationException</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTAnnotation.html" title="class in utb.fai.natt.spi">NATTAnnotation</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Contains all annotation definitions used within this tool.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab7"><a href="utb/fai/natt/spi/NATTAnnotation.Keyword.html" title="annotation interface in utb.fai.natt.spi">NATTAnnotation.Keyword</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab7">
<div class="block">Annotation for simple and clear definition of keyword parameters.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTAssert.html" title="class in utb.fai.natt.spi">NATTAssert</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTKeyword.html" title="class in utb.fai.natt.spi">NATTKeyword</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Abstract class for a keyword.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTKeyword.KeywordDocumentation.html" title="class in utb.fai.natt.spi">NATTKeyword.KeywordDocumentation</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Documentation of a keyword</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTKeyword.ParameterValue.html" title="class in utb.fai.natt.spi">NATTKeyword.ParameterValue</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Parameter value.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="utb/fai/natt/spi/NATTKeyword.ParamValType.html" title="enum class in utb.fai.natt.spi">NATTKeyword.ParamValType</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
<div class="block">Type of parameter value.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTLogger.html" title="class in utb.fai.natt.spi">NATTLogger</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTLogger.LogFileWriter.html" title="class in utb.fai.natt.spi">NATTLogger.LogFileWriter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTModule.html" title="class in utb.fai.natt.spi">NATTModule</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Abstract class for basic module access</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/NATTModule.MessageFilter.html" title="class in utb.fai.natt.spi">NATTModule.MessageFilter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Allows setting action filtering</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="utb/fai/natt/spi/exception/NonUniqueModuleNamesException.html" title="class in utb.fai.natt.spi.exception">NonUniqueModuleNamesException</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="utb/fai/natt/spi/exception/NonUniqueTestNamesException.html" title="class in utb.fai.natt.spi.exception">NonUniqueTestNamesException</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="utb/fai/natt/spi/StatusCode.html" title="class in utb.fai.natt.spi">StatusCode</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>
66 changes: 66 additions & 0 deletions natt-spi/doc/allpackages-index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sun Aug 11 23:46:27 CEST 2024 -->
<title>All Packages</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-08-11">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-packages-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-packages">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="caption"><span>Package Summary</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="utb/fai/natt/spi/package-summary.html">utb.fai.natt.spi</a></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><a href="utb/fai/natt/spi/exception/package-summary.html">utb.fai.natt.spi.exception</a></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</main>
</div>
</div>
</body>
</html>
90 changes: 90 additions & 0 deletions natt-spi/doc/constant-values.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Sun Aug 11 23:46:27 CEST 2024 -->
<title>Constant Field Values</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-08-11">
<meta name="description" content="summary of constants">
<meta name="generator" content="javadoc/ConstantsSummaryWriterImpl">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="constants-summary-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#constant-values">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
<section class="packages">
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#utb.fai">utb.fai.*</a></li>
</ul>
</section>
</div>
<section class="constants-summary" id="utb.fai.natt.spi">
<h2 title="utb.fai">utb.fai.*</h2>
<ul class="block-list">
<li>
<div class="caption"><span>utb.fai.natt.spi.<a href="utb/fai/natt/spi/IMessageBuffer.html" title="interface in utb.fai.natt.spi">IMessageBuffer</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Constant Field</div>
<div class="table-header col-last">Value</div>
<div class="col-first even-row-color"><code id="utb.fai.natt.spi.IMessageBuffer.VAR_LAST_MSG_POSTFIX">public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color"><code><a href="utb/fai/natt/spi/IMessageBuffer.html#VAR_LAST_MSG_POSTFIX">VAR_LAST_MSG_POSTFIX</a></code></div>
<div class="col-last even-row-color"><code>"-last-msg"</code></div>
</div>
</li>
<li>
<div class="caption"><span>utb.fai.natt.spi.<a href="utb/fai/natt/spi/NATTKeyword.html" title="class in utb.fai.natt.spi">NATTKeyword</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Constant Field</div>
<div class="table-header col-last">Value</div>
<div class="col-first even-row-color"><code id="utb.fai.natt.spi.NATTKeyword.DEFAULT_PARAMETER_NAME">public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color"><code><a href="utb/fai/natt/spi/NATTKeyword.html#DEFAULT_PARAMETER_NAME">DEFAULT_PARAMETER_NAME</a></code></div>
<div class="col-last even-row-color"><code>"default"</code></div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>
2 changes: 2 additions & 0 deletions natt-spi/doc/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
utb.fai.natt.spi
utb.fai.natt.spi.exception
Loading

0 comments on commit 8b30d06

Please sign in to comment.