comparison Framework/Plugins/IndexUnitTests.h @ 256:e184dcadf163

handling of revisions in metadata
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 16 Apr 2021 17:13:33 +0200
parents e9ba888f371b
children 34e2b93a7ac1
comparison
equal deleted inserted replaced
255:d663d9e44f8d 256:e184dcadf163
268 ASSERT_EQ(2u, ci.size()); 268 ASSERT_EQ(2u, ci.size());
269 ASSERT_TRUE(ci.front() == b || ci.front() == c); 269 ASSERT_TRUE(ci.front() == b || ci.front() == c);
270 ASSERT_TRUE(ci.back() == b || ci.back() == c); 270 ASSERT_TRUE(ci.back() == b || ci.back() == c);
271 ASSERT_NE(ci.front(), ci.back()); 271 ASSERT_NE(ci.front(), ci.back());
272 272
273 db.SetMetadata(*manager, a, Orthanc::MetadataType_ModifiedFrom, "modified"); 273 db.SetMetadata(*manager, a, Orthanc::MetadataType_ModifiedFrom, "modified", 42);
274 db.SetMetadata(*manager, a, Orthanc::MetadataType_LastUpdate, "update2"); 274 db.SetMetadata(*manager, a, Orthanc::MetadataType_LastUpdate, "update2", 43);
275 ASSERT_FALSE(db.LookupMetadata(s, *manager, b, Orthanc::MetadataType_LastUpdate)); 275 int64_t revision = -1;
276 ASSERT_TRUE(db.LookupMetadata(s, *manager, a, Orthanc::MetadataType_LastUpdate)); 276 ASSERT_FALSE(db.LookupMetadata(s, revision, *manager, b, Orthanc::MetadataType_LastUpdate));
277 ASSERT_TRUE(db.LookupMetadata(s, revision, *manager, a, Orthanc::MetadataType_LastUpdate));
277 ASSERT_EQ("update2", s); 278 ASSERT_EQ("update2", s);
278 db.SetMetadata(*manager, a, Orthanc::MetadataType_LastUpdate, "update"); 279
279 ASSERT_TRUE(db.LookupMetadata(s, *manager, a, Orthanc::MetadataType_LastUpdate)); 280 #if ORTHANC_ENABLE_SQLITE == 1
281 ASSERT_EQ(43, revision); // Only SQLite implements revisions so far
282 #else
283 ASSERT_EQ(0, revision);
284 #endif
285
286 db.SetMetadata(*manager, a, Orthanc::MetadataType_LastUpdate, "update", 44);
287 ASSERT_TRUE(db.LookupMetadata(s, revision, *manager, a, Orthanc::MetadataType_LastUpdate));
280 ASSERT_EQ("update", s); 288 ASSERT_EQ("update", s);
289
290 #if ORTHANC_ENABLE_SQLITE == 1
291 ASSERT_EQ(44, revision); // Only SQLite implements revisions so far
292 #else
293 ASSERT_EQ(0, revision);
294 #endif
281 295
282 std::list<int32_t> md; 296 std::list<int32_t> md;
283 db.ListAvailableMetadata(md, *manager, a); 297 db.ListAvailableMetadata(md, *manager, a);
284 ASSERT_EQ(2u, md.size()); 298 ASSERT_EQ(2u, md.size());
285 ASSERT_TRUE(md.front() == Orthanc::MetadataType_ModifiedFrom || md.back() == Orthanc::MetadataType_ModifiedFrom); 299 ASSERT_TRUE(md.front() == Orthanc::MetadataType_ModifiedFrom || md.back() == Orthanc::MetadataType_ModifiedFrom);
286 ASSERT_TRUE(md.front() == Orthanc::MetadataType_LastUpdate || md.back() == Orthanc::MetadataType_LastUpdate); 300 ASSERT_TRUE(md.front() == Orthanc::MetadataType_LastUpdate || md.back() == Orthanc::MetadataType_LastUpdate);
287 std::string mdd; 301 std::string mdd;
288 ASSERT_TRUE(db.LookupMetadata(mdd, *manager, a, Orthanc::MetadataType_ModifiedFrom)); 302 ASSERT_TRUE(db.LookupMetadata(mdd, revision, *manager, a, Orthanc::MetadataType_ModifiedFrom));
289 ASSERT_EQ("modified", mdd); 303 ASSERT_EQ("modified", mdd);
290 ASSERT_TRUE(db.LookupMetadata(mdd, *manager, a, Orthanc::MetadataType_LastUpdate)); 304
305 #if ORTHANC_ENABLE_SQLITE == 1
306 ASSERT_EQ(42, revision); // Only SQLite implements revisions so far
307 #else
308 ASSERT_EQ(0, revision);
309 #endif
310
311 ASSERT_TRUE(db.LookupMetadata(mdd, revision, *manager, a, Orthanc::MetadataType_LastUpdate));
291 ASSERT_EQ("update", mdd); 312 ASSERT_EQ("update", mdd);
313
314 #if ORTHANC_ENABLE_SQLITE == 1
315 ASSERT_EQ(44, revision); // Only SQLite implements revisions so far
316 #else
317 ASSERT_EQ(0, revision);
318 #endif
292 319
293 db.ListAvailableMetadata(md, *manager, b); 320 db.ListAvailableMetadata(md, *manager, b);
294 ASSERT_EQ(0u, md.size()); 321 ASSERT_EQ(0u, md.size());
295 322
323 ASSERT_TRUE(db.LookupMetadata(s, revision, *manager, a, Orthanc::MetadataType_LastUpdate));
296 db.DeleteMetadata(*manager, a, Orthanc::MetadataType_LastUpdate); 324 db.DeleteMetadata(*manager, a, Orthanc::MetadataType_LastUpdate);
325 ASSERT_FALSE(db.LookupMetadata(s, revision, *manager, a, Orthanc::MetadataType_LastUpdate));
297 db.DeleteMetadata(*manager, b, Orthanc::MetadataType_LastUpdate); 326 db.DeleteMetadata(*manager, b, Orthanc::MetadataType_LastUpdate);
298 ASSERT_FALSE(db.LookupMetadata(s, *manager, a, Orthanc::MetadataType_LastUpdate)); 327 ASSERT_FALSE(db.LookupMetadata(s, revision, *manager, a, Orthanc::MetadataType_LastUpdate));
299 328
300 db.ListAvailableMetadata(md, *manager, a); 329 db.ListAvailableMetadata(md, *manager, a);
301 ASSERT_EQ(1u, md.size()); 330 ASSERT_EQ(1u, md.size());
302 ASSERT_EQ(Orthanc::MetadataType_ModifiedFrom, md.front()); 331 ASSERT_EQ(Orthanc::MetadataType_ModifiedFrom, md.front());
303 332