comparison Framework/Plugins/IndexUnitTests.h @ 288:6d4d413a8797

unit test for large properties
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 28 Jun 2021 15:34:49 +0200
parents 07881ac5404b
children 0868500060f3
comparison
equal deleted inserted replaced
287:772fa76cddf8 288:6d4d413a8797
520 ASSERT_EQ(p2, r); 520 ASSERT_EQ(p2, r);
521 db.DeleteResource(*output, *manager, p2); 521 db.DeleteResource(*output, *manager, p2);
522 ASSERT_TRUE(db.SelectPatientToRecycle(r, *manager, p3)); 522 ASSERT_TRUE(db.SelectPatientToRecycle(r, *manager, p3));
523 ASSERT_EQ(p1, r); 523 ASSERT_EQ(p1, r);
524 524
525 {
526 // Test creating a large property of 16MB
527 // https://groups.google.com/g/orthanc-users/c/1Y3nTBdr0uE/m/K7PA5pboAgAJ
528 std::string longProperty;
529 longProperty.resize(16 * 1024 * 1024);
530 for (size_t i = 0; i < longProperty.size(); i++)
531 {
532 longProperty[i] = 'A' + (i % 26);
533 }
534
535 db.SetGlobalProperty(*manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal8, longProperty.c_str());
536
537 std::string tmp;
538 ASSERT_TRUE(db.LookupGlobalProperty(tmp, *manager, MISSING_SERVER_IDENTIFIER, Orthanc::GlobalProperty_DatabaseInternal8));
539 ASSERT_EQ(longProperty, tmp);
540 }
541
525 manager->Close(); 542 manager->Close();
526 } 543 }