Mercurial > hg > orthanc
comparison UnitTestsSources/MultiThreadingTests.cpp @ 2845:218e2c864d1d
serialization of SplitStudyJob
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 28 Sep 2018 17:59:44 +0200 |
parents | ff0ed5ea9e4e |
children | 2da68edacab6 |
comparison
equal
deleted
inserted
replaced
2844:99863d6245b2 | 2845:218e2c864d1d |
---|---|
61 | 61 |
62 #include "../OrthancServer/ServerJobs/ArchiveJob.h" | 62 #include "../OrthancServer/ServerJobs/ArchiveJob.h" |
63 #include "../OrthancServer/ServerJobs/DicomModalityStoreJob.h" | 63 #include "../OrthancServer/ServerJobs/DicomModalityStoreJob.h" |
64 #include "../OrthancServer/ServerJobs/OrthancPeerStoreJob.h" | 64 #include "../OrthancServer/ServerJobs/OrthancPeerStoreJob.h" |
65 #include "../OrthancServer/ServerJobs/ResourceModificationJob.h" | 65 #include "../OrthancServer/ServerJobs/ResourceModificationJob.h" |
66 #include "../OrthancServer/ServerJobs/SplitStudyJob.h" | |
66 | 67 |
67 | 68 |
68 using namespace Orthanc; | 69 using namespace Orthanc; |
69 | 70 |
70 namespace | 71 namespace |
1461 } | 1462 } |
1462 | 1463 |
1463 | 1464 |
1464 TEST_F(OrthancJobsSerialization, Jobs) | 1465 TEST_F(OrthancJobsSerialization, Jobs) |
1465 { | 1466 { |
1467 Json::Value s; | |
1468 | |
1466 // ArchiveJob | 1469 // ArchiveJob |
1467 | |
1468 Json::Value s; | |
1469 | 1470 |
1470 { | 1471 { |
1471 boost::shared_ptr<TemporaryFile> tmp(new TemporaryFile); | 1472 boost::shared_ptr<TemporaryFile> tmp(new TemporaryFile); |
1472 ArchiveJob job(tmp, GetContext(), false, false); | 1473 ArchiveJob job(tmp, GetContext(), false, false); |
1473 ASSERT_FALSE(job.Serialize(s)); // Cannot serialize this | 1474 ASSERT_FALSE(job.Serialize(s)); // Cannot serialize this |
1555 ResourceModificationJob& tmp = dynamic_cast<ResourceModificationJob&>(*job); | 1556 ResourceModificationJob& tmp = dynamic_cast<ResourceModificationJob&>(*job); |
1556 ASSERT_TRUE(tmp.IsAnonymization()); | 1557 ASSERT_TRUE(tmp.IsAnonymization()); |
1557 ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin()); | 1558 ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin()); |
1558 ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION)); | 1559 ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION)); |
1559 } | 1560 } |
1561 | |
1562 // SplitStudyJob | |
1563 | |
1564 std::string id; | |
1565 ASSERT_TRUE(CreateInstance(id)); | |
1566 | |
1567 std::string study, series; | |
1568 | |
1569 { | |
1570 ServerContext::DicomCacheLocker lock(GetContext(), id); | |
1571 study = lock.GetDicom().GetHasher().HashStudy(); | |
1572 series = lock.GetDicom().GetHasher().HashSeries(); | |
1573 } | |
1574 | |
1575 { | |
1576 ASSERT_THROW(SplitStudyJob(GetContext(), std::string("nope")), OrthancException); | |
1577 | |
1578 SplitStudyJob job(GetContext(), study); | |
1579 job.SetKeepSource(true); | |
1580 job.AddSourceSeries(series); | |
1581 ASSERT_THROW(job.AddSourceSeries("nope"), OrthancException); | |
1582 job.SetOrigin(DicomInstanceOrigin::FromLua()); | |
1583 | |
1584 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); | |
1585 ASSERT_TRUE(job.Serialize(s)); | |
1586 } | |
1587 | |
1588 { | |
1589 std::auto_ptr<IJob> job; | |
1590 job.reset(unserializer.UnserializeJob(s)); | |
1591 | |
1592 SplitStudyJob& tmp = dynamic_cast<SplitStudyJob&>(*job); | |
1593 ASSERT_TRUE(tmp.IsKeepSource()); | |
1594 ASSERT_EQ(study, tmp.GetSourceStudy()); | |
1595 ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin()); | |
1596 //ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION)); | |
1597 } | |
1560 } | 1598 } |
1561 | 1599 |
1562 | 1600 |
1563 TEST(JobsSerialization, Registry) | 1601 TEST(JobsSerialization, Registry) |
1564 { | 1602 { |