comparison OrthancServer/UnitTestsSources/UnitTestsMain.cpp @ 4059:e241e5f3f088 framework

moved LuaTests and MemoryCacheTests from OrthancServer to OrthancFramework
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 11 Jun 2020 14:12:07 +0200
parents 8b7cd69806f2
children 0953b3dc3261
comparison
equal deleted inserted replaced
4058:2a8bf0991be0 4059:e241e5f3f088
30 * along with this program. If not, see <http://www.gnu.org/licenses/>. 30 * along with this program. If not, see <http://www.gnu.org/licenses/>.
31 **/ 31 **/
32 32
33 33
34 #include "PrecompiledHeadersUnitTests.h" 34 #include "PrecompiledHeadersUnitTests.h"
35
36 #include "gtest/gtest.h"
37
38 #include <OrthancServerResources.h>
39
40 #include "../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h"
41 #include "../../OrthancFramework/Sources/DicomParsing/ParsedDicomFile.h"
42 #include "../../OrthancFramework/Sources/DicomParsing/ToDcmtkBridge.h"
35 #include "../../OrthancFramework/Sources/EnumerationDictionary.h" 43 #include "../../OrthancFramework/Sources/EnumerationDictionary.h"
36
37 #include "gtest/gtest.h"
38
39 #include "../../OrthancFramework/Sources/Logging.h"
40 #include "../../OrthancFramework/Sources/Toolbox.h"
41 #include "../../OrthancFramework/Sources/OrthancException.h"
42 #include "../../OrthancFramework/Sources/Images/Image.h" 44 #include "../../OrthancFramework/Sources/Images/Image.h"
43 #include "../../OrthancFramework/Sources/Images/PngWriter.h" 45 #include "../../OrthancFramework/Sources/Images/PngWriter.h"
44 #include "../../OrthancFramework/Sources/DicomParsing/ParsedDicomFile.h" 46 #include "../../OrthancFramework/Sources/Logging.h"
45 #include "../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h" 47 #include "../../OrthancFramework/Sources/OrthancException.h"
46 #include "../../OrthancFramework/Sources/DicomParsing/ToDcmtkBridge.h" 48 #include "../../OrthancFramework/Sources/Toolbox.h"
47 49
48 #include "../Plugins/Engine/PluginsEnumerations.h" 50 #include "../Plugins/Engine/PluginsEnumerations.h"
49 #include "../Sources/DicomInstanceToStore.h" 51 #include "../Sources/DicomInstanceToStore.h"
50 #include "../Sources/OrthancConfiguration.h" // For the FontRegistry 52 #include "../Sources/OrthancConfiguration.h" // For the FontRegistry
51 #include "../Sources/OrthancInitialization.h" 53 #include "../Sources/OrthancInitialization.h"
52 #include "../Sources/ServerEnumerations.h" 54 #include "../Sources/ServerEnumerations.h"
53 #include "../Sources/ServerToolbox.h" 55 #include "../Sources/ServerToolbox.h"
56 #include "../Sources/StorageCommitmentReports.h"
54 57
55 #include <dcmtk/dcmdata/dcdeftag.h> 58 #include <dcmtk/dcmdata/dcdeftag.h>
56 59
57 60
58 using namespace Orthanc; 61 using namespace Orthanc;
409 } 412 }
410 } 413 }
411 } 414 }
412 415
413 416
417 TEST(StorageCommitmentReports, Basic)
418 {
419 Orthanc::StorageCommitmentReports reports(2);
420 ASSERT_EQ(2u, reports.GetMaxSize());
421
422 {
423 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "nope");
424 ASSERT_EQ("nope", accessor.GetTransactionUid());
425 ASSERT_FALSE(accessor.IsValid());
426 ASSERT_THROW(accessor.GetReport(), Orthanc::OrthancException);
427 }
428
429 reports.Store("a", new Orthanc::StorageCommitmentReports::Report("aet_a"));
430 reports.Store("b", new Orthanc::StorageCommitmentReports::Report("aet_b"));
431 reports.Store("c", new Orthanc::StorageCommitmentReports::Report("aet_c"));
432
433 {
434 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "a");
435 ASSERT_FALSE(accessor.IsValid());
436 }
437
438 {
439 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "b");
440 ASSERT_TRUE(accessor.IsValid());
441 ASSERT_EQ("aet_b", accessor.GetReport().GetRemoteAet());
442 ASSERT_EQ(Orthanc::StorageCommitmentReports::Report::Status_Pending,
443 accessor.GetReport().GetStatus());
444 }
445
446 {
447 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "c");
448 ASSERT_EQ("aet_c", accessor.GetReport().GetRemoteAet());
449 ASSERT_TRUE(accessor.IsValid());
450 }
451
452 {
453 std::unique_ptr<Orthanc::StorageCommitmentReports::Report> report
454 (new Orthanc::StorageCommitmentReports::Report("aet"));
455 report->AddSuccess("class1", "instance1");
456 report->AddFailure("class2", "instance2",
457 Orthanc::StorageCommitmentFailureReason_ReferencedSOPClassNotSupported);
458 report->MarkAsComplete();
459 reports.Store("a", report.release());
460 }
461
462 {
463 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "a");
464 ASSERT_TRUE(accessor.IsValid());
465 ASSERT_EQ("aet", accessor.GetReport().GetRemoteAet());
466 ASSERT_EQ(Orthanc::StorageCommitmentReports::Report::Status_Failure,
467 accessor.GetReport().GetStatus());
468 }
469
470 {
471 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "b");
472 ASSERT_FALSE(accessor.IsValid());
473 }
474
475 {
476 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "c");
477 ASSERT_TRUE(accessor.IsValid());
478 }
479
480 {
481 std::unique_ptr<Orthanc::StorageCommitmentReports::Report> report
482 (new Orthanc::StorageCommitmentReports::Report("aet"));
483 report->AddSuccess("class1", "instance1");
484 report->MarkAsComplete();
485 reports.Store("a", report.release());
486 }
487
488 {
489 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "a");
490 ASSERT_TRUE(accessor.IsValid());
491 ASSERT_EQ("aet", accessor.GetReport().GetRemoteAet());
492 ASSERT_EQ(Orthanc::StorageCommitmentReports::Report::Status_Success,
493 accessor.GetReport().GetStatus());
494 }
495
496 {
497 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "b");
498 ASSERT_FALSE(accessor.IsValid());
499 }
500
501 {
502 Orthanc::StorageCommitmentReports::Accessor accessor(reports, "c");
503 ASSERT_TRUE(accessor.IsValid());
504 }
505 }
506
507
508
414 int main(int argc, char **argv) 509 int main(int argc, char **argv)
415 { 510 {
416 Logging::Initialize(); 511 Logging::Initialize();
417 Toolbox::InitializeGlobalLocale(NULL); 512 Toolbox::InitializeGlobalLocale(NULL);
418 Logging::EnableInfoLevel(true); 513 Logging::EnableInfoLevel(true);