@@ -34,6 +34,7 @@ TEST(DataSyncConfigParserTest, TestImmediateFileSyncWithNoRetry)
34
34
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
35
35
36
36
EXPECT_EQ (dataSyncConfig._path , " /file/path/to/sync" );
37
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
37
38
EXPECT_EQ (dataSyncConfig._syncDirection ,
38
39
data_sync::config::SyncDirection::Active2Passive);
39
40
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Immediate);
@@ -66,6 +67,7 @@ TEST(DataSyncConfigParserTest, TestPeriodicFileSyncWithRetry)
66
67
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
67
68
68
69
EXPECT_EQ (dataSyncConfig._path , " /file/path/to/sync" );
70
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
69
71
EXPECT_EQ (dataSyncConfig._syncDirection ,
70
72
data_sync::config::SyncDirection::Passive2Active);
71
73
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Periodic);
@@ -97,6 +99,7 @@ TEST(DataSyncConfigParserTest, TestImmediateDirectorySyncWithNoRetry)
97
99
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
98
100
99
101
EXPECT_EQ (dataSyncConfig._path , " /directory/path/to/sync" );
102
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
100
103
EXPECT_EQ (dataSyncConfig._syncDirection ,
101
104
data_sync::config::SyncDirection::Passive2Active);
102
105
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Immediate);
@@ -127,6 +130,7 @@ TEST(DataSyncConfigParserTest, TestImmediateAndBidirectionalDirectorySync)
127
130
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
128
131
129
132
EXPECT_EQ (dataSyncConfig._path , " /directory/path/to/sync" );
133
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
130
134
EXPECT_EQ (dataSyncConfig._syncDirection ,
131
135
data_sync::config::SyncDirection::Bidirectional);
132
136
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Immediate);
@@ -160,6 +164,7 @@ TEST(DataSyncConfigParserTest, TestFileSyncWithInvalidPeriodicity)
160
164
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
161
165
162
166
EXPECT_EQ (dataSyncConfig._path , " /file/path/to/sync" );
167
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
163
168
EXPECT_EQ (dataSyncConfig._syncDirection ,
164
169
data_sync::config::SyncDirection::Active2Passive);
165
170
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Periodic);
@@ -195,6 +200,7 @@ TEST(DataSyncConfigParserTest, TestFileSyncWithInvalidRetryInterval)
195
200
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
196
201
197
202
EXPECT_EQ (dataSyncConfig._path , " /file/path/to/sync" );
203
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
198
204
EXPECT_EQ (dataSyncConfig._syncDirection ,
199
205
data_sync::config::SyncDirection::Active2Passive);
200
206
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Periodic);
@@ -227,6 +233,7 @@ TEST(DataSyncConfigParserTest, TestFileSyncWithInvalidSyncDirection)
227
233
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
228
234
229
235
EXPECT_EQ (dataSyncConfig._path , " /file/path/to/sync" );
236
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
230
237
EXPECT_EQ (dataSyncConfig._syncDirection ,
231
238
data_sync::config::SyncDirection::Active2Passive);
232
239
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Immediate);
@@ -257,6 +264,39 @@ TEST(DataSyncConfigParserTest, TestFileSyncWithInvalidSyncType)
257
264
data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
258
265
259
266
EXPECT_EQ (dataSyncConfig._path , " /file/path/to/sync" );
267
+ EXPECT_EQ (dataSyncConfig._destPath , std::nullopt);
268
+ EXPECT_EQ (dataSyncConfig._syncDirection ,
269
+ data_sync::config::SyncDirection::Active2Passive);
270
+ EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Immediate);
271
+ EXPECT_EQ (dataSyncConfig._periodicityInSec , std::nullopt);
272
+ EXPECT_EQ (dataSyncConfig._retry , std::nullopt);
273
+ EXPECT_EQ (dataSyncConfig._excludeFileList , std::nullopt);
274
+ EXPECT_EQ (dataSyncConfig._includeFileList , std::nullopt);
275
+ }
276
+
277
+ /*
278
+ * Test when the input JSON contains the details of the file to be synced
279
+ * immediately with valid Destination and no overriding retry attempt and
280
+ * retry interval.
281
+ */
282
+ TEST (DataSyncConfigParserTest, TestFileSyncWithValidDestination)
283
+ {
284
+ // JSON object with details of file to be synced.
285
+ const auto configJSON = R"(
286
+ {
287
+ "Path": "/file/path/to/sync",
288
+ "DestinationPath": "/file/path/to/destination",
289
+ "Description": "Add details about the data and purpose of the synchronization",
290
+ "SyncDirection": "Active2Passive",
291
+ "SyncType": "Immediate"
292
+ }
293
+
294
+ )" _json;
295
+
296
+ data_sync::config::DataSyncConfig dataSyncConfig (configJSON);
297
+
298
+ EXPECT_EQ (dataSyncConfig._path , " /file/path/to/sync" );
299
+ EXPECT_EQ (dataSyncConfig._destPath , " /file/path/to/destination" );
260
300
EXPECT_EQ (dataSyncConfig._syncDirection ,
261
301
data_sync::config::SyncDirection::Active2Passive);
262
302
EXPECT_EQ (dataSyncConfig._syncType , data_sync::config::SyncType::Immediate);
0 commit comments