anna.git
7 months agoFix local server for multiple applications master
eramos [Sat, 19 Aug 2023 23:29:34 +0000 (01:29 +0200)]
Fix local server for multiple applications

There was a historic bug/limitation, due to the
diameter.comm module design. We were not able to
set two (or more) origin hosts sharing the same
local server. So, we needed to set different ports
(3868, 3869, etc.) to listen for different diameter
applications as a server.

This was because a poor design where LocalServer was
tied to specific engine, and then, depending on when
the service was registered (services.xml), one engine
or the other was enabled to manage traffic. So, the
server was unable to respond correctly one of the
applications.

We have implemented a map of remote origin hosts
with local origin hosts, and when we have a
reception, we check the origin host of the
message and retrieve the own origin host which was
configured for it. This is primarly done at CER/CEA
exchange. When the CER arrives, we get the
Auth-Application-Id, and we know the corresponding
stack and answer in consequence. Also, we store
the relation remote-local origin host in the
origin host manager map.

All the virtual methods must carry the origin host
which applies, to operate. Also, many virtuals with
default empty implementation but not used have been
removed.

Reacting answers are now stored in specific origin
host. We could even improve the fact that operated
host is not needed to be set when programming
reacting answers, because all depends on the origin
host for those answers. But this way, we allow to
do rare things (tests).

CER and DWR configuration have been separated.
And setClientCER now have specific prototype for
default CER, which needs the application-id which
will be set as Auth-Application-Id.

Entity and client sessions, still keep a_engine
most of the cases.

Component Test have been tested OK.

New version will be 1.0.6

8 months agoUpdate version to 1.0.5
eramos [Wed, 16 Aug 2023 21:32:23 +0000 (23:32 +0200)]
Update version to 1.0.5

8 months agoFix wrong xmltodict installation in latest nginx
eramos [Wed, 16 Aug 2023 21:29:05 +0000 (23:29 +0200)]
Fix wrong xmltodict installation in latest nginx

2 years agoFix bug when removing test case keys
Eduardo Ramos Testillano (ert) [Fri, 17 Dec 2021 23:20:45 +0000 (00:20 +0100)]
Fix bug when removing test case keys

We need to store both key1 and key2, because when
both are found (sessionId and subscriber), only the
last processed was stored and then, it was the only
removed causing further contexts to have collision
with leftovers (the other key).

2 years agoAllow to clear an specific test case
Eduardo Ramos Testillano (ert) [Mon, 22 Nov 2021 21:57:05 +0000 (22:57 +0100)]
Allow to clear an specific test case

2 years agoAllow to automatically reserve an FSM test id
Eduardo Ramos Testillano (ert) [Mon, 1 Nov 2021 18:06:30 +0000 (19:06 +0100)]
Allow to automatically reserve an FSM test id

We will allow to provide '0' as special value for test
identifier on test manager in order to reserve the id
as the current pool size plus 1. This is valid if previous
reservations were done in the same way, or starting from
the id=1 and monotonically increased without holes in the
sequence.

REST API now will return the response body with the response field
as the affected test id in order to know the one reserved just in
case 0 was provided instead of specific value.

Component tests have been adapted to the new feature.

2 years agoFix xml to json converter
Eduardo Ramos Testillano (ert) [Mon, 1 Nov 2021 12:56:53 +0000 (13:56 +0100)]
Fix xml to json converter

When an array has a unique element, xmltodict does not
parse it as an array, but a single object. This causes
a problem in the diameter xml conversion because the
library for reverse conversion [0] won't follow the
diameter message dtd template.

Fortunately, xmltodict supports [1] force array for specific
node name, so we will force this for 'avp' which is the
one affected.

[0] https://github.com/testillano/json2xml
[1] https://stackoverflow.com/questions/37207353/xmltodict-does-not-return-a-list-for-one-element

2 years agoFix ADML component test
Eduardo Ramos Testillano (ert) [Tue, 14 Sep 2021 21:31:18 +0000 (23:31 +0200)]
Fix ADML component test

Recent ae-adml-http image refactoring changed the
entrypoint omitting ADML arguments, now passed at
ct script.

Also, nginx proxy will expose ipv6 on same admin port 8074.

2 years agoImprove xml2json utility
Eduardo Ramos Testillano (ert) [Tue, 27 Jul 2021 00:46:25 +0000 (02:46 +0200)]
Improve xml2json utility

2 years agoSimplify ADML-HTTP image UX
Eduardo Ramos Testillano (ert) [Sun, 25 Jul 2021 14:28:49 +0000 (16:28 +0200)]
Simplify ADML-HTTP image UX

2 years agoAdd more utilities for ADML-HTTP image
Eduardo Ramos Testillano (ert) [Tue, 6 Jul 2021 07:49:38 +0000 (09:49 +0200)]
Add more utilities for ADML-HTTP image

jq and decode helper are added

2 years agoAdd utilities to adml-http image
Eduardo Ramos Testillano (ert) [Fri, 25 Jun 2021 11:56:07 +0000 (13:56 +0200)]
Add utilities to adml-http image

2 years agoAdd tshark decoder to adml-http image
Eduardo Ramos Testillano (ert) [Thu, 24 Jun 2021 23:40:05 +0000 (01:40 +0200)]
Add tshark decoder to adml-http image

3 years agoRemove dynamic exceptions
Eduardo Ramos Testillano (eramedu) [Sun, 24 May 2020 18:48:20 +0000 (20:48 +0200)]
Remove dynamic exceptions

Dynamic exceptions were deprecated at C++11
https://redmine.teslayout.com/issues/47

3 years agoRemove warnings (work package 1)
Eduardo Ramos Testillano (eramedu) [Sun, 24 May 2020 15:36:36 +0000 (17:36 +0200)]
Remove warnings (work package 1)

3 years agoImprove dynamic test provision
Eduardo Ramos Testillano (eramedu) [Wed, 20 May 2020 17:02:25 +0000 (19:02 +0200)]
Improve dynamic test provision

Complete actions with answers mocking on FIFO queue.

3 years agoFix testid flow POSTs in documentation
Eduardo Ramos Testillano (eramedu) [Wed, 20 May 2020 15:53:26 +0000 (17:53 +0200)]
Fix testid flow POSTs in documentation

Miss identifier as part of POST URIs

3 years agoFix bug on regexp insertion for xml messages
Eduardo Ramos Testillano (eramedu) [Mon, 18 May 2020 12:55:03 +0000 (14:55 +0200)]
Fix bug on regexp insertion for xml messages

We must check that the elements are found before
replacing items by [0-9]+.
This is because Origin-State-Id is not always sent.

3 years agoKeep output being visible
Eduardo Ramos Testillano (eramedu) [Sun, 17 May 2020 23:31:01 +0000 (01:31 +0200)]
Keep output being visible

also, pid must be obtained with pgrep_live
because 'echo $!' gets the tee PID.

3 years agoAdded helpers to pytest tests
Eduardo Ramos Testillano (eramedu) [Sun, 17 May 2020 18:29:04 +0000 (20:29 +0200)]
Added helpers to pytest tests

New fixture 'saveB64Artifact' which decodes base64 for some responses
and write xml (if it is xml) to file and json equivalent representation.

3 years agoFix xml representations
Eduardo Ramos Testillano (eramedu) [Sun, 17 May 2020 18:26:24 +0000 (20:26 +0200)]
Fix xml representations

< is not allowed (should be &lt). Changed to [ to avoid problems

3 years agoAdd CCA.xml example as reference for mocking dynamic operation
Eduardo Ramos Testillano (eramedu) [Sun, 17 May 2020 11:11:07 +0000 (13:11 +0200)]
Add CCA.xml example as reference for mocking dynamic operation

Fixed HELP.md documentation for dynamic operation arguments.

3 years agoMake configurable the start arguments for ADML
Eduardo Ramos Testillano (eramedu) [Fri, 15 May 2020 15:47:05 +0000 (17:47 +0200)]
Make configurable the start arguments for ADML

You could select st mode (system test)

3 years agoImplement dynamic procedure at REST interface
Eduardo Ramos Testillano (eramedu) [Fri, 15 May 2020 15:42:29 +0000 (17:42 +0200)]
Implement dynamic procedure at REST interface

3 years agoAllow separate stacks registration through services operation
Eduardo Ramos Testillano (eramedu) [Fri, 15 May 2020 15:06:16 +0000 (17:06 +0200)]
Allow separate stacks registration through services operation

Until now, stacks could not be delta-loaded. All the stacks might be
loaded in a unique single xml file (or xml representation through
rest api). This was due to counterscope initialization restriction:
once a counter was registered (due to event received), you could not
initialize more counter scopes.

We removed this restriction (now commented on initializeCountersScope).
New scopes() method to know current registered ones in order to put
the correct start point at services load procedure.

The services "node" nodes always could be loaded separately, so, no
impact on functional behaviour for this.

Fixed: https://redmine.teslayout.com/issues/48

3 years agoPrepare basic hooks commented just in case they are used later
Eduardo Ramos Testillano (eramedu) [Thu, 14 May 2020 17:44:23 +0000 (19:44 +0200)]
Prepare basic hooks commented just in case they are used later

3 years agoEnsure future names collision problem does not arise
Eduardo Ramos Testillano (eramedu) [Thu, 14 May 2020 17:42:36 +0000 (19:42 +0200)]
Ensure future names collision problem does not arise

Better to consider directories as packages, so pytest
will append package names to tests and you could have
tests with the same name along the tree.

although this seems not to be very probable in this
ADML testing, it is better to make this thing safer.

3 years agoRemove mark as xfail for some tests
Eduardo Ramos Testillano (eramedu) [Thu, 14 May 2020 13:31:25 +0000 (15:31 +0200)]
Remove mark as xfail for some tests

As we are launching pytest from ct.sh script, service is always
available when running the component tests. Then, these tests
are not going to fail.

3 years agoAllow passing arguments to ADML-HTTP docker image entrypoint
Eduardo Ramos Testillano (eramedu) [Wed, 13 May 2020 23:21:21 +0000 (01:21 +0200)]
Allow passing arguments to ADML-HTTP docker image entrypoint

Modify entrypoint/cmd on adml-http image to allow provide extra
arguments to the entrypoint. Also, the starter script will forward
de arguments $@ towards ADML start.sh script, so parameters like
'ft' or 'st' are now possible to specify on docker run statement
(ft by default).

Allow parametrize the build variant in ct.sh script. In this way
we could test  Release or Debug variant. The ADML start.sh argument
is set to 'st' to avoid trace generation and traffic log.
Rebuild question is now 'n' by default.
Docker tag will be suffixed with '-debug' for Debug, and unchanged
for Release. In the same way, the container name is changed to
to know easily what is being deployed. Anyway, nginx port will
collide and then both cannot be started expect if 8074 port is
changed in any of them.

When configuring services in ct.sh script, we will parse the response
to know the success state (true/false) in order to interrupt the
component test procedure in case of fail.

Also, in this script, a bug is fixed: pgrep is not being escaped, and
the $(pgrep ADML) is going to be evaluated on host.

3 years agoParametrize variants at build scripts
Eduardo Ramos Testillano (eramedu) [Wed, 13 May 2020 18:36:11 +0000 (20:36 +0200)]
Parametrize variants at build scripts

Also, renamed adml-http image to anna-adml-http:<version>
Version is also <version>-debug or <version> for Release
variant.

New script for image check and cleanup.

3 years agoImprove dynlib update note to be no so specific
Eduardo Ramos Testillano (eramedu) [Wed, 13 May 2020 16:33:46 +0000 (18:33 +0200)]
Improve dynlib update note to be no so specific

Some deployments are not using run.sh, but start.sh versions.

3 years agoAdd error condition when building image
Eduardo Ramos Testillano (eramedu) [Wed, 13 May 2020 16:32:39 +0000 (18:32 +0200)]
Add error condition when building image

Exit if any fail happens.

3 years agoAdd portability fixes
Eduardo Ramos Testillano (eramedu) [Wed, 13 May 2020 00:11:59 +0000 (02:11 +0200)]
Add portability fixes

3 years agoAdd fourth work package for REST API implementation
Eduardo Ramos Testillano (eramedu) [Tue, 12 May 2020 00:14:37 +0000 (02:14 +0200)]
Add fourth work package for REST API implementation

Implementation completed with last FSM testing use cases

3 years agoAvoid service overhead about checking netstat ports
Eduardo Ramos Testillano (eramedu) [Mon, 11 May 2020 17:03:12 +0000 (19:03 +0200)]
Avoid service overhead about checking netstat ports

CT script procedure starts the service and then check for
availability. This check was being hard (no sleep between
retries). Now, 1 second is lapsed in every check.

3 years agoDump output and hide from non-tty, the ADML stdout/stderr
Eduardo Ramos Testillano (eramedu) [Mon, 11 May 2020 17:01:17 +0000 (19:01 +0200)]
Dump output and hide from non-tty, the ADML stdout/stderr

Modify start script to dump output to file (ADML.output).
This output gather (for example) procedure outputs from
step-command threads.

3 years agoSolve legacy problem with clear operation (coredump with running threads)
Eduardo Ramos Testillano (eramedu) [Mon, 11 May 2020 16:53:32 +0000 (18:53 +0200)]
Solve legacy problem with clear operation (coredump with running threads)

Modified the clear operation. Now is 'conditional', so, when is unsafe,
it will be ignored. A message on http interface advice about trying
later because some running threads could be ongoing (check test
summary to confirm). Sometimes, it could be due to stuck external
procedures. The user is responsible to kill those stuck procedures
or guarantee they are timedout (it is recommended to wrap procedures
into safe containers (subshells) if you don't trust too much those
procedures).

Normally, step commands are not so usual. ADML FSM (finite state
machine) is better used through REST API from other controllers
with their own FSM and interface endpoints (no need for ADML
dedicated command-step threads).

3 years agoAdd ct automation
Eduardo Ramos Testillano (eramedu) [Mon, 11 May 2020 10:23:11 +0000 (12:23 +0200)]
Add ct automation

Services including AF and local diameter server is now skipped as pytest test.
Another one was added as dummy services (stack 0 already loaded).

New ct script (CT automation) which needs 'netstat' tool in the ADML HTTP image.
This script:
* ask for re-build service image
* restart service container
* configure real services
* monitor service available
* ask for pytest global execution

New resources and examples needed are included.

Also fixed visilibity operation at SIGUSR2 interface: was returning
without updating response information.

3 years agoAdd third work package for REST API implementation
Eduardo Ramos Testillano (eramedu) [Mon, 11 May 2020 03:10:31 +0000 (05:10 +0200)]
Add third work package for REST API implementation

Start with FSM Testing

3 years agoAdd second work package for REST API implementation
Eduardo Ramos Testillano (eramedu) [Sun, 10 May 2020 20:18:42 +0000 (22:18 +0200)]
Add second work package for REST API implementation

Complete flow operations
Add updateOperatedOriginHostWithMessage and getOriginHost to
work with datablocks.
This improve also legacy code (sigusr2 interface is gaining
with this feature when managing operation which uses hexadecimal
messages

Codec engine implementation adds also a createMessage version
working with xml representation, not only with xml file.

3 years agoAdd pytest cache to gitignore
Eduardo Ramos Testillano (eramedu) [Sun, 10 May 2020 10:44:09 +0000 (12:44 +0200)]
Add pytest cache to gitignore

3 years agoAdd first work package for REST API implementation
Eduardo Ramos Testillano (eramedu) [Sun, 10 May 2020 02:46:17 +0000 (04:46 +0200)]
Add first work package for REST API implementation

INSTALL_ADML_HTTP.md documentation about:
 * New tools to generate ADML-HTTP deployment, which is an
   ADML with HTTP endpoint configured.
 * Docker image generation for ADML HTTP deployment together
   with an nginx configured as reverse proxy in order to
   offer an HTTP2 server. The HTTP2 requests will be proxied
   to native HTTP11 http server provided by ADML.
 * Instructions to start the docker container and execute
   the pytest component test

EventOperation classes which will centralize event operation
from Launcher.cpp and also from HTTP handler.

New XML dump operations from string (not only from file) at
Launcher.cpp.

Modify all deployment to remove legacy operation script for curl.
All of them will be based (specially "burst" dedicated deployment)
on signal USR2 management.

HELP.md for complete REST API documentation
Pytest component test structure, pending FSM testing and flow operations

New library (json to xml converter) is used to transform REST
operations into native xml language.

3 years agoAdd automation for ADML HTTP image creation
Eduardo Ramos Testillano (eramedu) [Fri, 8 May 2020 23:20:52 +0000 (01:20 +0200)]
Add automation for ADML HTTP image creation

Also improve stuff to centralize build image procedure
and fix the shift issue for parameters passing.

New INSTALL_ADML_HTTP.md help for ADML HTTP deployment and
image creation/running.

3 years agoFix another two bugs in json to xml convert library
Eduardo Ramos Testillano (eramedu) [Fri, 8 May 2020 13:05:44 +0000 (15:05 +0200)]
Fix another two bugs in json to xml convert library

The first one: the third nested child in 'test.json' was being
considered 'grandchild', that is to say, stack pop was not
correctly managed. The problem arised when poping after a
nested previous array. Fixed with new control booleans.

Also, a problem to finish a parent node xml tag arised when
we had two consecutive nested levels. This is ensured and
tested with new 'test2.json'.

3 years agoImprove dtd for ADML services
Eduardo Ramos Testillano (eramedu) [Mon, 4 May 2020 17:38:50 +0000 (19:38 +0200)]
Improve dtd for ADML services

As ADML services loader is retrieving stacks and then nodes,
there is no need to fix strict order for those elements.
Dtd must be relaxed to accept nodes and then stacks.

This is necessary because some json to xml converters could
add xml elements in alphabetical order (and then, stacks is
after node).

3 years agoFix bug in json to xml convert library
Eduardo Ramos Testillano (eramedu) [Mon, 4 May 2020 17:36:17 +0000 (19:36 +0200)]
Fix bug in json to xml convert library

Bad management for node-names stack (FIFO).
Both object and array shall push keys and also shall pop them
when entering/finishing the callbacks.
Also, new member key_ will store the key (and it won't be
pushed when detected, only when starting object/array).

3 years agoEnsures normalization on waitfe/fc-xml operations
Eduardo Ramos Testillano (eramedu) [Sun, 3 May 2020 00:15:48 +0000 (02:15 +0200)]
Ensures normalization on waitfe/fc-xml operations

Normalize the xml representation for loaded messages,
and also the regular expression is adapted as usual,
regarding hop-by-hop, end-to-end and Origin-State-Id.

isLike is fixed to do there the full normalization,
including the removing of newlines.

isLike docygen documentation is also improved.

Also, move getContentFromFile to core::functions.

3 years agoAllow diameter message & avp to normalize their xml representation
Eduardo Ramos Testillano (eramedu) [Sat, 2 May 2020 19:39:53 +0000 (21:39 +0200)]
Allow diameter message & avp to normalize their xml representation

The method `asXMLString` for Message and Avp classes has now an
optional bool "sortAttributes" which defaults to `false` (previous
behaviour).

So, you could normalize by mean sorting attribute names for nodes
within xml. This does not affect to the structure because the
method asXMLString just generates the representations on-demand.

The new parameter is set to true when programming regexps and during
TestCondition comply for diameter messages received.

3 years agoNormalize xml processing
Eduardo Ramos Testillano (eramedu) [Sat, 2 May 2020 19:30:42 +0000 (21:30 +0200)]
Normalize xml processing

Centralize indentation spaces for xml representation with
 define macro 'ANNA_XML_INDENTATION_SPACES' which is 3.

Add new working mode for xml Compiler: Sort. This one will
sort attribute names within nodes. This eases normalization
to match regexps based on xml diameter messages representation.
As this mode is based on bit mask, must be power of 2 and the
next free is 8.

3 years agoAdd sax converter from json to xml
Eduardo Ramos Testillano (eramedu) [Sat, 2 May 2020 12:17:00 +0000 (14:17 +0200)]
Add sax converter from json to xml

This source is also published at github as:
https://github.com/testillano/json2xml

3 years agoExclude nlohmann json header from doxygen documentation
Eduardo Ramos Testillano (eramedu) [Sat, 2 May 2020 11:30:12 +0000 (13:30 +0200)]
Exclude nlohmann json header from doxygen documentation

It is causing docygen to crash.

3 years agoOpen the suite from gpl3 to MIT license
Eduardo Ramos Testillano (eramedu) [Sat, 2 May 2020 10:46:49 +0000 (12:46 +0200)]
Open the suite from gpl3 to MIT license

This allows to create propietary (no open) software
based in this suite.

3 years agoFix start.sh script due to bad pid calculated
Eduardo Ramos Testillano (eramedu) [Wed, 29 Apr 2020 16:57:09 +0000 (18:57 +0200)]
Fix start.sh script due to bad pid calculated

The .pid was having the eval process PID instead
of ADML's one.
We must to evaluate first, and then pass arguments
expanded to the ADML executable.

3 years agoAdd base64 encoder/decoder at anna core functions
Eduardo Ramos Testillano (eramedu) [Wed, 29 Apr 2020 00:30:03 +0000 (02:30 +0200)]
Add base64 encoder/decoder at anna core functions

3 years agoFix AOTS launcher menu: run operation added
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 22:42:56 +0000 (00:42 +0200)]
Fix AOTS launcher menu: run operation added

3 years agoAdd new operation 'run' to test a specific test case
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 22:36:41 +0000 (00:36 +0200)]
Add new operation 'run' to test a specific test case

Not only updates iterator but also executes the case to
avoid that another operation changes the pointer.

3 years agoShare http server endpoint to improve REST API performance
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 19:14:17 +0000 (21:14 +0200)]
Share http server endpoint to improve REST API performance

Add --httpServerShared to the executable arguments for ft and st.

3 years agoEase the ADML help for command line
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 19:11:42 +0000 (21:11 +0200)]
Ease the ADML help for command line

Just ./start.sh help

3 years agoRemove operation help.
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 14:20:15 +0000 (16:20 +0200)]
Remove operation help.

Created a new version in file: HELP.md

3 years agoAdd nlohmann/json parser
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 09:26:57 +0000 (11:26 +0200)]
Add nlohmann/json parser

New EventOperation class ready to translate json into piped string
for event operation.

Bug: Fix legacy loadXML to loadXMLFile

3 years agoImprove xml parsing on diameter codec
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 09:21:48 +0000 (11:21 +0200)]
Improve xml parsing on diameter codec

loadXML is renamed to loadXMLFile to be more explicit.
Added loadXMLString to load an xml representation.
This will allow to interpret directly json values as base64 xml
encodings.

3 years agoEnable xml parsing for DocumentMemory
Eduardo Ramos Testillano (eramedu) [Tue, 28 Apr 2020 09:04:22 +0000 (11:04 +0200)]
Enable xml parsing for DocumentMemory

3 years agoADML is not really an AOTS deployment but an simple ADML one
Eduardo Ramos Testillano (eramedu) [Mon, 27 Apr 2020 01:54:56 +0000 (03:54 +0200)]
ADML is not really an AOTS deployment but an simple ADML one

It has http support

3 years agoAdd instructions to deploy ADML AOTS Agent
Eduardo Ramos Testillano (eramedu) [Mon, 27 Apr 2020 00:37:13 +0000 (02:37 +0200)]
Add instructions to deploy ADML AOTS Agent

3 years agoAdd deployment for ADML agent with http interface
Eduardo Ramos Testillano (eramedu) [Mon, 27 Apr 2020 00:13:57 +0000 (02:13 +0200)]
Add deployment for ADML agent with http interface

Reuse ADML agent for aots-setup through symlink.
Centralize stacks with stacks examples. Some modifications
 needed in legacy scripts to reference new dictionary names.
Eval is needed in new start script in order to integrate
the httpServer calculation.

* Upgrade compiler to C++14 (to use std::quoted from iomanip)
* Improve HTTP handler to answer a json body with result (true/false)
  and data (description for the operation):
  {
    "result": "true",
    "data": "Success"
  }
* Fix core dump due to uninitialized 'sessionBasedModelsTypeEnum'
* New 'state' operation to now the state in real time for a test id.

4 years agoFix absolute path for build directory
Eduardo Ramos Testillano (eramedu) [Tue, 14 Apr 2020 18:52:07 +0000 (20:52 +0200)]
Fix absolute path for build directory

4 years agoAllow provide variant to builder with docker
Eduardo Ramos Testillano (eramedu) [Tue, 14 Apr 2020 17:24:04 +0000 (19:24 +0200)]
Allow provide variant to builder with docker

Release by default, and also Debug are supported.

4 years agoSpeed up docker building procedure
Eduardo Ramos Testillano (eramedu) [Tue, 14 Apr 2020 15:07:24 +0000 (17:07 +0200)]
Speed up docker building procedure

Comment doxygen generation at entrypoint.
You could do natively (make doc), but the important
 thing is the source build, not the documentation.

4 years agoRemove hint which has no sense
Eduardo Ramos Testillano (eramedu) [Mon, 13 Apr 2020 12:29:19 +0000 (14:29 +0200)]
Remove hint which has no sense

Ignore flags is not commandline configured now.

4 years agoChanges to migrate to 32 bit arch (armv7l)
eramos [Mon, 13 Apr 2020 01:35:59 +0000 (03:35 +0200)]
Changes to migrate to 32 bit arch (armv7l)

4 years agoBuild source with docker technology
Eduardo Ramos Testillano (eramedu) [Mon, 13 Apr 2020 00:55:02 +0000 (02:55 +0200)]
Build source with docker technology

4 years agoSkip oracle and database build by mean cmake variable
Eduardo Ramos Testillano (eramedu) [Sun, 12 Apr 2020 17:04:35 +0000 (19:04 +0200)]
Skip oracle and database build by mean cmake variable

You could avoid database resources compilation to ease the add of requirements:
   > cmake -DSKIP_DATABASE_BUILD=1 .

4 years agoImprovements from anna fork
Eduardo Ramos Testillano [Sat, 11 Apr 2020 23:49:21 +0000 (01:49 +0200)]
Improvements from anna fork

* Rename steps that are diameter-specific
  Diameter steps should be renamed to clarify the real context of use.

* Change ADML point of generation for launcher.traces

  Change from the physical executable location to the
  execution point (current working directory)

* Improve final detection algorithm

  Improves resolution to detect the end of the
  testing.
  Uses the number of finished test cases
  (success + failed) instead the initialized
  ones (which is less safer because initial
  conditions).

* Add dynamic ip-limit control

  Add the possibility to control de ip-limit from
  test case by mean a new generic action: ip_limit

* Manage terminate signal from ADML application

* Improve counters
  Implement signalTermination handler and force counter records.
  If counters dumps are disabled (--cntRecordPeriod 0) the file
  won't be created anyway.

  Also, improve the mask for counters file creation instead of
  modifying it on close (avoid possible stop problems). We set
  644 for counters.

* Implement junit report generation
  Add new methods and implement new asXML getter for junit report.

* AOTS (Agents-Oriented Testing Setup): evolution from original
  idea of diameter agents but extended to any kind of resource.

Change-Id: I4dc3ac41b86709439ffa2aa98aa011d956d8df2f

4 years agoFix README about oracle integration
eramos [Mon, 6 Apr 2020 00:12:44 +0000 (02:12 +0200)]
Fix README about oracle integration

4 years agoUpdate tshark DNS resolution due to deprecated asynchronous flag 'C'
eramos [Fri, 20 Mar 2020 21:26:45 +0000 (22:26 +0100)]
Update tshark DNS resolution due to deprecated asynchronous flag 'C'

As tshark has been updated, the resolving flag 'C' for DNS (-N)
option has been deprecated. We will use 'd' and 'v' instead.

4 years agoUpdate date in Doxyfile
eramos [Fri, 20 Mar 2020 01:49:02 +0000 (02:49 +0100)]
Update date in Doxyfile

4 years agotest
Eduardo Ramos Testillano [Thu, 9 Jan 2020 01:08:40 +0000 (02:08 +0100)]
test

4 years agoRevert "Remove mysql and oracle resources for anna-ericsson project"
Eduardo Ramos Testillano [Sun, 7 Jul 2019 02:24:46 +0000 (04:24 +0200)]
Revert "Remove mysql and oracle resources for anna-ericsson project"

This reverts commit a3b95648bd76140ef55e0b5941d423eee6c3856f.

4 years agoRemove mysql and oracle resources for anna-ericsson project
Eduardo Ramos Testillano (eramedu) [Fri, 5 Jul 2019 22:14:37 +0000 (00:14 +0200)]
Remove mysql and oracle resources for anna-ericsson project

4 years agoAdd no-deprecated to warnings due to dynamic exceptions.
Eduardo Ramos Testillano (eramedu) [Wed, 3 Jul 2019 19:13:34 +0000 (21:13 +0200)]
Add no-deprecated to warnings due to dynamic exceptions.

Also change clock monotonic constant.

4 years agoAbstract testing a little more
Eduardo Ramos Testillano (eramedu) [Tue, 2 Jul 2019 08:32:07 +0000 (10:32 +0200)]
Abstract testing a little more

4 years agoNew rxSimpleTest example
Eduardo Ramos Testillano (eramedu) [Sun, 9 Jun 2019 03:25:43 +0000 (05:25 +0200)]
New rxSimpleTest example

API-implemented example for RX simple test

4 years agoMiss logic for wait for request data reference
Eduardo Ramos Testillano (eramedu) [Sun, 9 Jun 2019 03:23:05 +0000 (05:23 +0200)]
Miss logic for wait for request data reference

When sending to client, the wait for request step
information was being ignored.

4 years agoFix answer condition from message
Eduardo Ramos Testillano (eramedu) [Sun, 9 Jun 2019 03:21:25 +0000 (05:21 +0200)]
Fix answer condition from message

Answer was wrongly calculated from message, then
always answer was true when request, and false
when answer.

Also adds a trace to get the wait for request value.

6 years agoFix compilation error
Eduardo Ramos Testillano [Mon, 27 Nov 2017 03:19:59 +0000 (04:19 +0100)]
Fix compilation error

6 years agoGet an absolute path for traces in order to bypass possible change-dir operation
Eduardo Ramos Testillano [Mon, 27 Nov 2017 03:14:16 +0000 (04:14 +0100)]
Get an absolute path for traces in order to bypass possible change-dir operation

6 years agoFix registration bug
Eduardo Ramos Testillano [Mon, 23 Oct 2017 20:57:50 +0000 (22:57 +0200)]
Fix registration bug

6 years agoFix ad-hoc cmake for install
Eduardo Ramos Testillano [Wed, 18 Oct 2017 09:53:47 +0000 (11:53 +0200)]
Fix ad-hoc cmake for install

6 years agoConvert to warning
Eduardo Ramos Testillano [Wed, 11 Oct 2017 12:08:01 +0000 (14:08 +0200)]
Convert to warning

Allow to test special cases

6 years agoSupport for Multiple Peer deployments. Support for coexisting several ADMLS instances...
Eduardo Ramos Testillano [Fri, 29 Sep 2017 16:55:13 +0000 (18:55 +0200)]
Support for Multiple Peer deployments. Support for coexisting several ADMLS instances directories. Fix division by 0.

6 years agoHelp to check CEA received after run.sh
Eduardo Ramos Testillano [Thu, 28 Sep 2017 20:26:53 +0000 (22:26 +0200)]
Help to check CEA received after run.sh

6 years agoImprove flags uncertainty. Warning when provided with name attribute
Eduardo Ramos Testillano [Tue, 1 Aug 2017 21:23:15 +0000 (23:23 +0200)]
Improve flags uncertainty. Warning when provided with name attribute

6 years agoImprove help
Eduardo Ramos Testillano [Sun, 16 Jul 2017 12:19:19 +0000 (14:19 +0200)]
Improve help

6 years agoMinor fixes
Eduardo Ramos Testillano [Sun, 16 Jul 2017 11:57:18 +0000 (13:57 +0200)]
Minor fixes

6 years agoClarify
Eduardo Ramos Testillano [Tue, 11 Jul 2017 08:00:43 +0000 (10:00 +0200)]
Clarify

6 years agoCore creation
Eduardo Ramos Testillano [Thu, 6 Jul 2017 10:51:25 +0000 (12:51 +0200)]
Core creation

6 years agoFix offset
Eduardo Ramos Testillano [Fri, 30 Jun 2017 13:09:05 +0000 (15:09 +0200)]
Fix offset

6 years agoFixes and improvements
Eduardo Ramos Testillano [Fri, 30 Jun 2017 01:06:24 +0000 (03:06 +0200)]
Fixes and improvements

* Allow zeroed cntRecordPeriod as special case (no counters dump)
  instead of throwing exception for invalid time measure.
* Remove symlink to services_example in st client deployment and
  improve help to guide to correct configuration of services.
* Alert about restarting ADML processes when dynamic library has
  been updated/selected.
* Fixed ApplicationMessageOamModule key (eventId now includes
  %s_%s instead of %s%s to avoid possible ambiguity in a key
  definition from to values.
* Hide exception for non Result-Code in diameter answer,
  because this AVP is optional even in some answers.
* Initialize resultCode to -1 instead of 0 to avoid having a
  ResultCode0 as counter prefixes.
* Remove warning from OriginHostManager::getOriginHost when
  item is not found, because this is used also to discard
  redefinitions when something already exists in the map.
* CodecEngine getter has been fixed to cover the monostack
  case where the stack id does not correspond to the app id
  in the requests but the value of 0 (normally).
* Clarify MessageDeque warnings when answer is analyzed
  during configured from original request: this seems to
  be missing warnings from request message findings but
  that are coming from answer !

6 years agoNiceness set to 5 for ADML
Eduardo Ramos Testillano [Tue, 27 Jun 2017 20:14:57 +0000 (22:14 +0200)]
Niceness set to 5 for ADML

6 years agoAuto-reset hard/soft for further cycles
Eduardo Ramos Testillano [Tue, 27 Jun 2017 17:45:09 +0000 (19:45 +0200)]
Auto-reset hard/soft for further cycles

If no timeout is configured for a TC, it could happen that next
cycle reach the same TC still in progress. Auto-reset is soft by
default, but you could configure for this kind of scenarios.

Then, auto-reset will hard reset the TC dumping a Failed report
(hint is about hard reset of in-progress TC) and then will be
initialized and started again.