Repository: ntop/ntopng (language: python)

Issue:
updating test



Discussion / hints:

Fix patch:
diff --git a/Makefile.in b/Makefile.in
index 34e70ff07e40..61413d106294 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -123,7 +123,8 @@ HEADERS = $(wildcard include/*.h) $(wildcard include/flow_checks/*.h) $(wildcard
 INC     = $(wildcard src/*.inc)
 OBJECTS_NO_MAIN := $(filter-out src/main.o,$(OBJECTS))
 
-TEST_FILES = $(wildcard tests/*.c) 
+TEST_FILES = $(wildcard tests/src/*.cpp) 
+TEST_HEADERS = $(wildcard tests/include/*.h)
 
 %.o: %.c $(HEADERS) $(INC) Makefile
 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
@@ -136,8 +137,8 @@ TEST_FILES = $(wildcard tests/*.c)
 $(TARGET): $(OBJECTS) $(LIB_TARGETS) Makefile
 	$(CXX) $(CPPFLAGS) $(LDFLAGS) $(OBJECTS) -lm -Wall $(LIBS) -o $@
 
-unit_test: $(TEST_FILES) $(LIB_TARGETS)
-	$(CXX) $(CPPFLAGS) $(LDFLAGS) $(TEST_FILES) -lgtest $(LIBS) -o ./tests/unit_tests
+unit_test: $(TEST_FILES) $(OBJECTS_NO_MAIN) ${TEST_HEADERS} $(LIB_TARGETS)
+	$(CXX) $(CPPFLAGS) $(LDFLAGS) $(TEST_FILES) $(OBJECTS_NO_MAIN) -lm -lgtest $(LIBS) -o ./tests/unit_tests
 
 test_fifo_queue: $(OBJECTS_NO_MAIN) $(LIB_TARGETS)
 	rm src/FifoStringsQueue.o
diff --git a/include/AddressResolution.h b/include/AddressResolution.h
index abd40c242229..b3e14fbc6113 100644
--- a/include/AddressResolution.h
+++ b/include/AddressResolution.h
@@ -35,8 +35,8 @@ class AddressResolution {
   ~AddressResolution();
 
   void startResolveAddressLoop();
-  void resolveHostName(char *numeric_ip, char *rsp = NULL, u_int rsp_len = 0);
-  bool resolveHost(char *host, char *rsp, u_int rsp_len, bool v4);
+  void resolveHostName(const char *numeric_ip, char *rsp = NULL, u_int rsp_len = 0);
+  bool resolveHost(const char *host, char *rsp, u_int rsp_len, bool v4);
 };
 
 #endif /* _ADDRESS_RESOLUTION_H_ */
diff --git a/include/Ntop.h b/include/Ntop.h
index e7f56ba6e80c..4d6ddf6d39fc 100644
--- a/include/Ntop.h
+++ b/include/Ntop.h
@@ -154,7 +154,7 @@ class Ntop {
    * @param appName  Describe the application name.
    * @return A new instance of Ntop.
    */
-  Ntop(char *appName);
+  Ntop(const char *appName);
   /**
    * @brief A Destructor.
    *
@@ -266,11 +266,11 @@ class Ntop {
    * @param symbolic Symbolic name.
    * @param symbolic_len Length of symbolic name.
    */
-  inline void resolveHostName(char *numeric_ip, char *symbolic, u_int symbolic_len) {
+  inline void resolveHostName(const char *numeric_ip, char *symbolic, u_int symbolic_len) {
     address->resolveHostName(numeric_ip, symbolic, symbolic_len);
   }
 
-  inline bool resolveHost(char *host, char *rsp, u_int rsp_len, bool v4) {
+  inline bool resolveHost(const char *host, char *rsp, u_int rsp_len, bool v4) {
     return address->resolveHost(host, rsp, rsp_len, v4);
   }
 
@@ -403,7 +403,7 @@ class Ntop {
 
   inline Bloom*            getResolutionBloom()      { return(resolvedHostsBloom);  };
   inline NtopGlobals*      getGlobals()              { return(globals);             };
-  inline Trace*            getTrace()                { return(globals->getTrace()); };
+  inline Trace*            getTrace()                { return ((globals!=NULL) ? globals->getTrace() : NULL); };
   inline Redis*            getRedis()                { return(redis);               };
   inline TimelineExtract*  getTimelineExtract()      { return(extract);             };
 #ifndef HAVE_NEDGE
diff --git a/include/Prefs.h b/include/Prefs.h
index 049498ee8158..4ed5cfdb636d 100644
--- a/include/Prefs.h
+++ b/include/Prefs.h
@@ -246,10 +246,12 @@ class Prefs {
   char* get_if_descr(int id);
   inline const char* get_config_file_path()                   { return(config_file_path); };
   inline const char* get_ndpi_proto_file_path()               { return(ndpi_proto_path); };
+  void set_data_dir(char* path)                          { data_dir = path; }
   inline char* get_data_dir()                                 { return(data_dir);       };
   inline char* get_docs_dir()                                 { return(docs_dir);       }; // HTTP docs
   inline const char* get_scripts_dir()                        { return(scripts_dir);    };
   inline const char* get_callbacks_dir()                      { return(callbacks_dir);  };
+  void set_callback_dir(char *path)                     { callbacks_dir = path;   };
   inline const char* get_pcap_dir()                           { return(pcap_dir);       };
 #ifdef NTOPNG_PRO
   inline const char* get_pro_callbacks_dir()                  { return(pro_callbacks_dir); };
diff --git a/include/ntop_typedefs.h b/include/ntop_typedefs.h
index b22043471685..8e1ca237daa2 100644
--- a/include/ntop_typedefs.h
+++ b/include/ntop_typedefs.h
@@ -476,6 +476,7 @@ typedef enum {
   MAX_DEFINED_FLOW_ALERT_TYPE, /* Leave it as last member */
 
   MAX_FLOW_ALERT_TYPE = 127 /* Constrained by `Bitmap128 alert_map` inside Flow.h */
+  
 } FlowAlertTypeEnum;
 
 typedef struct {
diff --git a/src/AddressResolution.cpp b/src/AddressResolution.cpp
index f2b163106342..e2cef055378d 100644
--- a/src/AddressResolution.cpp
+++ b/src/AddressResolution.cpp
@@ -40,7 +40,8 @@ AddressResolution::AddressResolution() {
 /* **************************************** */
 
 AddressResolution::~AddressResolution() {
-  if(ntop->getPrefs() && ntop->getPrefs()->is_dns_resolution_enabled()) {
+  if(ntop->getPrefs() && 
+  ntop->getPrefs()->is_dns_resolution_enabled()) {
     for(int i = 0; i < num_resolvers; i++) {
       if(resolveThreadLoop[i])
         pthread_join(resolveThreadLoop[i], NULL);
@@ -48,17 +49,23 @@ AddressResolution::~AddressResolution() {
   }
 
   free(resolveThreadLoop);
-
-  ntop->getTrace()->traceEvent(TRACE_NORMAL, "Address resolution stats [%u resolved][%u failures]",
+  Trace *log = ntop->getTrace(); 
+  if (log != NULL) {
+    log->traceEvent(TRACE_NORMAL, "Address resolution stats [%u resolved][%u failures]",
 			       num_resolved_addresses, num_resolved_fails);
+  }
 }
 
 /* ***************************************** */
 
-void AddressResolution::resolveHostName(char *_numeric_ip, char *symbolic, u_int symbolic_len) {
+void AddressResolution::resolveHostName(const char *_numeric_ip, char *symbolic, u_int symbolic_len) {
   char rsp[128], query[64], *at, *numeric_ip;
   u_int numeric_ip_len;
-
+ 
+  if ((_numeric_ip == NULL) || (symbolic == NULL)) {
+     throw std::invalid_argument("invalid null arguments");
+  }
+  
   snprintf(query, sizeof(query), "%s", _numeric_ip);
   if((at = strchr(query, '@')) != NULL) at[0] = '\0';
   numeric_ip = query;
@@ -66,8 +73,15 @@ void AddressResolution::resolveHostName(char *_numeric_ip, char *symbolic, u_int
 
   if((symbolic != NULL) && (symbolic_len > 0)) symbolic[0] = '\0';
   if(numeric_ip[0] == '\0') return;
-
-  if(ntop->getRedis()->getAddress(numeric_ip, rsp, sizeof(rsp), false) < 0) {
+  // in this case we don't crash when redis is not up.
+  // but we don't cache
+  Redis* redisInstance = ntop->getRedis();
+  // TODO: to be replaced with uniform initialization
+  int cachedResult = -1;
+  if (redisInstance != NULL) {
+    cachedResult = redisInstance->getAddress(numeric_ip, rsp, sizeof(rsp), false);
+  }
+  if(cachedResult < 0) {
     char hostname[NI_MAXHOST];
     struct sockaddr *sa;
     struct sockaddr_in in4;
@@ -81,12 +95,13 @@ void AddressResolution::resolveHostName(char *_numeric_ip, char *symbolic, u_int
     if(!isxdigit(numeric_ip[numeric_ip_len]) && (numeric_ip[numeric_ip_len] != ':')) {
       /* This is a symbolic IP -> numeric IP */
       struct hostent *h;
-
       m.lock(__FILE__, __LINE__);
       h = gethostbyname((const char*)numeric_ip); /* Non reentrant call */
 
       if(symbolic && h) snprintf(symbolic, symbolic_len, "%s",  h->h_name);
-      ntop->getRedis()->setResolvedAddress(numeric_ip, h ? h->h_name : (char*)"");
+      if (redisInstance!=NULL) {
+        redisInstance->setResolvedAddress(numeric_ip, h ? h->h_name : (char*)"");
+      }
       num_resolved_addresses++;
       m.unlock(__FILE__, __LINE__);
       return;
@@ -138,10 +153,12 @@ void AddressResolution::resolveHostName(char *_numeric_ip, char *symbolic, u_int
 
 /* **************************************************** */
 
-bool AddressResolution::resolveHost(char *host, char *rsp, u_int rsp_len, bool v4) {
+bool AddressResolution::resolveHost(const char *host, char *rsp, u_int rsp_len, bool v4) {
   struct addrinfo hints, *servinfo, *rp;
   const char *dst = NULL;
-
+  if (host == NULL) {
+      throw std::invalid_argument("invalid host parameters");
+  }
   memset(&hints, 0, sizeof(hints));
 
   hints.ai_family = v4 ? AF_INET : AF_INET6;
diff --git a/src/Ntop.cpp b/src/Ntop.cpp
index 3d021aaa0759..1ce1095bb97b 100644
--- a/src/Ntop.cpp
+++ b/src/Ntop.cpp
@@ -51,7 +51,8 @@ extern struct keyval string_to_replace[]; /* LuaEngine.cpp */
 
 /* ******************************************* */
 
-Ntop::Ntop(char *appName) {
+Ntop::Ntop(const char *appName) {
+  // WTF: it's weird why do you want a global instance of ntop.
   ntop = this;
   globals = new (std::nothrow) NtopGlobals();
   extract = new (std::nothrow) TimelineExtract(); 


Test patch:
diff --git a/tests/lua/test_alert_exclusions.lua b/tests/e2e/lua/test_alert_exclusions.lua
similarity index 100%
rename from tests/lua/test_alert_exclusions.lua
rename to tests/e2e/lua/test_alert_exclusions.lua
diff --git a/tests/lua/test_alert_store.lua b/tests/e2e/lua/test_alert_store.lua
similarity index 100%
rename from tests/lua/test_alert_store.lua
rename to tests/e2e/lua/test_alert_store.lua
diff --git a/tests/lua/test_alerts.lua b/tests/e2e/lua/test_alerts.lua
similarity index 100%
rename from tests/lua/test_alerts.lua
rename to tests/e2e/lua/test_alerts.lua
diff --git a/tests/lua/test_control_groups.lua b/tests/e2e/lua/test_control_groups.lua
similarity index 100%
rename from tests/lua/test_control_groups.lua
rename to tests/e2e/lua/test_control_groups.lua
diff --git a/tests/lua/test_delete_nindex.lua b/tests/e2e/lua/test_delete_nindex.lua
similarity index 100%
rename from tests/lua/test_delete_nindex.lua
rename to tests/e2e/lua/test_delete_nindex.lua
diff --git a/tests/lua/test_gui_widgets.lua b/tests/e2e/lua/test_gui_widgets.lua
similarity index 100%
rename from tests/lua/test_gui_widgets.lua
rename to tests/e2e/lua/test_gui_widgets.lua
diff --git a/tests/lua/test_locales.lua b/tests/e2e/lua/test_locales.lua
similarity index 100%
rename from tests/lua/test_locales.lua
rename to tests/e2e/lua/test_locales.lua
diff --git a/tests/lua/test_notification_endpoints.lua b/tests/e2e/lua/test_notification_endpoints.lua
similarity index 100%
rename from tests/lua/test_notification_endpoints.lua
rename to tests/e2e/lua/test_notification_endpoints.lua
diff --git a/tests/lua/test_pools.lua b/tests/e2e/lua/test_pools.lua
similarity index 100%
rename from tests/lua/test_pools.lua
rename to tests/e2e/lua/test_pools.lua
diff --git a/tests/lua/test_recipients.lua b/tests/e2e/lua/test_recipients.lua
similarity index 100%
rename from tests/lua/test_recipients.lua
rename to tests/e2e/lua/test_recipients.lua
diff --git a/tests/lua/test_widgets.lua b/tests/e2e/lua/test_widgets.lua
similarity index 100%
rename from tests/lua/test_widgets.lua
rename to tests/e2e/lua/test_widgets.lua
diff --git a/tests/rest/README b/tests/e2e/rest/README
similarity index 100%
rename from tests/rest/README
rename to tests/e2e/rest/README
diff --git a/tests/rest/conflicts/README b/tests/e2e/rest/conflicts/README
similarity index 100%
rename from tests/rest/conflicts/README
rename to tests/e2e/rest/conflicts/README
diff --git a/tests/rest/conflicts/v1/.placeholder b/tests/e2e/rest/conflicts/v1/.placeholder
similarity index 100%
rename from tests/rest/conflicts/v1/.placeholder
rename to tests/e2e/rest/conflicts/v1/.placeholder
diff --git a/tests/rest/conflicts/v2/.placeholder b/tests/e2e/rest/conflicts/v2/.placeholder
similarity index 100%
rename from tests/rest/conflicts/v2/.placeholder
rename to tests/e2e/rest/conflicts/v2/.placeholder
diff --git a/tests/rest/logs/README b/tests/e2e/rest/logs/README
similarity index 100%
rename from tests/rest/logs/README
rename to tests/e2e/rest/logs/README
diff --git a/tests/rest/logs/v1/.placeholder b/tests/e2e/rest/logs/v1/.placeholder
similarity index 100%
rename from tests/rest/logs/v1/.placeholder
rename to tests/e2e/rest/logs/v1/.placeholder
diff --git a/tests/rest/logs/v2/.placeholder b/tests/e2e/rest/logs/v2/.placeholder
similarity index 100%
rename from tests/rest/logs/v2/.placeholder
rename to tests/e2e/rest/logs/v2/.placeholder
diff --git a/tests/rest/result/v1/alert_dns_data_exfiltration_01.out b/tests/e2e/rest/result/v1/alert_dns_data_exfiltration_01.out
similarity index 100%
rename from tests/rest/result/v1/alert_dns_data_exfiltration_01.out
rename to tests/e2e/rest/result/v1/alert_dns_data_exfiltration_01.out
diff --git a/tests/rest/result/v1/alert_dns_data_exfiltration_02.out b/tests/e2e/rest/result/v1/alert_dns_data_exfiltration_02.out
similarity index 100%
rename from tests/rest/result/v1/alert_dns_data_exfiltration_02.out
rename to tests/e2e/rest/result/v1/alert_dns_data_exfiltration_02.out
diff --git a/tests/rest/result/v1/alert_flow_exclusion_lists.out b/tests/e2e/rest/result/v1/alert_flow_exclusion_lists.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_exclusion_lists.out
rename to tests/e2e/rest/result/v1/alert_flow_exclusion_lists.out
diff --git a/tests/rest/result/v1/alert_flow_invalid_dns_query_02.out b/tests/e2e/rest/result/v1/alert_flow_invalid_dns_query_02.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_invalid_dns_query_02.out
rename to tests/e2e/rest/result/v1/alert_flow_invalid_dns_query_02.out
diff --git a/tests/rest/result/v1/alert_flow_invalid_dns_query_disabled.out b/tests/e2e/rest/result/v1/alert_flow_invalid_dns_query_disabled.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_invalid_dns_query_disabled.out
rename to tests/e2e/rest/result/v1/alert_flow_invalid_dns_query_disabled.out
diff --git a/tests/rest/result/v1/alert_flow_risk_dga_01.out b/tests/e2e/rest/result/v1/alert_flow_risk_dga_01.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_risk_dga_01.out
rename to tests/e2e/rest/result/v1/alert_flow_risk_dga_01.out
diff --git a/tests/rest/result/v1/alert_flow_risk_dga_02.out b/tests/e2e/rest/result/v1/alert_flow_risk_dga_02.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_risk_dga_02.out
rename to tests/e2e/rest/result/v1/alert_flow_risk_dga_02.out
diff --git a/tests/rest/result/v1/alert_flow_risk_http_numeric_ip_host.out b/tests/e2e/rest/result/v1/alert_flow_risk_http_numeric_ip_host.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_risk_http_numeric_ip_host.out
rename to tests/e2e/rest/result/v1/alert_flow_risk_http_numeric_ip_host.out
diff --git a/tests/rest/result/v1/alert_flow_risk_missing_tls_sni.out b/tests/e2e/rest/result/v1/alert_flow_risk_missing_tls_sni.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_risk_missing_tls_sni.out
rename to tests/e2e/rest/result/v1/alert_flow_risk_missing_tls_sni.out
diff --git a/tests/rest/result/v1/alert_flow_risk_unsafe_protocol.out b/tests/e2e/rest/result/v1/alert_flow_risk_unsafe_protocol.out
similarity index 100%
rename from tests/rest/result/v1/alert_flow_risk_unsafe_protocol.out
rename to tests/e2e/rest/result/v1/alert_flow_risk_unsafe_protocol.out
diff --git a/tests/rest/result/v1/alert_tls_certificate_expired.out b/tests/e2e/rest/result/v1/alert_tls_certificate_expired.out
similarity index 100%
rename from tests/rest/result/v1/alert_tls_certificate_expired.out
rename to tests/e2e/rest/result/v1/alert_tls_certificate_expired.out
diff --git a/tests/rest/result/v1/alert_tls_certificate_selfsigned.out b/tests/e2e/rest/result/v1/alert_tls_certificate_selfsigned.out
similarity index 100%
rename from tests/rest/result/v1/alert_tls_certificate_selfsigned.out
rename to tests/e2e/rest/result/v1/alert_tls_certificate_selfsigned.out
diff --git a/tests/rest/result/v1/alert_web_mining.out b/tests/e2e/rest/result/v1/alert_web_mining.out
similarity index 100%
rename from tests/rest/result/v1/alert_web_mining.out
rename to tests/e2e/rest/result/v1/alert_web_mining.out
diff --git a/tests/rest/result/v1/get_alert_data_01.out b/tests/e2e/rest/result/v1/get_alert_data_01.out
similarity index 100%
rename from tests/rest/result/v1/get_alert_data_01.out
rename to tests/e2e/rest/result/v1/get_alert_data_01.out
diff --git a/tests/rest/result/v1/get_alert_data_02.out b/tests/e2e/rest/result/v1/get_alert_data_02.out
similarity index 100%
rename from tests/rest/result/v1/get_alert_data_02.out
rename to tests/e2e/rest/result/v1/get_alert_data_02.out
diff --git a/tests/rest/result/v1/get_alert_type_consts_01.out b/tests/e2e/rest/result/v1/get_alert_type_consts_01.out
similarity index 100%
rename from tests/rest/result/v1/get_alert_type_consts_01.out
rename to tests/e2e/rest/result/v1/get_alert_type_consts_01.out
diff --git a/tests/rest/result/v1/get_checks_config_01.out b/tests/e2e/rest/result/v1/get_checks_config_01.out
similarity index 100%
rename from tests/rest/result/v1/get_checks_config_01.out
rename to tests/e2e/rest/result/v1/get_checks_config_01.out
diff --git a/tests/rest/result/v1/get_flow_active_01.out b/tests/e2e/rest/result/v1/get_flow_active_01.out
similarity index 100%
rename from tests/rest/result/v1/get_flow_active_01.out
rename to tests/e2e/rest/result/v1/get_flow_active_01.out
diff --git a/tests/rest/result/v1/get_flow_l4_counters_01.out b/tests/e2e/rest/result/v1/get_flow_l4_counters_01.out
similarity index 100%
rename from tests/rest/result/v1/get_flow_l4_counters_01.out
rename to tests/e2e/rest/result/v1/get_flow_l4_counters_01.out
diff --git a/tests/rest/result/v1/get_flow_l7_counters_01.out b/tests/e2e/rest/result/v1/get_flow_l7_counters_01.out
similarity index 100%
rename from tests/rest/result/v1/get_flow_l7_counters_01.out
rename to tests/e2e/rest/result/v1/get_flow_l7_counters_01.out
diff --git a/tests/rest/result/v1/get_host_active_01.out b/tests/e2e/rest/result/v1/get_host_active_01.out
similarity index 100%
rename from tests/rest/result/v1/get_host_active_01.out
rename to tests/e2e/rest/result/v1/get_host_active_01.out
diff --git a/tests/rest/result/v1/get_host_custom_data_01.out b/tests/e2e/rest/result/v1/get_host_custom_data_01.out
similarity index 100%
rename from tests/rest/result/v1/get_host_custom_data_01.out
rename to tests/e2e/rest/result/v1/get_host_custom_data_01.out
diff --git a/tests/rest/result/v1/get_host_custom_data_02.out b/tests/e2e/rest/result/v1/get_host_custom_data_02.out
similarity index 100%
rename from tests/rest/result/v1/get_host_custom_data_02.out
rename to tests/e2e/rest/result/v1/get_host_custom_data_02.out
diff --git a/tests/rest/result/v1/get_host_data_01.out b/tests/e2e/rest/result/v1/get_host_data_01.out
similarity index 100%
rename from tests/rest/result/v1/get_host_data_01.out
rename to tests/e2e/rest/result/v1/get_host_data_01.out
diff --git a/tests/rest/result/v1/get_host_data_02.out b/tests/e2e/rest/result/v1/get_host_data_02.out
similarity index 100%
rename from tests/rest/result/v1/get_host_data_02.out
rename to tests/e2e/rest/result/v1/get_host_data_02.out
diff --git a/tests/rest/result/v1/get_host_data_03.out b/tests/e2e/rest/result/v1/get_host_data_03.out
similarity index 100%
rename from tests/rest/result/v1/get_host_data_03.out
rename to tests/e2e/rest/result/v1/get_host_data_03.out
diff --git a/tests/rest/result/v1/get_host_interfaces_01.out b/tests/e2e/rest/result/v1/get_host_interfaces_01.out
similarity index 100%
rename from tests/rest/result/v1/get_host_interfaces_01.out
rename to tests/e2e/rest/result/v1/get_host_interfaces_01.out
diff --git a/tests/rest/result/v1/get_host_l7_stats_01.out b/tests/e2e/rest/result/v1/get_host_l7_stats_01.out
similarity index 100%
rename from tests/rest/result/v1/get_host_l7_stats_01.out
rename to tests/e2e/rest/result/v1/get_host_l7_stats_01.out
diff --git a/tests/rest/result/v1/get_host_l7_stats_02.out b/tests/e2e/rest/result/v1/get_host_l7_stats_02.out
similarity index 100%
rename from tests/rest/result/v1/get_host_l7_stats_02.out
rename to tests/e2e/rest/result/v1/get_host_l7_stats_02.out
diff --git a/tests/rest/result/v1/get_host_mud_01.out b/tests/e2e/rest/result/v1/get_host_mud_01.out
similarity index 100%
rename from tests/rest/result/v1/get_host_mud_01.out
rename to tests/e2e/rest/result/v1/get_host_mud_01.out
diff --git a/tests/rest/result/v1/get_interface_address_01.out b/tests/e2e/rest/result/v1/get_interface_address_01.out
similarity index 100%
rename from tests/rest/result/v1/get_interface_address_01.out
rename to tests/e2e/rest/result/v1/get_interface_address_01.out
diff --git a/tests/rest/result/v1/get_interface_bcast_domains_01.out b/tests/e2e/rest/result/v1/get_interface_bcast_domains_01.out
similarity index 100%
rename from tests/rest/result/v1/get_interface_bcast_domains_01.out
rename to tests/e2e/rest/result/v1/get_interface_bcast_domains_01.out
diff --git a/tests/rest/result/v1/get_interface_data_01.out b/tests/e2e/rest/result/v1/get_interface_data_01.out
similarity index 100%
rename from tests/rest/result/v1/get_interface_data_01.out
rename to tests/e2e/rest/result/v1/get_interface_data_01.out
diff --git a/tests/rest/result/v1/get_interface_l7_stats_01.out b/tests/e2e/rest/result/v1/get_interface_l7_stats_01.out
similarity index 100%
rename from tests/rest/result/v1/get_interface_l7_stats_01.out
rename to tests/e2e/rest/result/v1/get_interface_l7_stats_01.out
diff --git a/tests/rest/result/v1/get_interface_l7_stats_02.out b/tests/e2e/rest/result/v1/get_interface_l7_stats_02.out
similarity index 100%
rename from tests/rest/result/v1/get_interface_l7_stats_02.out
rename to tests/e2e/rest/result/v1/get_interface_l7_stats_02.out
diff --git a/tests/rest/result/v1/get_interface_l7_stats_03.out b/tests/e2e/rest/result/v1/get_interface_l7_stats_03.out
similarity index 100%
rename from tests/rest/result/v1/get_interface_l7_stats_03.out
rename to tests/e2e/rest/result/v1/get_interface_l7_stats_03.out
diff --git a/tests/rest/result/v1/get_interface_l7_stats_04.out b/tests/e2e/rest/result/v1/get_interface_l7_stats_04.out
similarity index 100%
rename from tests/rest/result/v1/get_interface_l7_stats_04.out
rename to tests/e2e/rest/result/v1/get_interface_l7_stats_04.out
diff --git a/tests/rest/result/v1/get_l4_protocol_consts.out b/tests/e2e/rest/result/v1/get_l4_protocol_consts.out
similarity index 100%
rename from tests/rest/result/v1/get_l4_protocol_consts.out
rename to tests/e2e/rest/result/v1/get_l4_protocol_consts.out
diff --git a/tests/rest/result/v1/get_l7_application_consts_01.out b/tests/e2e/rest/result/v1/get_l7_application_consts_01.out
similarity index 100%
rename from tests/rest/result/v1/get_l7_application_consts_01.out
rename to tests/e2e/rest/result/v1/get_l7_application_consts_01.out
diff --git a/tests/rest/result/v1/get_l7_category_consts_01.out b/tests/e2e/rest/result/v1/get_l7_category_consts_01.out
similarity index 100%
rename from tests/rest/result/v1/get_l7_category_consts_01.out
rename to tests/e2e/rest/result/v1/get_l7_category_consts_01.out
diff --git a/tests/rest/result/v1/get_ntopng_interfaces_01.out b/tests/e2e/rest/result/v1/get_ntopng_interfaces_01.out
similarity index 100%
rename from tests/rest/result/v1/get_ntopng_interfaces_01.out
rename to tests/e2e/rest/result/v1/get_ntopng_interfaces_01.out
diff --git a/tests/rest/result/v1/get_ntopng_users_01.out b/tests/e2e/rest/result/v1/get_ntopng_users_01.out
similarity index 100%
rename from tests/rest/result/v1/get_ntopng_users_01.out
rename to tests/e2e/rest/result/v1/get_ntopng_users_01.out
diff --git a/tests/rest/result/v1/get_pool_config_01.out b/tests/e2e/rest/result/v1/get_pool_config_01.out
similarity index 100%
rename from tests/rest/result/v1/get_pool_config_01.out
rename to tests/e2e/rest/result/v1/get_pool_config_01.out
diff --git a/tests/rest/result/v1/mac_alert_bcast_domains_01.out b/tests/e2e/rest/result/v1/mac_alert_bcast_domains_01.out
similarity index 100%
rename from tests/rest/result/v1/mac_alert_bcast_domains_01.out
rename to tests/e2e/rest/result/v1/mac_alert_bcast_domains_01.out
diff --git a/tests/rest/result/v1/peers_swap_heuristic_01.out b/tests/e2e/rest/result/v1/peers_swap_heuristic_01.out
similarity index 100%
rename from tests/rest/result/v1/peers_swap_heuristic_01.out
rename to tests/e2e/rest/result/v1/peers_swap_heuristic_01.out
diff --git a/tests/rest/result/v1/peers_swap_heuristic_02.out b/tests/e2e/rest/result/v1/peers_swap_heuristic_02.out
similarity index 100%
rename from tests/rest/result/v1/peers_swap_heuristic_02.out
rename to tests/e2e/rest/result/v1/peers_swap_heuristic_02.out
diff --git a/tests/rest/result/v1/set_host_alias_01.out b/tests/e2e/rest/result/v1/set_host_alias_01.out
similarity index 100%
rename from tests/rest/result/v1/set_host_alias_01.out
rename to tests/e2e/rest/result/v1/set_host_alias_01.out
diff --git a/tests/rest/result/v2/alert_dns_data_exfiltration_01.out b/tests/e2e/rest/result/v2/alert_dns_data_exfiltration_01.out
similarity index 100%
rename from tests/rest/result/v2/alert_dns_data_exfiltration_01.out
rename to tests/e2e/rest/result/v2/alert_dns_data_exfiltration_01.out
diff --git a/tests/rest/result/v2/alert_dns_data_exfiltration_02.out b/tests/e2e/rest/result/v2/alert_dns_data_exfiltration_02.out
similarity index 100%
rename from tests/rest/result/v2/alert_dns_data_exfiltration_02.out
rename to tests/e2e/rest/result/v2/alert_dns_data_exfiltration_02.out
diff --git a/tests/rest/result/v2/alert_flow_exclusion_lists.out b/tests/e2e/rest/result/v2/alert_flow_exclusion_lists.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_exclusion_lists.out
rename to tests/e2e/rest/result/v2/alert_flow_exclusion_lists.out
diff --git a/tests/rest/result/v2/alert_flow_invalid_dns_query_02.out b/tests/e2e/rest/result/v2/alert_flow_invalid_dns_query_02.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_invalid_dns_query_02.out
rename to tests/e2e/rest/result/v2/alert_flow_invalid_dns_query_02.out
diff --git a/tests/rest/result/v2/alert_flow_invalid_dns_query_disabled.out b/tests/e2e/rest/result/v2/alert_flow_invalid_dns_query_disabled.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_invalid_dns_query_disabled.out
rename to tests/e2e/rest/result/v2/alert_flow_invalid_dns_query_disabled.out
diff --git a/tests/rest/result/v2/alert_flow_risk_dga_01.out b/tests/e2e/rest/result/v2/alert_flow_risk_dga_01.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_risk_dga_01.out
rename to tests/e2e/rest/result/v2/alert_flow_risk_dga_01.out
diff --git a/tests/rest/result/v2/alert_flow_risk_dga_02.out b/tests/e2e/rest/result/v2/alert_flow_risk_dga_02.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_risk_dga_02.out
rename to tests/e2e/rest/result/v2/alert_flow_risk_dga_02.out
diff --git a/tests/rest/result/v2/alert_flow_risk_http_numeric_ip_host.out b/tests/e2e/rest/result/v2/alert_flow_risk_http_numeric_ip_host.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_risk_http_numeric_ip_host.out
rename to tests/e2e/rest/result/v2/alert_flow_risk_http_numeric_ip_host.out
diff --git a/tests/rest/result/v2/alert_flow_risk_missing_tls_sni.out b/tests/e2e/rest/result/v2/alert_flow_risk_missing_tls_sni.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_risk_missing_tls_sni.out
rename to tests/e2e/rest/result/v2/alert_flow_risk_missing_tls_sni.out
diff --git a/tests/rest/result/v2/alert_flow_risk_unsafe_protocol.out b/tests/e2e/rest/result/v2/alert_flow_risk_unsafe_protocol.out
similarity index 100%
rename from tests/rest/result/v2/alert_flow_risk_unsafe_protocol.out
rename to tests/e2e/rest/result/v2/alert_flow_risk_unsafe_protocol.out
diff --git a/tests/rest/result/v2/alert_host_synscan.out b/tests/e2e/rest/result/v2/alert_host_synscan.out
similarity index 100%
rename from tests/rest/result/v2/alert_host_synscan.out
rename to tests/e2e/rest/result/v2/alert_host_synscan.out
diff --git a/tests/rest/result/v2/alert_host_synscan_flows.out b/tests/e2e/rest/result/v2/alert_host_synscan_flows.out
similarity index 100%
rename from tests/rest/result/v2/alert_host_synscan_flows.out
rename to tests/e2e/rest/result/v2/alert_host_synscan_flows.out
diff --git a/tests/rest/result/v2/alert_tls_cert_validity_too_long.out b/tests/e2e/rest/result/v2/alert_tls_cert_validity_too_long.out
similarity index 100%
rename from tests/rest/result/v2/alert_tls_cert_validity_too_long.out
rename to tests/e2e/rest/result/v2/alert_tls_cert_validity_too_long.out
diff --git a/tests/rest/result/v2/alert_tls_certificate_expired.out b/tests/e2e/rest/result/v2/alert_tls_certificate_expired.out
similarity index 100%
rename from tests/rest/result/v2/alert_tls_certificate_expired.out
rename to tests/e2e/rest/result/v2/alert_tls_certificate_expired.out
diff --git a/tests/rest/result/v2/alert_tls_certificate_selfsigned.out b/tests/e2e/rest/result/v2/alert_tls_certificate_selfsigned.out
similarity index 100%
rename from tests/rest/result/v2/alert_tls_certificate_selfsigned.out
rename to tests/e2e/rest/result/v2/alert_tls_certificate_selfsigned.out
diff --git a/tests/rest/result/v2/alert_web_mining.out b/tests/e2e/rest/result/v2/alert_web_mining.out
similarity index 100%
rename from tests/rest/result/v2/alert_web_mining.out
rename to tests/e2e/rest/result/v2/alert_web_mining.out
diff --git a/tests/rest/result/v2/get_alert_data_01.out b/tests/e2e/rest/result/v2/get_alert_data_01.out
similarity index 100%
rename from tests/rest/result/v2/get_alert_data_01.out
rename to tests/e2e/rest/result/v2/get_alert_data_01.out
diff --git a/tests/rest/result/v2/get_alert_data_02.out b/tests/e2e/rest/result/v2/get_alert_data_02.out
similarity index 100%
rename from tests/rest/result/v2/get_alert_data_02.out
rename to tests/e2e/rest/result/v2/get_alert_data_02.out
diff --git a/tests/rest/result/v2/get_alert_severity_counters_01.out b/tests/e2e/rest/result/v2/get_alert_severity_counters_01.out
similarity index 100%
rename from tests/rest/result/v2/get_alert_severity_counters_01.out
rename to tests/e2e/rest/result/v2/get_alert_severity_counters_01.out
diff --git a/tests/rest/result/v2/get_alert_type_consts_01.out b/tests/e2e/rest/result/v2/get_alert_type_consts_01.out
similarity index 100%
rename from tests/rest/result/v2/get_alert_type_consts_01.out
rename to tests/e2e/rest/result/v2/get_alert_type_consts_01.out
diff --git a/tests/rest/result/v2/get_alert_type_counters_01.out b/tests/e2e/rest/result/v2/get_alert_type_counters_01.out
similarity index 100%
rename from tests/rest/result/v2/get_alert_type_counters_01.out
rename to tests/e2e/rest/result/v2/get_alert_type_counters_01.out
diff --git a/tests/rest/result/v2/get_checks_config_01.out b/tests/e2e/rest/result/v2/get_checks_config_01.out
similarity index 100%
rename from tests/rest/result/v2/get_checks_config_01.out
rename to tests/e2e/rest/result/v2/get_checks_config_01.out
diff --git a/tests/rest/result/v2/get_flow_active_01.out b/tests/e2e/rest/result/v2/get_flow_active_01.out
similarity index 100%
rename from tests/rest/result/v2/get_flow_active_01.out
rename to tests/e2e/rest/result/v2/get_flow_active_01.out
diff --git a/tests/rest/result/v2/get_flow_l4_counters_01.out b/tests/e2e/rest/result/v2/get_flow_l4_counters_01.out
similarity index 100%
rename from tests/rest/result/v2/get_flow_l4_counters_01.out
rename to tests/e2e/rest/result/v2/get_flow_l4_counters_01.out
diff --git a/tests/rest/result/v2/get_flow_l7_counters_01.out b/tests/e2e/rest/result/v2/get_flow_l7_counters_01.out
similarity index 100%
rename from tests/rest/result/v2/get_flow_l7_counters_01.out
rename to tests/e2e/rest/result/v2/get_flow_l7_counters_01.out
diff --git a/tests/rest/result/v2/get_host_active_01.out b/tests/e2e/rest/result/v2/get_host_active_01.out
similarity index 100%
rename from tests/rest/result/v2/get_host_active_01.out
rename to tests/e2e/rest/result/v2/get_host_active_01.out
diff --git a/tests/rest/result/v2/get_host_custom_data_01.out b/tests/e2e/rest/result/v2/get_host_custom_data_01.out
similarity index 100%
rename from tests/rest/result/v2/get_host_custom_data_01.out
rename to tests/e2e/rest/result/v2/get_host_custom_data_01.out
diff --git a/tests/rest/result/v2/get_host_custom_data_02.out b/tests/e2e/rest/result/v2/get_host_custom_data_02.out
similarity index 100%
rename from tests/rest/result/v2/get_host_custom_data_02.out
rename to tests/e2e/rest/result/v2/get_host_custom_data_02.out
diff --git a/tests/rest/result/v2/get_host_data_01.out b/tests/e2e/rest/result/v2/get_host_data_01.out
similarity index 100%
rename from tests/rest/result/v2/get_host_data_01.out
rename to tests/e2e/rest/result/v2/get_host_data_01.out
diff --git a/tests/rest/result/v2/get_host_data_02.out b/tests/e2e/rest/result/v2/get_host_data_02.out
similarity index 100%
rename from tests/rest/result/v2/get_host_data_02.out
rename to tests/e2e/rest/result/v2/get_host_data_02.out
diff --git a/tests/rest/result/v2/get_host_data_03.out b/tests/e2e/rest/result/v2/get_host_data_03.out
similarity index 100%
rename from tests/rest/result/v2/get_host_data_03.out
rename to tests/e2e/rest/result/v2/get_host_data_03.out
diff --git a/tests/rest/result/v2/get_host_interfaces_01.out b/tests/e2e/rest/result/v2/get_host_interfaces_01.out
similarity index 100%
rename from tests/rest/result/v2/get_host_interfaces_01.out
rename to tests/e2e/rest/result/v2/get_host_interfaces_01.out
diff --git a/tests/rest/result/v2/get_host_l7_stats_01.out b/tests/e2e/rest/result/v2/get_host_l7_stats_01.out
similarity index 100%
rename from tests/rest/result/v2/get_host_l7_stats_01.out
rename to tests/e2e/rest/result/v2/get_host_l7_stats_01.out
diff --git a/tests/rest/result/v2/get_host_l7_stats_02.out b/tests/e2e/rest/result/v2/get_host_l7_stats_02.out
similarity index 100%
rename from tests/rest/result/v2/get_host_l7_stats_02.out
rename to tests/e2e/rest/result/v2/get_host_l7_stats_02.out
diff --git a/tests/rest/result/v2/get_host_mud_01.out b/tests/e2e/rest/result/v2/get_host_mud_01.out
similarity index 100%
rename from tests/rest/result/v2/get_host_mud_01.out
rename to tests/e2e/rest/result/v2/get_host_mud_01.out
diff --git a/tests/rest/result/v2/get_interface_address_01.out b/tests/e2e/rest/result/v2/get_interface_address_01.out
similarity index 100%
rename from tests/rest/result/v2/get_interface_address_01.out
rename to tests/e2e/rest/result/v2/get_interface_address_01.out
diff --git a/tests/rest/result/v2/get_interface_bcast_domains_01.out b/tests/e2e/rest/result/v2/get_interface_bcast_domains_01.out
similarity index 100%
rename from tests/rest/result/v2/get_interface_bcast_domains_01.out
rename to tests/e2e/rest/result/v2/get_interface_bcast_domains_01.out
diff --git a/tests/rest/result/v2/get_interface_data_01.out b/tests/e2e/rest/result/v2/get_interface_data_01.out
similarity index 100%
rename from tests/rest/result/v2/get_interface_data_01.out
rename to tests/e2e/rest/result/v2/get_interface_data_01.out
diff --git a/tests/rest/result/v2/get_interface_l7_stats_01.out b/tests/e2e/rest/result/v2/get_interface_l7_stats_01.out
similarity index 100%
rename from tests/rest/result/v2/get_interface_l7_stats_01.out
rename to tests/e2e/rest/result/v2/get_interface_l7_stats_01.out
diff --git a/tests/rest/result/v2/get_interface_l7_stats_02.out b/tests/e2e/rest/result/v2/get_interface_l7_stats_02.out
similarity index 100%
rename from tests/rest/result/v2/get_interface_l7_stats_02.out
rename to tests/e2e/rest/result/v2/get_interface_l7_stats_02.out
diff --git a/tests/rest/result/v2/get_interface_l7_stats_03.out b/tests/e2e/rest/result/v2/get_interface_l7_stats_03.out
similarity index 100%
rename from tests/rest/result/v2/get_interface_l7_stats_03.out
rename to tests/e2e/rest/result/v2/get_interface_l7_stats_03.out
diff --git a/tests/rest/result/v2/get_interface_l7_stats_04.out b/tests/e2e/rest/result/v2/get_interface_l7_stats_04.out
similarity index 100%
rename from tests/rest/result/v2/get_interface_l7_stats_04.out
rename to tests/e2e/rest/result/v2/get_interface_l7_stats_04.out
diff --git a/tests/rest/result/v2/get_l4_protocol_consts.out b/tests/e2e/rest/result/v2/get_l4_protocol_consts.out
similarity index 100%
rename from tests/rest/result/v2/get_l4_protocol_consts.out
rename to tests/e2e/rest/result/v2/get_l4_protocol_consts.out
diff --git a/tests/rest/result/v2/get_l7_application_consts_01.out b/tests/e2e/rest/result/v2/get_l7_application_consts_01.out
similarity index 100%
rename from tests/rest/result/v2/get_l7_application_consts_01.out
rename to tests/e2e/rest/result/v2/get_l7_application_consts_01.out
diff --git a/tests/rest/result/v2/get_l7_category_consts_01.out b/tests/e2e/rest/result/v2/get_l7_category_consts_01.out
similarity index 100%
rename from tests/rest/result/v2/get_l7_category_consts_01.out
rename to tests/e2e/rest/result/v2/get_l7_category_consts_01.out
diff --git a/tests/rest/result/v2/get_ntopng_interfaces_01.out b/tests/e2e/rest/result/v2/get_ntopng_interfaces_01.out
similarity index 100%
rename from tests/rest/result/v2/get_ntopng_interfaces_01.out
rename to tests/e2e/rest/result/v2/get_ntopng_interfaces_01.out
diff --git a/tests/rest/result/v2/get_ntopng_users_01.out b/tests/e2e/rest/result/v2/get_ntopng_users_01.out
similarity index 100%
rename from tests/rest/result/v2/get_ntopng_users_01.out
rename to tests/e2e/rest/result/v2/get_ntopng_users_01.out
diff --git a/tests/rest/result/v2/get_pool_config_01.out b/tests/e2e/rest/result/v2/get_pool_config_01.out
similarity index 100%
rename from tests/rest/result/v2/get_pool_config_01.out
rename to tests/e2e/rest/result/v2/get_pool_config_01.out
diff --git a/tests/rest/result/v2/mac_alert_bcast_domains_01.out b/tests/e2e/rest/result/v2/mac_alert_bcast_domains_01.out
similarity index 100%
rename from tests/rest/result/v2/mac_alert_bcast_domains_01.out
rename to tests/e2e/rest/result/v2/mac_alert_bcast_domains_01.out
diff --git a/tests/rest/result/v2/peers_swap_heuristic_01.out b/tests/e2e/rest/result/v2/peers_swap_heuristic_01.out
similarity index 100%
rename from tests/rest/result/v2/peers_swap_heuristic_01.out
rename to tests/e2e/rest/result/v2/peers_swap_heuristic_01.out
diff --git a/tests/rest/result/v2/peers_swap_heuristic_02.out b/tests/e2e/rest/result/v2/peers_swap_heuristic_02.out
similarity index 100%
rename from tests/rest/result/v2/peers_swap_heuristic_02.out
rename to tests/e2e/rest/result/v2/peers_swap_heuristic_02.out
diff --git a/tests/rest/result/v2/peers_swap_heuristic_03.out b/tests/e2e/rest/result/v2/peers_swap_heuristic_03.out
similarity index 100%
rename from tests/rest/result/v2/peers_swap_heuristic_03.out
rename to tests/e2e/rest/result/v2/peers_swap_heuristic_03.out
diff --git a/tests/rest/result/v2/set_host_alias_01.out b/tests/e2e/rest/result/v2/set_host_alias_01.out
similarity index 100%
rename from tests/rest/result/v2/set_host_alias_01.out
rename to tests/e2e/rest/result/v2/set_host_alias_01.out
diff --git a/tests/rest/run.sh b/tests/e2e/rest/run.sh
similarity index 99%
rename from tests/rest/run.sh
rename to tests/e2e/rest/run.sh
index 541e59383caa..265bb6d666a2 100755
--- a/tests/rest/run.sh
+++ b/tests/e2e/rest/run.sh
@@ -12,7 +12,7 @@
 #
 
 TESTS_PATH="${PWD}"
-NTOPNG_ROOT="../.."
+NTOPNG_ROOT="../../.."
 NTOPNG_BIN="./ntopng"
 
 NTOPNG_TEST_DATADIR="${TESTS_PATH}/data"
diff --git a/tests/rest/tests/v1/alert_dns_data_exfiltration_01.yaml b/tests/e2e/rest/tests/v1/alert_dns_data_exfiltration_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_dns_data_exfiltration_01.yaml
rename to tests/e2e/rest/tests/v1/alert_dns_data_exfiltration_01.yaml
diff --git a/tests/rest/tests/v1/alert_dns_data_exfiltration_02.yaml b/tests/e2e/rest/tests/v1/alert_dns_data_exfiltration_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_dns_data_exfiltration_02.yaml
rename to tests/e2e/rest/tests/v1/alert_dns_data_exfiltration_02.yaml
diff --git a/tests/rest/tests/v1/alert_flow_exclusion_lists.yaml b/tests/e2e/rest/tests/v1/alert_flow_exclusion_lists.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_exclusion_lists.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_exclusion_lists.yaml
diff --git a/tests/rest/tests/v1/alert_flow_invalid_dns_query_02.yaml b/tests/e2e/rest/tests/v1/alert_flow_invalid_dns_query_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_invalid_dns_query_02.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_invalid_dns_query_02.yaml
diff --git a/tests/rest/tests/v1/alert_flow_invalid_dns_query_disabled.yaml b/tests/e2e/rest/tests/v1/alert_flow_invalid_dns_query_disabled.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_invalid_dns_query_disabled.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_invalid_dns_query_disabled.yaml
diff --git a/tests/rest/tests/v1/alert_flow_risk_dga_01.yaml b/tests/e2e/rest/tests/v1/alert_flow_risk_dga_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_risk_dga_01.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_risk_dga_01.yaml
diff --git a/tests/rest/tests/v1/alert_flow_risk_dga_02.yaml b/tests/e2e/rest/tests/v1/alert_flow_risk_dga_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_risk_dga_02.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_risk_dga_02.yaml
diff --git a/tests/rest/tests/v1/alert_flow_risk_http_numeric_ip_host.yaml b/tests/e2e/rest/tests/v1/alert_flow_risk_http_numeric_ip_host.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_risk_http_numeric_ip_host.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_risk_http_numeric_ip_host.yaml
diff --git a/tests/rest/tests/v1/alert_flow_risk_missing_tls_sni.yaml b/tests/e2e/rest/tests/v1/alert_flow_risk_missing_tls_sni.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_risk_missing_tls_sni.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_risk_missing_tls_sni.yaml
diff --git a/tests/rest/tests/v1/alert_flow_risk_unsafe_protocol.yaml b/tests/e2e/rest/tests/v1/alert_flow_risk_unsafe_protocol.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_flow_risk_unsafe_protocol.yaml
rename to tests/e2e/rest/tests/v1/alert_flow_risk_unsafe_protocol.yaml
diff --git a/tests/rest/tests/v1/alert_tls_certificate_expired.yaml b/tests/e2e/rest/tests/v1/alert_tls_certificate_expired.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_tls_certificate_expired.yaml
rename to tests/e2e/rest/tests/v1/alert_tls_certificate_expired.yaml
diff --git a/tests/rest/tests/v1/alert_tls_certificate_selfsigned.yaml b/tests/e2e/rest/tests/v1/alert_tls_certificate_selfsigned.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_tls_certificate_selfsigned.yaml
rename to tests/e2e/rest/tests/v1/alert_tls_certificate_selfsigned.yaml
diff --git a/tests/rest/tests/v1/alert_web_mining.yaml b/tests/e2e/rest/tests/v1/alert_web_mining.yaml
similarity index 100%
rename from tests/rest/tests/v1/alert_web_mining.yaml
rename to tests/e2e/rest/tests/v1/alert_web_mining.yaml
diff --git a/tests/rest/tests/v1/get_alert_data_01.yaml b/tests/e2e/rest/tests/v1/get_alert_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_alert_data_01.yaml
rename to tests/e2e/rest/tests/v1/get_alert_data_01.yaml
diff --git a/tests/rest/tests/v1/get_alert_data_02.yaml b/tests/e2e/rest/tests/v1/get_alert_data_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_alert_data_02.yaml
rename to tests/e2e/rest/tests/v1/get_alert_data_02.yaml
diff --git a/tests/rest/tests/v1/get_alert_type_consts_01.yaml b/tests/e2e/rest/tests/v1/get_alert_type_consts_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_alert_type_consts_01.yaml
rename to tests/e2e/rest/tests/v1/get_alert_type_consts_01.yaml
diff --git a/tests/rest/tests/v1/get_checks_config_01.yaml b/tests/e2e/rest/tests/v1/get_checks_config_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_checks_config_01.yaml
rename to tests/e2e/rest/tests/v1/get_checks_config_01.yaml
diff --git a/tests/rest/tests/v1/get_flow_active_01.yaml b/tests/e2e/rest/tests/v1/get_flow_active_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_flow_active_01.yaml
rename to tests/e2e/rest/tests/v1/get_flow_active_01.yaml
diff --git a/tests/rest/tests/v1/get_flow_l4_counters_01.yaml b/tests/e2e/rest/tests/v1/get_flow_l4_counters_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_flow_l4_counters_01.yaml
rename to tests/e2e/rest/tests/v1/get_flow_l4_counters_01.yaml
diff --git a/tests/rest/tests/v1/get_flow_l7_counters_01.yaml b/tests/e2e/rest/tests/v1/get_flow_l7_counters_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_flow_l7_counters_01.yaml
rename to tests/e2e/rest/tests/v1/get_flow_l7_counters_01.yaml
diff --git a/tests/rest/tests/v1/get_host_active_01.yaml b/tests/e2e/rest/tests/v1/get_host_active_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_active_01.yaml
rename to tests/e2e/rest/tests/v1/get_host_active_01.yaml
diff --git a/tests/rest/tests/v1/get_host_custom_data_01.yaml b/tests/e2e/rest/tests/v1/get_host_custom_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_custom_data_01.yaml
rename to tests/e2e/rest/tests/v1/get_host_custom_data_01.yaml
diff --git a/tests/rest/tests/v1/get_host_custom_data_02.yaml b/tests/e2e/rest/tests/v1/get_host_custom_data_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_custom_data_02.yaml
rename to tests/e2e/rest/tests/v1/get_host_custom_data_02.yaml
diff --git a/tests/rest/tests/v1/get_host_data_01.yaml b/tests/e2e/rest/tests/v1/get_host_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_data_01.yaml
rename to tests/e2e/rest/tests/v1/get_host_data_01.yaml
diff --git a/tests/rest/tests/v1/get_host_data_02.yaml b/tests/e2e/rest/tests/v1/get_host_data_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_data_02.yaml
rename to tests/e2e/rest/tests/v1/get_host_data_02.yaml
diff --git a/tests/rest/tests/v1/get_host_data_03.yaml b/tests/e2e/rest/tests/v1/get_host_data_03.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_data_03.yaml
rename to tests/e2e/rest/tests/v1/get_host_data_03.yaml
diff --git a/tests/rest/tests/v1/get_host_interfaces_01.yaml b/tests/e2e/rest/tests/v1/get_host_interfaces_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_interfaces_01.yaml
rename to tests/e2e/rest/tests/v1/get_host_interfaces_01.yaml
diff --git a/tests/rest/tests/v1/get_host_l7_stats_01.yaml b/tests/e2e/rest/tests/v1/get_host_l7_stats_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_l7_stats_01.yaml
rename to tests/e2e/rest/tests/v1/get_host_l7_stats_01.yaml
diff --git a/tests/rest/tests/v1/get_host_l7_stats_02.yaml b/tests/e2e/rest/tests/v1/get_host_l7_stats_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_l7_stats_02.yaml
rename to tests/e2e/rest/tests/v1/get_host_l7_stats_02.yaml
diff --git a/tests/rest/tests/v1/get_host_mud_01.yaml b/tests/e2e/rest/tests/v1/get_host_mud_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_host_mud_01.yaml
rename to tests/e2e/rest/tests/v1/get_host_mud_01.yaml
diff --git a/tests/rest/tests/v1/get_interface_address_01.yaml b/tests/e2e/rest/tests/v1/get_interface_address_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_interface_address_01.yaml
rename to tests/e2e/rest/tests/v1/get_interface_address_01.yaml
diff --git a/tests/rest/tests/v1/get_interface_bcast_domains_01.yaml b/tests/e2e/rest/tests/v1/get_interface_bcast_domains_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_interface_bcast_domains_01.yaml
rename to tests/e2e/rest/tests/v1/get_interface_bcast_domains_01.yaml
diff --git a/tests/rest/tests/v1/get_interface_data_01.yaml b/tests/e2e/rest/tests/v1/get_interface_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_interface_data_01.yaml
rename to tests/e2e/rest/tests/v1/get_interface_data_01.yaml
diff --git a/tests/rest/tests/v1/get_interface_l7_stats_01.yaml b/tests/e2e/rest/tests/v1/get_interface_l7_stats_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_interface_l7_stats_01.yaml
rename to tests/e2e/rest/tests/v1/get_interface_l7_stats_01.yaml
diff --git a/tests/rest/tests/v1/get_interface_l7_stats_02.yaml b/tests/e2e/rest/tests/v1/get_interface_l7_stats_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_interface_l7_stats_02.yaml
rename to tests/e2e/rest/tests/v1/get_interface_l7_stats_02.yaml
diff --git a/tests/rest/tests/v1/get_interface_l7_stats_03.yaml b/tests/e2e/rest/tests/v1/get_interface_l7_stats_03.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_interface_l7_stats_03.yaml
rename to tests/e2e/rest/tests/v1/get_interface_l7_stats_03.yaml
diff --git a/tests/rest/tests/v1/get_interface_l7_stats_04.yaml b/tests/e2e/rest/tests/v1/get_interface_l7_stats_04.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_interface_l7_stats_04.yaml
rename to tests/e2e/rest/tests/v1/get_interface_l7_stats_04.yaml
diff --git a/tests/rest/tests/v1/get_l4_protocol_consts.yaml b/tests/e2e/rest/tests/v1/get_l4_protocol_consts.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_l4_protocol_consts.yaml
rename to tests/e2e/rest/tests/v1/get_l4_protocol_consts.yaml
diff --git a/tests/rest/tests/v1/get_l7_application_consts_01.yaml b/tests/e2e/rest/tests/v1/get_l7_application_consts_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_l7_application_consts_01.yaml
rename to tests/e2e/rest/tests/v1/get_l7_application_consts_01.yaml
diff --git a/tests/rest/tests/v1/get_l7_category_consts_01.yaml b/tests/e2e/rest/tests/v1/get_l7_category_consts_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_l7_category_consts_01.yaml
rename to tests/e2e/rest/tests/v1/get_l7_category_consts_01.yaml
diff --git a/tests/rest/tests/v1/get_ntopng_interfaces_01.yaml b/tests/e2e/rest/tests/v1/get_ntopng_interfaces_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_ntopng_interfaces_01.yaml
rename to tests/e2e/rest/tests/v1/get_ntopng_interfaces_01.yaml
diff --git a/tests/rest/tests/v1/get_ntopng_users_01.yaml b/tests/e2e/rest/tests/v1/get_ntopng_users_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_ntopng_users_01.yaml
rename to tests/e2e/rest/tests/v1/get_ntopng_users_01.yaml
diff --git a/tests/rest/tests/v1/get_pool_config_01.yaml b/tests/e2e/rest/tests/v1/get_pool_config_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/get_pool_config_01.yaml
rename to tests/e2e/rest/tests/v1/get_pool_config_01.yaml
diff --git a/tests/rest/tests/v1/mac_alert_bcast_domains_01.yaml b/tests/e2e/rest/tests/v1/mac_alert_bcast_domains_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/mac_alert_bcast_domains_01.yaml
rename to tests/e2e/rest/tests/v1/mac_alert_bcast_domains_01.yaml
diff --git a/tests/rest/tests/v1/peers_swap_heuristic_01.yaml b/tests/e2e/rest/tests/v1/peers_swap_heuristic_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/peers_swap_heuristic_01.yaml
rename to tests/e2e/rest/tests/v1/peers_swap_heuristic_01.yaml
diff --git a/tests/rest/tests/v1/peers_swap_heuristic_02.yaml b/tests/e2e/rest/tests/v1/peers_swap_heuristic_02.yaml
similarity index 100%
rename from tests/rest/tests/v1/peers_swap_heuristic_02.yaml
rename to tests/e2e/rest/tests/v1/peers_swap_heuristic_02.yaml
diff --git a/tests/rest/tests/v1/set_host_alias_01.yaml b/tests/e2e/rest/tests/v1/set_host_alias_01.yaml
similarity index 100%
rename from tests/rest/tests/v1/set_host_alias_01.yaml
rename to tests/e2e/rest/tests/v1/set_host_alias_01.yaml
diff --git a/tests/rest/tests/v2/alert_dns_data_exfiltration_01.yaml b/tests/e2e/rest/tests/v2/alert_dns_data_exfiltration_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_dns_data_exfiltration_01.yaml
rename to tests/e2e/rest/tests/v2/alert_dns_data_exfiltration_01.yaml
diff --git a/tests/rest/tests/v2/alert_dns_data_exfiltration_02.yaml b/tests/e2e/rest/tests/v2/alert_dns_data_exfiltration_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_dns_data_exfiltration_02.yaml
rename to tests/e2e/rest/tests/v2/alert_dns_data_exfiltration_02.yaml
diff --git a/tests/rest/tests/v2/alert_flow_exclusion_lists.yaml b/tests/e2e/rest/tests/v2/alert_flow_exclusion_lists.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_exclusion_lists.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_exclusion_lists.yaml
diff --git a/tests/rest/tests/v2/alert_flow_invalid_dns_query_02.yaml b/tests/e2e/rest/tests/v2/alert_flow_invalid_dns_query_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_invalid_dns_query_02.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_invalid_dns_query_02.yaml
diff --git a/tests/rest/tests/v2/alert_flow_invalid_dns_query_disabled.yaml b/tests/e2e/rest/tests/v2/alert_flow_invalid_dns_query_disabled.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_invalid_dns_query_disabled.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_invalid_dns_query_disabled.yaml
diff --git a/tests/rest/tests/v2/alert_flow_risk_dga_01.yaml b/tests/e2e/rest/tests/v2/alert_flow_risk_dga_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_risk_dga_01.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_risk_dga_01.yaml
diff --git a/tests/rest/tests/v2/alert_flow_risk_dga_02.yaml b/tests/e2e/rest/tests/v2/alert_flow_risk_dga_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_risk_dga_02.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_risk_dga_02.yaml
diff --git a/tests/rest/tests/v2/alert_flow_risk_http_numeric_ip_host.yaml b/tests/e2e/rest/tests/v2/alert_flow_risk_http_numeric_ip_host.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_risk_http_numeric_ip_host.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_risk_http_numeric_ip_host.yaml
diff --git a/tests/rest/tests/v2/alert_flow_risk_missing_tls_sni.yaml b/tests/e2e/rest/tests/v2/alert_flow_risk_missing_tls_sni.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_risk_missing_tls_sni.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_risk_missing_tls_sni.yaml
diff --git a/tests/rest/tests/v2/alert_flow_risk_unsafe_protocol.yaml b/tests/e2e/rest/tests/v2/alert_flow_risk_unsafe_protocol.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_flow_risk_unsafe_protocol.yaml
rename to tests/e2e/rest/tests/v2/alert_flow_risk_unsafe_protocol.yaml
diff --git a/tests/rest/tests/v2/alert_host_synscan.yaml b/tests/e2e/rest/tests/v2/alert_host_synscan.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_host_synscan.yaml
rename to tests/e2e/rest/tests/v2/alert_host_synscan.yaml
diff --git a/tests/rest/tests/v2/alert_host_synscan_flows.yaml b/tests/e2e/rest/tests/v2/alert_host_synscan_flows.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_host_synscan_flows.yaml
rename to tests/e2e/rest/tests/v2/alert_host_synscan_flows.yaml
diff --git a/tests/rest/tests/v2/alert_tls_cert_validity_too_long.yaml b/tests/e2e/rest/tests/v2/alert_tls_cert_validity_too_long.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_tls_cert_validity_too_long.yaml
rename to tests/e2e/rest/tests/v2/alert_tls_cert_validity_too_long.yaml
diff --git a/tests/rest/tests/v2/alert_tls_certificate_expired.yaml b/tests/e2e/rest/tests/v2/alert_tls_certificate_expired.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_tls_certificate_expired.yaml
rename to tests/e2e/rest/tests/v2/alert_tls_certificate_expired.yaml
diff --git a/tests/rest/tests/v2/alert_tls_certificate_selfsigned.yaml b/tests/e2e/rest/tests/v2/alert_tls_certificate_selfsigned.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_tls_certificate_selfsigned.yaml
rename to tests/e2e/rest/tests/v2/alert_tls_certificate_selfsigned.yaml
diff --git a/tests/rest/tests/v2/alert_web_mining.yaml b/tests/e2e/rest/tests/v2/alert_web_mining.yaml
similarity index 100%
rename from tests/rest/tests/v2/alert_web_mining.yaml
rename to tests/e2e/rest/tests/v2/alert_web_mining.yaml
diff --git a/tests/rest/tests/v2/get_alert_data_01.yaml b/tests/e2e/rest/tests/v2/get_alert_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_alert_data_01.yaml
rename to tests/e2e/rest/tests/v2/get_alert_data_01.yaml
diff --git a/tests/rest/tests/v2/get_alert_data_02.yaml b/tests/e2e/rest/tests/v2/get_alert_data_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_alert_data_02.yaml
rename to tests/e2e/rest/tests/v2/get_alert_data_02.yaml
diff --git a/tests/rest/tests/v2/get_alert_severity_counters_01.yaml b/tests/e2e/rest/tests/v2/get_alert_severity_counters_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_alert_severity_counters_01.yaml
rename to tests/e2e/rest/tests/v2/get_alert_severity_counters_01.yaml
diff --git a/tests/rest/tests/v2/get_alert_type_consts_01.yaml b/tests/e2e/rest/tests/v2/get_alert_type_consts_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_alert_type_consts_01.yaml
rename to tests/e2e/rest/tests/v2/get_alert_type_consts_01.yaml
diff --git a/tests/rest/tests/v2/get_alert_type_counters_01.yaml b/tests/e2e/rest/tests/v2/get_alert_type_counters_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_alert_type_counters_01.yaml
rename to tests/e2e/rest/tests/v2/get_alert_type_counters_01.yaml
diff --git a/tests/rest/tests/v2/get_checks_config_01.yaml b/tests/e2e/rest/tests/v2/get_checks_config_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_checks_config_01.yaml
rename to tests/e2e/rest/tests/v2/get_checks_config_01.yaml
diff --git a/tests/rest/tests/v2/get_flow_active_01.yaml b/tests/e2e/rest/tests/v2/get_flow_active_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_flow_active_01.yaml
rename to tests/e2e/rest/tests/v2/get_flow_active_01.yaml
diff --git a/tests/rest/tests/v2/get_flow_l4_counters_01.yaml b/tests/e2e/rest/tests/v2/get_flow_l4_counters_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_flow_l4_counters_01.yaml
rename to tests/e2e/rest/tests/v2/get_flow_l4_counters_01.yaml
diff --git a/tests/rest/tests/v2/get_flow_l7_counters_01.yaml b/tests/e2e/rest/tests/v2/get_flow_l7_counters_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_flow_l7_counters_01.yaml
rename to tests/e2e/rest/tests/v2/get_flow_l7_counters_01.yaml
diff --git a/tests/rest/tests/v2/get_host_active_01.yaml b/tests/e2e/rest/tests/v2/get_host_active_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_active_01.yaml
rename to tests/e2e/rest/tests/v2/get_host_active_01.yaml
diff --git a/tests/rest/tests/v2/get_host_custom_data_01.yaml b/tests/e2e/rest/tests/v2/get_host_custom_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_custom_data_01.yaml
rename to tests/e2e/rest/tests/v2/get_host_custom_data_01.yaml
diff --git a/tests/rest/tests/v2/get_host_custom_data_02.yaml b/tests/e2e/rest/tests/v2/get_host_custom_data_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_custom_data_02.yaml
rename to tests/e2e/rest/tests/v2/get_host_custom_data_02.yaml
diff --git a/tests/rest/tests/v2/get_host_data_01.yaml b/tests/e2e/rest/tests/v2/get_host_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_data_01.yaml
rename to tests/e2e/rest/tests/v2/get_host_data_01.yaml
diff --git a/tests/rest/tests/v2/get_host_data_02.yaml b/tests/e2e/rest/tests/v2/get_host_data_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_data_02.yaml
rename to tests/e2e/rest/tests/v2/get_host_data_02.yaml
diff --git a/tests/rest/tests/v2/get_host_data_03.yaml b/tests/e2e/rest/tests/v2/get_host_data_03.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_data_03.yaml
rename to tests/e2e/rest/tests/v2/get_host_data_03.yaml
diff --git a/tests/rest/tests/v2/get_host_interfaces_01.yaml b/tests/e2e/rest/tests/v2/get_host_interfaces_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_interfaces_01.yaml
rename to tests/e2e/rest/tests/v2/get_host_interfaces_01.yaml
diff --git a/tests/rest/tests/v2/get_host_l7_stats_01.yaml b/tests/e2e/rest/tests/v2/get_host_l7_stats_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_l7_stats_01.yaml
rename to tests/e2e/rest/tests/v2/get_host_l7_stats_01.yaml
diff --git a/tests/rest/tests/v2/get_host_l7_stats_02.yaml b/tests/e2e/rest/tests/v2/get_host_l7_stats_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_l7_stats_02.yaml
rename to tests/e2e/rest/tests/v2/get_host_l7_stats_02.yaml
diff --git a/tests/rest/tests/v2/get_host_mud_01.yaml b/tests/e2e/rest/tests/v2/get_host_mud_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_host_mud_01.yaml
rename to tests/e2e/rest/tests/v2/get_host_mud_01.yaml
diff --git a/tests/rest/tests/v2/get_interface_address_01.yaml b/tests/e2e/rest/tests/v2/get_interface_address_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_interface_address_01.yaml
rename to tests/e2e/rest/tests/v2/get_interface_address_01.yaml
diff --git a/tests/rest/tests/v2/get_interface_bcast_domains_01.yaml b/tests/e2e/rest/tests/v2/get_interface_bcast_domains_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_interface_bcast_domains_01.yaml
rename to tests/e2e/rest/tests/v2/get_interface_bcast_domains_01.yaml
diff --git a/tests/rest/tests/v2/get_interface_data_01.yaml b/tests/e2e/rest/tests/v2/get_interface_data_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_interface_data_01.yaml
rename to tests/e2e/rest/tests/v2/get_interface_data_01.yaml
diff --git a/tests/rest/tests/v2/get_interface_l7_stats_01.yaml b/tests/e2e/rest/tests/v2/get_interface_l7_stats_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_interface_l7_stats_01.yaml
rename to tests/e2e/rest/tests/v2/get_interface_l7_stats_01.yaml
diff --git a/tests/rest/tests/v2/get_interface_l7_stats_02.yaml b/tests/e2e/rest/tests/v2/get_interface_l7_stats_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_interface_l7_stats_02.yaml
rename to tests/e2e/rest/tests/v2/get_interface_l7_stats_02.yaml
diff --git a/tests/rest/tests/v2/get_interface_l7_stats_03.yaml b/tests/e2e/rest/tests/v2/get_interface_l7_stats_03.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_interface_l7_stats_03.yaml
rename to tests/e2e/rest/tests/v2/get_interface_l7_stats_03.yaml
diff --git a/tests/rest/tests/v2/get_interface_l7_stats_04.yaml b/tests/e2e/rest/tests/v2/get_interface_l7_stats_04.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_interface_l7_stats_04.yaml
rename to tests/e2e/rest/tests/v2/get_interface_l7_stats_04.yaml
diff --git a/tests/rest/tests/v2/get_l4_protocol_consts.yaml b/tests/e2e/rest/tests/v2/get_l4_protocol_consts.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_l4_protocol_consts.yaml
rename to tests/e2e/rest/tests/v2/get_l4_protocol_consts.yaml
diff --git a/tests/rest/tests/v2/get_l7_application_consts_01.yaml b/tests/e2e/rest/tests/v2/get_l7_application_consts_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_l7_application_consts_01.yaml
rename to tests/e2e/rest/tests/v2/get_l7_application_consts_01.yaml
diff --git a/tests/rest/tests/v2/get_l7_category_consts_01.yaml b/tests/e2e/rest/tests/v2/get_l7_category_consts_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_l7_category_consts_01.yaml
rename to tests/e2e/rest/tests/v2/get_l7_category_consts_01.yaml
diff --git a/tests/rest/tests/v2/get_ntopng_interfaces_01.yaml b/tests/e2e/rest/tests/v2/get_ntopng_interfaces_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_ntopng_interfaces_01.yaml
rename to tests/e2e/rest/tests/v2/get_ntopng_interfaces_01.yaml
diff --git a/tests/rest/tests/v2/get_ntopng_users_01.yaml b/tests/e2e/rest/tests/v2/get_ntopng_users_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_ntopng_users_01.yaml
rename to tests/e2e/rest/tests/v2/get_ntopng_users_01.yaml
diff --git a/tests/rest/tests/v2/get_pool_config_01.yaml b/tests/e2e/rest/tests/v2/get_pool_config_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/get_pool_config_01.yaml
rename to tests/e2e/rest/tests/v2/get_pool_config_01.yaml
diff --git a/tests/rest/tests/v2/mac_alert_bcast_domains_01.yaml b/tests/e2e/rest/tests/v2/mac_alert_bcast_domains_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/mac_alert_bcast_domains_01.yaml
rename to tests/e2e/rest/tests/v2/mac_alert_bcast_domains_01.yaml
diff --git a/tests/rest/tests/v2/peers_swap_heuristic_01.yaml b/tests/e2e/rest/tests/v2/peers_swap_heuristic_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/peers_swap_heuristic_01.yaml
rename to tests/e2e/rest/tests/v2/peers_swap_heuristic_01.yaml
diff --git a/tests/rest/tests/v2/peers_swap_heuristic_02.yaml b/tests/e2e/rest/tests/v2/peers_swap_heuristic_02.yaml
similarity index 100%
rename from tests/rest/tests/v2/peers_swap_heuristic_02.yaml
rename to tests/e2e/rest/tests/v2/peers_swap_heuristic_02.yaml
diff --git a/tests/rest/tests/v2/peers_swap_heuristic_03.yaml b/tests/e2e/rest/tests/v2/peers_swap_heuristic_03.yaml
similarity index 100%
rename from tests/rest/tests/v2/peers_swap_heuristic_03.yaml
rename to tests/e2e/rest/tests/v2/peers_swap_heuristic_03.yaml
diff --git a/tests/rest/tests/v2/set_host_alias_01.yaml b/tests/e2e/rest/tests/v2/set_host_alias_01.yaml
similarity index 100%
rename from tests/rest/tests/v2/set_host_alias_01.yaml
rename to tests/e2e/rest/tests/v2/set_host_alias_01.yaml
diff --git a/tests/syslog/README.test b/tests/e2e/syslog/README.test
similarity index 100%
rename from tests/syslog/README.test
rename to tests/e2e/syslog/README.test
diff --git a/tests/syslog/ngi_trust.log b/tests/e2e/syslog/ngi_trust.log
similarity index 100%
rename from tests/syslog/ngi_trust.log
rename to tests/e2e/syslog/ngi_trust.log
diff --git a/tests/syslog/suricata.log b/tests/e2e/syslog/suricata.log
similarity index 100%
rename from tests/syslog/suricata.log
rename to tests/e2e/syslog/suricata.log
diff --git a/tests/include/AddressResolutionTest.h b/tests/include/AddressResolutionTest.h
new file mode 100644
index 000000000000..cd03e0010302
--- /dev/null
+++ b/tests/include/AddressResolutionTest.h
@@ -0,0 +1,39 @@
+/*
+ *
+ * (C) 2013-22 - ntop.org
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef _TEST_ADDRESS_RESOLUTION_H_
+#define _TEST_ADDRESS_RESOLUTION_H_
+#include "NtopTestingBase.h"
+#include "gtest/gtest.h"
+// TODO remove because of linking
+AfterShutdownAction afterShutdownAction = after_shutdown_nop;
+
+namespace ntoptesting {
+
+class AddressResolutionTest : public ::testing::Test {
+  protected:
+  AddressResolution resolver_;
+  static constexpr const char* address_ =  "media-router-fp73.prod.media.vip.ne1.yahoo.com";
+  NtopTestingBase ntop_;
+};
+}
+
+#endif
\ No newline at end of file
diff --git a/tests/include/NtopTestingBase.h b/tests/include/NtopTestingBase.h
new file mode 100644
index 000000000000..a18c284478d6
--- /dev/null
+++ b/tests/include/NtopTestingBase.h
@@ -0,0 +1,15 @@
+#ifndef _TEST_NTOP_TESTING_BASE_H_
+#define _TEST_NTOP_TESTING_BASE_H_
+#include "ntop_includes.h"
+// rule of 0
+class NtopTestingBase {
+    public:
+    NtopTestingBase();
+    virtual ~NtopTestingBase();
+    Prefs* GetPreferences() const;
+    private:
+    void InitializePreferences();
+    Ntop* ntop_;
+    Prefs* pref_;
+};
+#endif
diff --git a/tests/rest/pcap/bad-dns-traffic.pcap b/tests/rest/pcap/bad-dns-traffic.pcap
deleted file mode 100644
index bf698bef517f..000000000000
Binary files a/tests/rest/pcap/bad-dns-traffic.pcap and /dev/null differ
diff --git a/tests/rest/pcap/bcast_domains.pcap b/tests/rest/pcap/bcast_domains.pcap
deleted file mode 100644
index 25fc9099b52e..000000000000
Binary files a/tests/rest/pcap/bcast_domains.pcap and /dev/null differ
diff --git a/tests/rest/pcap/bitcoin.pcap b/tests/rest/pcap/bitcoin.pcap
deleted file mode 100644
index ce62ed779251..000000000000
Binary files a/tests/rest/pcap/bitcoin.pcap and /dev/null differ
diff --git a/tests/rest/pcap/dns_contacts.pcap b/tests/rest/pcap/dns_contacts.pcap
deleted file mode 100644
index bb93d69875d0..000000000000
Binary files a/tests/rest/pcap/dns_contacts.pcap and /dev/null differ
diff --git a/tests/rest/pcap/invalid_dns_query.pcap b/tests/rest/pcap/invalid_dns_query.pcap
deleted file mode 100644
index 56c2c0eb4647..000000000000
Binary files a/tests/rest/pcap/invalid_dns_query.pcap and /dev/null differ
diff --git a/tests/rest/pcap/malformed_dns.pcap b/tests/rest/pcap/malformed_dns.pcap
deleted file mode 100644
index 9f930bd94804..000000000000
Binary files a/tests/rest/pcap/malformed_dns.pcap and /dev/null differ
diff --git a/tests/rest/pcap/malware.pcap b/tests/rest/pcap/malware.pcap
deleted file mode 100644
index 7480b7014aab..000000000000
Binary files a/tests/rest/pcap/malware.pcap and /dev/null differ
diff --git a/tests/rest/pcap/ntp_contacts.pcap b/tests/rest/pcap/ntp_contacts.pcap
deleted file mode 100644
index 84602447caa9..000000000000
Binary files a/tests/rest/pcap/ntp_contacts.pcap and /dev/null differ
diff --git a/tests/rest/pcap/selfsigned.pcap b/tests/rest/pcap/selfsigned.pcap
deleted file mode 100644
index 702f650e4fd6..000000000000
Binary files a/tests/rest/pcap/selfsigned.pcap and /dev/null differ
diff --git a/tests/rest/pcap/ssh_notwh_rw.pcap b/tests/rest/pcap/ssh_notwh_rw.pcap
deleted file mode 100644
index 7d0eea10a1e6..000000000000
Binary files a/tests/rest/pcap/ssh_notwh_rw.pcap and /dev/null differ
diff --git a/tests/rest/pcap/ssh_notwh_rw_02.pcap b/tests/rest/pcap/ssh_notwh_rw_02.pcap
deleted file mode 100644
index 7fa0368ee97b..000000000000
Binary files a/tests/rest/pcap/ssh_notwh_rw_02.pcap and /dev/null differ
diff --git a/tests/rest/pcap/synscan.pcap b/tests/rest/pcap/synscan.pcap
deleted file mode 100644
index 30b4d0f29689..000000000000
Binary files a/tests/rest/pcap/synscan.pcap and /dev/null differ
diff --git a/tests/rest/pcap/tcp_probing.pcap b/tests/rest/pcap/tcp_probing.pcap
deleted file mode 100644
index 3c2499b136c9..000000000000
Binary files a/tests/rest/pcap/tcp_probing.pcap and /dev/null differ
diff --git a/tests/rest/pcap/test_01.pcap b/tests/rest/pcap/test_01.pcap
deleted file mode 100644
index 13642d7c3128..000000000000
Binary files a/tests/rest/pcap/test_01.pcap and /dev/null differ
diff --git a/tests/rest/pcap/test_02.pcap b/tests/rest/pcap/test_02.pcap
deleted file mode 100644
index 13642d7c3128..000000000000
Binary files a/tests/rest/pcap/test_02.pcap and /dev/null differ
diff --git a/tests/rest/pcap/tls_cert_expired.pcap b/tests/rest/pcap/tls_cert_expired.pcap
deleted file mode 100644
index 3d37702347c3..000000000000
Binary files a/tests/rest/pcap/tls_cert_expired.pcap and /dev/null differ
diff --git a/tests/rest/pcap/tls_cipher_suites.pcap b/tests/rest/pcap/tls_cipher_suites.pcap
deleted file mode 100644
index 86fc74712d45..000000000000
Binary files a/tests/rest/pcap/tls_cipher_suites.pcap and /dev/null differ
diff --git a/tests/rest/pcap/tls_nosyn.pcap b/tests/rest/pcap/tls_nosyn.pcap
deleted file mode 100644
index 41816b7ae997..000000000000
Binary files a/tests/rest/pcap/tls_nosyn.pcap and /dev/null differ
diff --git a/tests/rest/pcap/tor.pcap b/tests/rest/pcap/tor.pcap
deleted file mode 100644
index 48c125f8c85a..000000000000
Binary files a/tests/rest/pcap/tor.pcap and /dev/null differ
diff --git a/tests/rest/pcap/unknown_issuer.pcap b/tests/rest/pcap/unknown_issuer.pcap
deleted file mode 100644
index 59f59e8cb34e..000000000000
Binary files a/tests/rest/pcap/unknown_issuer.pcap and /dev/null differ
diff --git a/tests/rest/pcap/web_attack_01.pcap b/tests/rest/pcap/web_attack_01.pcap
deleted file mode 100644
index 8fc8a89e8a1c..000000000000
Binary files a/tests/rest/pcap/web_attack_01.pcap and /dev/null differ
diff --git a/tests/run.sh b/tests/run.sh
index b0f70abb0aa0..b23a87809826 100755
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -2,5 +2,11 @@
 #
 # Run all the available tests
 #
-
-cd rest; ./run.sh
+if [ -x unit_test ]; then
+    echo "Executing unit tests."
+    ./unit_test
+else
+    echo "Skipping unit tests. Please compile them."
+fi
+echo "Executing integration tests."
+cd ./e2e/rest; ./run.sh
diff --git a/tests/src/AddressResolutionTest.cpp b/tests/src/AddressResolutionTest.cpp
new file mode 100644
index 000000000000..0d0547aa6701
--- /dev/null
+++ b/tests/src/AddressResolutionTest.cpp
@@ -0,0 +1,53 @@
+/*
+ *
+ * (C) 2013-22 - ntop.org
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+#include "../include/AddressResolutionTest.h"
+namespace ntoptesting {
+   
+TEST_F(AddressResolutionTest, ShouldNotCrashWhenResolvingNullHostName) {
+    EXPECT_THROW(resolver_.resolveHostName(NULL, NULL, true), std::invalid_argument);
+}
+TEST_F(AddressResolutionTest, ShouldNotCrashWhenResolvingNullHost) {
+    EXPECT_THROW(resolver_.resolveHost(NULL, NULL,0 , true), std::invalid_argument);
+}
+TEST_F(AddressResolutionTest, ShouldResolveHostNameCorrectly) {
+    // A: arrange
+    char resolvedHost[64];
+    // A: act
+    resolver_.resolveHostName("74.6.231.20", resolvedHost, sizeof(resolvedHost));
+    // A: assert
+    EXPECT_EQ( std::string(address_), std::string(resolvedHost));
+} 
+TEST_F(AddressResolutionTest, ShouldResolveHostCorrectly) {
+    // A: arrange
+    char resolvedAddress[32];
+    // A: act
+    resolver_.resolveHost(address_, resolvedAddress, sizeof(resolvedAddress), true);
+    // A: assert
+    EXPECT_EQ(std::string("74.6.231.20"), std::string(resolvedAddress));
+}
+TEST_F(AddressResolutionTest, ShouldDNSResolutionEnabled) {
+    Prefs *pref = ntop_.GetPreferences();
+    EXPECT_TRUE(NULL != pref);
+    EXPECT_TRUE(pref->is_dns_resolution_enabled());
+} 
+}
+
+
diff --git a/tests/src/NtopTestingBase.cpp b/tests/src/NtopTestingBase.cpp
new file mode 100644
index 000000000000..11b17a5f4beb
--- /dev/null
+++ b/tests/src/NtopTestingBase.cpp
@@ -0,0 +1,27 @@
+#include "../include/NtopTestingBase.h"
+
+NtopTestingBase::NtopTestingBase() {
+        const char* appName = "ntopng";
+        ntop_ = new Ntop(appName); 
+        pref_ = new Prefs(ntop_); 
+        InitializePreferences();
+        ntop_->registerPrefs(pref_, false);
+}
+NtopTestingBase::~NtopTestingBase() {
+        delete ntop_;
+}
+
+Prefs* NtopTestingBase::GetPreferences() const {
+    return pref_;
+}
+void NtopTestingBase::InitializePreferences() {
+        const char* appDir = "/tmp";
+        char* dataDirectory = static_cast<char*>(malloc(strlen(appDir)+1));
+        char* scriptDirectory = static_cast<char*>(malloc(strlen(appDir)+1));
+        strcpy(dataDirectory, appDir);
+        dataDirectory[sizeof(dataDirectory)-1]='\0';
+        strcpy(scriptDirectory, appDir);
+        scriptDirectory[sizeof(scriptDirectory)-1]='\0';
+        pref_->set_data_dir(dataDirectory);
+        pref_->set_callback_dir(scriptDirectory);
+}
\ No newline at end of file
diff --git a/tests/gtest.c b/tests/src/gtest.cpp
similarity index 70%
rename from tests/gtest.c
rename to tests/src/gtest.cpp
index 613e3b30f4cf..c638effde2dc 100644
--- a/tests/gtest.c
+++ b/tests/src/gtest.cpp
@@ -1,8 +1,5 @@
 #include "gtest/gtest.h"
-TEST(ExampleTest, ExampleTest)
-{
-    ASSERT_EQ(0, 0);
-}
+
 int main(int argc, char **argv)
 {
     ::testing::InitGoogleTest(&argc, argv);