Page MenuHomePhabricator

D3872.diff
No OneTemporary

D3872.diff

diff --git a/services/backup/CMakeLists.txt b/services/backup/CMakeLists.txt
--- a/services/backup/CMakeLists.txt
+++ b/services/backup/CMakeLists.txt
@@ -23,14 +23,7 @@
# FIND FILES
file(GLOB DOUBLE_CONVERSION_SOURCES "./lib/double-conversion/double-conversion/*.cc")
-if ($ENV{COMM_TEST_SERVICES} MATCHES 1)
- add_compile_definitions(COMM_TEST_SERVICES)
-endif()
-
file(GLOB GENERATED_CODE "./_generated/*.cc")
-if ($ENV{COMM_SERVICES_DEV_MODE} MATCHES 1)
- add_compile_definitions(COMM_SERVICES_DEV_MODE)
-endif()
file(GLOB_RECURSE SOURCE_CODE "./src/*.cpp")
diff --git a/services/backup/src/AwsTools.cpp b/services/backup/src/AwsTools.cpp
--- a/services/backup/src/AwsTools.cpp
+++ b/services/backup/src/AwsTools.cpp
@@ -1,5 +1,8 @@
#include "AwsTools.h"
#include "Constants.h"
+#include "Tools.h"
+
+#include <cstdlib>
namespace comm {
namespace network {
@@ -7,10 +10,10 @@
std::unique_ptr<Aws::DynamoDB::DynamoDBClient> getDynamoDBClient() {
Aws::Client::ClientConfiguration config;
config.region = AWS_REGION;
-#ifdef COMM_SERVICES_DEV_MODE
- config.endpointOverride = Aws::String("localstack:4566");
- config.scheme = Aws::Http::Scheme::HTTP;
-#endif
+ if (isDevMode()) {
+ config.endpointOverride = Aws::String("localstack:4566");
+ config.scheme = Aws::Http::Scheme::HTTP;
+ }
return std::make_unique<Aws::DynamoDB::DynamoDBClient>(config);
}
diff --git a/services/backup/src/Constants.h b/services/backup/src/Constants.h
--- a/services/backup/src/Constants.h
+++ b/services/backup/src/Constants.h
@@ -1,5 +1,7 @@
#pragma once
+#include "Tools.h"
+
#include <string>
namespace comm {
@@ -22,13 +24,9 @@
const std::string AWS_REGION = "us-east-2";
-#ifdef COMM_TEST_SERVICES
-const std::string LOG_TABLE_NAME = "backup-service-log-test";
-const std::string BACKUP_TABLE_NAME = "backup-service-backup-test";
-#else
-const std::string LOG_TABLE_NAME = "backup-service-log";
-const std::string BACKUP_TABLE_NAME = "backup-service-backup";
-#endif
+const std::string LOG_TABLE_NAME = decorateTableName("backup-service-log");
+const std::string BACKUP_TABLE_NAME =
+ decorateTableName("backup-service-backup");
// This has to be smaller than GRPC_CHUNK_SIZE_LIMIT because we need to
// recognize if we may receive multiple chunks or just one. If it was larger
diff --git a/services/backup/src/Tools.h b/services/backup/src/Tools.h
--- a/services/backup/src/Tools.h
+++ b/services/backup/src/Tools.h
@@ -8,6 +8,8 @@
std::string generateRandomString(std::size_t length = 20);
uint64_t getCurrentTimestamp();
+std::string decorateTableName(const std::string &baseName);
+bool isDevMode();
} // namespace network
} // namespace comm
diff --git a/services/backup/src/Tools.cpp b/services/backup/src/Tools.cpp
--- a/services/backup/src/Tools.cpp
+++ b/services/backup/src/Tools.cpp
@@ -1,6 +1,7 @@
#include "Tools.h"
#include <chrono>
+#include <cstdlib>
#include <random>
namespace comm {
@@ -24,5 +25,21 @@
.count();
}
+std::string decorateTableName(const std::string &baseName) {
+ std::string suffix = "";
+ if (std::getenv("COMM_TEST_SERVICES") != nullptr &&
+ std::string(std::getenv("COMM_TEST_SERVICES")) == "1") {
+ suffix = "-test";
+ }
+ return baseName + suffix;
+}
+
+bool isDevMode() {
+ if (std::getenv("COMM_SERVICES_DEV_MODE") == nullptr) {
+ return false;
+ }
+ return std::string(std::getenv("COMM_SERVICES_DEV_MODE")) == "1";
+}
+
} // namespace network
} // namespace comm
diff --git a/services/blob/CMakeLists.txt b/services/blob/CMakeLists.txt
--- a/services/blob/CMakeLists.txt
+++ b/services/blob/CMakeLists.txt
@@ -24,15 +24,7 @@
# FIND FILES
file(GLOB DOUBLE_CONVERSION_SOURCES "./lib/double-conversion/double-conversion/*.cc")
-
-if ($ENV{COMM_TEST_SERVICES} MATCHES 1)
- add_compile_definitions(COMM_TEST_SERVICES)
-endif()
-
file(GLOB GENERATED_CODE "./_generated/*.cc")
-if ($ENV{COMM_SERVICES_DEV_MODE} MATCHES 1)
- add_compile_definitions(COMM_SERVICES_DEV_MODE)
-endif()
file(GLOB SOURCE_CODE "./src/*.cpp" "./src/**/*.cpp")
diff --git a/services/blob/src/AwsTools.cpp b/services/blob/src/AwsTools.cpp
--- a/services/blob/src/AwsTools.cpp
+++ b/services/blob/src/AwsTools.cpp
@@ -4,6 +4,8 @@
#include <aws/s3/model/Bucket.h>
+#include <cstdlib>
+
namespace comm {
namespace network {
@@ -28,24 +30,25 @@
std::unique_ptr<Aws::DynamoDB::DynamoDBClient> getDynamoDBClient() {
Aws::Client::ClientConfiguration config;
config.region = AWS_REGION;
-#ifdef COMM_SERVICES_DEV_MODE
- config.endpointOverride = Aws::String("localstack:4566");
- config.scheme = Aws::Http::Scheme::HTTP;
-#endif
+ if (isDevMode()) {
+ config.endpointOverride = Aws::String("localstack:4566");
+ config.scheme = Aws::Http::Scheme::HTTP;
+ }
return std::make_unique<Aws::DynamoDB::DynamoDBClient>(config);
}
std::unique_ptr<Aws::S3::S3Client> getS3Client() {
Aws::Client::ClientConfiguration config;
config.region = AWS_REGION;
-#ifdef COMM_SERVICES_DEV_MODE
- config.endpointOverride = Aws::String("localstack:4566");
- config.scheme = Aws::Http::Scheme::HTTP;
- return std::make_unique<Aws::S3::S3Client>(
- config, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, false);
-#else
+ if (isDevMode()) {
+ config.endpointOverride = Aws::String("localstack:4566");
+ config.scheme = Aws::Http::Scheme::HTTP;
+ return std::make_unique<Aws::S3::S3Client>(
+ config,
+ Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never,
+ false);
+ }
return std::make_unique<Aws::S3::S3Client>(config);
-#endif
}
} // namespace network
diff --git a/services/blob/src/Constants.h b/services/blob/src/Constants.h
--- a/services/blob/src/Constants.h
+++ b/services/blob/src/Constants.h
@@ -1,5 +1,7 @@
#pragma once
+#include "Tools.h"
+
#include <string>
namespace comm {
@@ -25,13 +27,9 @@
const std::string AWS_REGION = "us-east-2";
const std::string BLOB_BUCKET_NAME = "commapp-blob";
-#ifdef COMM_TEST_SERVICES
-const std::string BLOB_TABLE_NAME = "blob-service-blob-test";
-const std::string REVERSE_INDEX_TABLE_NAME = "blob-service-reverse-index-test";
-#else
-const std::string BLOB_TABLE_NAME = "blob-service-blob";
-const std::string REVERSE_INDEX_TABLE_NAME = "blob-service-reverse-index";
-#endif
+const std::string BLOB_TABLE_NAME = decorateTableName("blob-service-blob");
+const std::string REVERSE_INDEX_TABLE_NAME =
+ decorateTableName("blob-service-reverse-index");
} // namespace network
} // namespace comm
diff --git a/services/blob/src/Tools.h b/services/blob/src/Tools.h
--- a/services/blob/src/Tools.h
+++ b/services/blob/src/Tools.h
@@ -1,6 +1,5 @@
#pragma once
-#include "Constants.h"
#include "DatabaseEntitiesTools.h"
#include "S3Path.h"
@@ -18,6 +17,10 @@
uint64_t getCurrentTimestamp();
+std::string decorateTableName(const std::string &baseName);
+
+bool isDevMode();
+
class invalid_argument_error : public std::runtime_error {
public:
invalid_argument_error(std::string errorMessage)
diff --git a/services/blob/src/Tools.cpp b/services/blob/src/Tools.cpp
--- a/services/blob/src/Tools.cpp
+++ b/services/blob/src/Tools.cpp
@@ -1,12 +1,14 @@
#include "Tools.h"
#include "AwsTools.h"
+#include "Constants.h"
#include "DatabaseEntitiesTools.h"
#include "DatabaseManager.h"
#include <openssl/sha.h>
#include <chrono>
+#include <cstdlib>
#include <iomanip>
#include <string>
@@ -72,5 +74,21 @@
.count();
}
+std::string decorateTableName(const std::string &baseName) {
+ std::string suffix = "";
+ if (std::getenv("COMM_TEST_SERVICES") != nullptr &&
+ std::string(std::getenv("COMM_TEST_SERVICES")) == "1") {
+ suffix = "-test";
+ }
+ return baseName + suffix;
+}
+
+bool isDevMode() {
+ if (std::getenv("COMM_SERVICES_DEV_MODE") == nullptr) {
+ return false;
+ }
+ return std::string(std::getenv("COMM_SERVICES_DEV_MODE")) == "1";
+}
+
} // namespace network
} // namespace comm

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 24, 11:20 AM (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2575160
Default Alt Text
D3872.diff (7 KB)

Event Timeline