From 3eddcc8edc4b7c67d53311b4d71b129ebfd7f514 Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Fri, 27 Sep 2019 13:32:53 +0200
Subject: [PATCH] add stream to the file snupper

---
 producer/event_monitor_producer/src/eventmon_config.cpp        | 1 +
 producer/event_monitor_producer/src/eventmon_config.h          | 1 +
 producer/event_monitor_producer/src/main_eventmon.cpp          | 2 +-
 .../event_monitor_producer/unittests/mock_eventmon_config.cpp  | 1 +
 .../event_monitor_producer/unittests/test_eventmon_config.cpp  | 3 +++
 .../bug_fixes/producer_send_after_restart/test.json.in         | 1 +
 tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in      | 1 +
 tests/automatic/full_chain/simple_chain_filegen/test.json.in   | 1 +
 .../full_chain/simple_chain_filegen_batches/test.json.in       | 1 +
 .../full_chain/simple_chain_filegen_multisource/test.json.in   | 1 +
 .../simple_chain_filegen_readdata_cache/test.json.in           | 1 +
 .../full_chain/simple_chain_filegen_readdata_file/test.json.in | 1 +
 tests/automatic/producer/file_monitor_producer/test.json.in    | 1 +
 tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in       | 2 ++
 tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in | 2 ++
 .../tests_via_nomad/asapo-test_filemon_multisource.nomad.in    | 2 ++
 .../asapo-test_filemon_producer_tolocal.nomad.in               | 2 ++
 17 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/producer/event_monitor_producer/src/eventmon_config.cpp b/producer/event_monitor_producer/src/eventmon_config.cpp
index 24882a220..759e36232 100644
--- a/producer/event_monitor_producer/src/eventmon_config.cpp
+++ b/producer/event_monitor_producer/src/eventmon_config.cpp
@@ -39,6 +39,7 @@ Error EventMonConfigFactory::ParseConfigFile(std::string file_name) {
     (err = parser.GetString("AsapoEndpoint", &config.asapo_endpoint)) ||
     (err = parser.GetString("Tag", &config.tag)) ||
     (err = parser.GetString("BeamtimeID", &config.beamtime_id)) ||
+    (err = parser.GetString("Stream", &config.stream)) ||
     (err = parser.GetString("Mode", &config.mode_str)) ||
     (err = parser.GetUInt64("NThreads", &config.nthreads)) ||
     (err = parser.GetString("RootMonitoredFolder", &config.root_monitored_folder)) ||
diff --git a/producer/event_monitor_producer/src/eventmon_config.h b/producer/event_monitor_producer/src/eventmon_config.h
index bbdd82bc2..12ce592a3 100644
--- a/producer/event_monitor_producer/src/eventmon_config.h
+++ b/producer/event_monitor_producer/src/eventmon_config.h
@@ -30,6 +30,7 @@ struct EventMonConfig {
     uint64_t subset_batch_size = 1;
     uint64_t subset_multisource_nsources = 1;
     uint64_t subset_multisource_sourceid = 1;
+    std::string stream;
   private:
     std::string log_level_str;
     std::string mode_str;
diff --git a/producer/event_monitor_producer/src/main_eventmon.cpp b/producer/event_monitor_producer/src/main_eventmon.cpp
index 884ab2977..e277e7b11 100644
--- a/producer/event_monitor_producer/src/main_eventmon.cpp
+++ b/producer/event_monitor_producer/src/main_eventmon.cpp
@@ -39,7 +39,7 @@ std::unique_ptr<Producer> CreateProducer() {
 
     Error err;
     auto producer = Producer::Create(config->asapo_endpoint, (uint8_t) config->nthreads,
-                                     config->mode, asapo::SourceCredentials{config->beamtime_id, "", ""}, &err);
+                                     config->mode, asapo::SourceCredentials{config->beamtime_id, config->stream, ""}, &err);
     if(err) {
         std::cerr << "cannot create producer: " << err << std::endl;
         exit(EXIT_FAILURE);
diff --git a/producer/event_monitor_producer/unittests/mock_eventmon_config.cpp b/producer/event_monitor_producer/unittests/mock_eventmon_config.cpp
index bf3be3139..3a5112aaa 100644
--- a/producer/event_monitor_producer/unittests/mock_eventmon_config.cpp
+++ b/producer/event_monitor_producer/unittests/mock_eventmon_config.cpp
@@ -49,6 +49,7 @@ Error SetFolderMonConfig (const EventMonConfig& config) {
     config_string += "," + std::string("\"NThreads\":") + std::to_string(config.nthreads);
     config_string += "," + std::string("\"LogLevel\":") + "\"" + log_level + "\"";
     config_string += "," + std::string("\"RemoveAfterSend\":") + (config.remove_after_send ? "true" : "false");
+    config_string += "," + std::string("\"Stream\":") + "\"" + config.stream + "\"";
 
     std::string subset_mode;
     switch (config.subset_mode) {
diff --git a/producer/event_monitor_producer/unittests/test_eventmon_config.cpp b/producer/event_monitor_producer/unittests/test_eventmon_config.cpp
index 544f12cbb..630ef13e8 100644
--- a/producer/event_monitor_producer/unittests/test_eventmon_config.cpp
+++ b/producer/event_monitor_producer/unittests/test_eventmon_config.cpp
@@ -64,6 +64,8 @@ TEST_F(ConfigTests, ReadSettingsOK) {
     test_config.remove_after_send = true;
     test_config.subset_mode = SubSetMode::kBatch;
     test_config.subset_batch_size = 9;
+    test_config.stream = "stream";
+
     auto err = asapo::SetFolderMonConfig(test_config);
 
     auto config = asapo::GetEventMonConfig();
@@ -81,6 +83,7 @@ TEST_F(ConfigTests, ReadSettingsOK) {
     ASSERT_THAT(config->remove_after_send, Eq(true));
     ASSERT_THAT(config->subset_mode, Eq(SubSetMode::kBatch));
     ASSERT_THAT(config->subset_batch_size, Eq(9));
+    ASSERT_THAT(config->stream, Eq("stream"));
 
 
 }
diff --git a/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in b/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in
index 995984533..5e1207143 100644
--- a/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in
+++ b/tests/automatic/bug_fixes/producer_send_after_restart/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test1"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
diff --git a/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in b/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in
index 4b7d3fc60..4f4cfcc12 100644
--- a/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in
+++ b/tests/automatic/bug_fixes/receiver_cpu_usage/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test1"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
diff --git a/tests/automatic/full_chain/simple_chain_filegen/test.json.in b/tests/automatic/full_chain/simple_chain_filegen/test.json.in
index 758d184a8..d08b0242e 100644
--- a/tests/automatic/full_chain/simple_chain_filegen/test.json.in
+++ b/tests/automatic/full_chain/simple_chain_filegen/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test1","test2"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
   "Subset": {
    	"Mode":"none"
   }
diff --git a/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in
index b2aaa8673..c53eecd99 100644
--- a/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in
+++ b/tests/automatic/full_chain/simple_chain_filegen_batches/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test1","test2"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":false,
+ "Stream": "",
  "Subset": {
  	"Mode":"batch",
   	"BatchSize":3
diff --git a/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in
index 6318341dd..be12d54a9 100644
--- a/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in
+++ b/tests/automatic/full_chain/simple_chain_filegen_multisource/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test@ID@"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
  	"Mode":"multisource",
   	"SourceId":@ID@,
diff --git a/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in
index b7b1f6760..501bcff83 100644
--- a/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in
+++ b/tests/automatic/full_chain/simple_chain_filegen_readdata_cache/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test1","test2"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
diff --git a/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in b/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in
index b7b1f6760..501bcff83 100644
--- a/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in
+++ b/tests/automatic/full_chain/simple_chain_filegen_readdata_file/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test1","test2"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
diff --git a/tests/automatic/producer/file_monitor_producer/test.json.in b/tests/automatic/producer/file_monitor_producer/test.json.in
index 088681a0d..60405050d 100644
--- a/tests/automatic/producer/file_monitor_producer/test.json.in
+++ b/tests/automatic/producer/file_monitor_producer/test.json.in
@@ -9,6 +9,7 @@
  "MonitoredSubFolders":["test1","test2"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in
index 250a26803..480df303f 100644
--- a/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in
+++ b/tests/manual/tests_via_nomad/asapo-test_filemon.nomad.in
@@ -40,6 +40,7 @@ job "asapo-filemon" {
  "MonitoredSubFolders":["test_folder"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
@@ -99,6 +100,7 @@ job "asapo-filemon" {
  "MonitoredSubFolders":["data"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in
index 85e5872e9..a750fff74 100644
--- a/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in
+++ b/tests/manual/tests_via_nomad/asapo-test_filemon_batch.nomad.in
@@ -40,6 +40,7 @@ job "asapo-filemon_batch" {
  "MonitoredSubFolders":["test_folder"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"batch",
   	"BatchSize": {{ keyOrDefault "monitor_batch_size" "3" }}
@@ -100,6 +101,7 @@ job "asapo-filemon_batch" {
  "MonitoredSubFolders":["data"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"batch",
   	"BatchSize": {{ keyOrDefault "monitor_batch_size" "3" }}
diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in
index 2a6159367..12d7ea195 100644
--- a/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in
+++ b/tests/manual/tests_via_nomad/asapo-test_filemon_multisource.nomad.in
@@ -40,6 +40,7 @@ job "asapo-filemon_multisource" {
  "MonitoredSubFolders":["test_folder"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"multisource",
   	"SourceId": 1,
@@ -101,6 +102,7 @@ job "asapo-filemon_multisource" {
  "MonitoredSubFolders":["data"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"multisource",
   	"SourceId": 2,
diff --git a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in
index e40fe1738..0c5c80af7 100644
--- a/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in
+++ b/tests/manual/tests_via_nomad/asapo-test_filemon_producer_tolocal.nomad.in
@@ -40,6 +40,7 @@ job "asapo-produceronly" {
  "MonitoredSubFolders":["test_folder"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
   "Subset": {
    	"Mode":"none"
   }
@@ -99,6 +100,7 @@ job "asapo-produceronly" {
  "MonitoredSubFolders":["test_folder"],
  "IgnoreExtentions":["tmp"],
  "RemoveAfterSend":true,
+ "Stream": "",
  "Subset": {
   	"Mode":"none"
  }
-- 
GitLab