> curl -v --request GET localhost:8000<uri>
-You could also expose the service as HTTP2 server through *nginx* working as reverse proxy (*adml-http* image is built in this way although internally provides HTTP operations script only for 1.1). Then you could use HTTP2 clients like *nghttp*:
+You could also expose the service as HTTP2 server through *nginx* working as reverse proxy (*anna-adml-http* image is built in this way although internally provides HTTP operations script only for 1.1). Then you could use HTTP2 clients like *nghttp*:
> nghttp -v -H ":method: GET" "<uri>"
> curl -v --request POST -H "Content-Type: application/json" localhost:8000<uri> -d@test.json
-You could also expose the service as HTTP2 server through *nginx* working as reverse proxy (*adml-http* image is built in this way although internally provides HTTP operations script only for 1.1). Then you could use HTTP2 clients like *nghttp*:
+You could also expose the service as HTTP2 server through *nginx* working as reverse proxy (*anna-adml-http* image is built in this way although internally provides HTTP operations script only for 1.1). Then you could use HTTP2 clients like *nghttp*:
> nghttp -v -H ":method: POST" -d test.json "<uri>"
}
```
-**Response body**:
+**Response body**:
```
{
ADML implements a bulting *Finite State Machine* to plan testing flows with a great flexibility.
-#### POST /testid-description
+#### POST /testid-description/{id}
**Request body**:
}
```
-#### POST /testid-ip-limit
+#### POST /testid-ip-limit/{id}
In-Progress limit is the maximum number of tests which can be executed in parallel.
This operation allows a specific test to set this global pool behaviour.
+Zero-value is equivalent to stop the clock (no tests will be executed).
+
+Value '-1' means 'no limit' (full parallel). Be careful with resources consumption.
+
**Request body**:
```
}
```
-#### POST /testid-timeout
+#### POST /testid-timeout/{id}
**Request body**:
}
```
-#### POST /testid-sendmsg2e
+#### POST /testid-sendmsg2e/{id}
**Request body**:
}
```
-#### POST /testid-sendmsg2c
+#### POST /testid-sendmsg2c/{id}
**Request body**:
}
```
-#### POST /testid-delay
+#### POST /testid-delay/{id}
**Request body**:
}
```
-#### POST /testid-sh-command
+#### POST /testid-sh-command/{id}
**Request body**:
}
```
-#### POST /testid-waitfe-hex
+#### POST /testid-waitfe-hex/{id}
**Request body**:
}
```
-#### POST /testid-waitfc-hex
+#### POST /testid-waitfc-hex/{id}
**Request body**:
}
```
-#### POST /testid-waitfe-msg
+#### POST /testid-waitfe-msg/{id}
**Request body**:
}
```
-#### POST /testid-waitfc-msg
+#### POST /testid-waitfc-msg/{id}
**Request body**:
}
```
-#### POST /testid-waitfe
+#### POST /testid-waitfe/{id}
**Request body**:
}
```
-#### POST /testid-waitfc
+#### POST /testid-waitfc/{id}
**Request body**:
}
```
-### EXECUTION ACTIONS
+### FSM TESTING EXECUTION ACTIONS
#### POST /test-ttps
Global operation (also at test identifier level is accessible).
+Zero-value is equivalent to stop the clock (no tests will be executed).
+
+Value '-1' means 'no limit' (full parallel). Be careful with resources consumption.
+
+Defaults to '-2' (no '-1' which is default for *testid-ip-limit* version), which wil show the current pool *ip-limit* and also the number of test cases which are *in progress*.
+
**Request body**:
```
```
{
"result":"<true or false>",
- "response":"<response>"
+ "response":"<base64-encoded output>"
}
```
```
{
- "result":"<true or false>",
+ "result":"<true: if state is 'Success' or false>",
"response":"<response>"
}
```
#### POST /test-interact
+Makes interactive a specific test case id. The amount of 0, implies no execution steps margin, which could be useful to 'freeze' a test in the middle of its execution. Value -1 makes it non-interactive resuming it from the current step.
+
**Request body**:
```
```
{
- "type":"<soft|hard>"
- [,"id":[test identifier (integer: apply to all the tests (-2))]]
+ ["type":"<[soft]|hard>"]
+ [,"id":[test identifier (integer: apply to all the tests (-1))]]
}
```
#### POST /test-junit
+As it could be very large, it will be dumped on provided target directory, '*/tmp/junit.xml*' by default.
+
**Request body**:
```
{
- "targetFile":"<file path>"
+ ["targetFile":"<file path>"]
}
```
```
{
"result":"<true or false>",
- "response":"<response>"
+ "response":"<base64-encoded output>"
}
```
```
{
"result":"<true or false>",
- "response":"<response>"
+ "response":"<base64-encoded output>"
}
```
```
{
"result":"<true or false>",
- "response":"<response>"
+ "response":"<base64-encoded output>"
}
```
}
```
+### DYNAMIC PROCEDURE
+
+Used for system test. Arguments are determined by the way in a specific dynamic library is designed/documented.
+
+#### POST /dynamic
+**Request body**:
+
+```
+{
+ "arguments": <diameter arguments json object>
+}
+```
+
+**Response body**:
+
+```
+{
+ "result":"<true or false>",
+ "response":"<response>"
+}
+```