Mercurial > hg > orthanc
comparison UnitTestsSources/MultiThreadingTests.cpp @ 3956:6e14f2da7c7e
integration transcoding->mainline
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 20 May 2020 16:42:44 +0200 |
parents | ef696db8426f |
children |
comparison
equal
deleted
inserted
replaced
3892:fe0e4ef52a72 | 3956:6e14f2da7c7e |
---|---|
60 #include "../OrthancServer/ServerJobs/Operations/StoreScuOperation.h" | 60 #include "../OrthancServer/ServerJobs/Operations/StoreScuOperation.h" |
61 #include "../OrthancServer/ServerJobs/Operations/SystemCallOperation.h" | 61 #include "../OrthancServer/ServerJobs/Operations/SystemCallOperation.h" |
62 | 62 |
63 #include "../OrthancServer/ServerJobs/ArchiveJob.h" | 63 #include "../OrthancServer/ServerJobs/ArchiveJob.h" |
64 #include "../OrthancServer/ServerJobs/DicomModalityStoreJob.h" | 64 #include "../OrthancServer/ServerJobs/DicomModalityStoreJob.h" |
65 #include "../OrthancServer/ServerJobs/DicomMoveScuJob.h" | |
65 #include "../OrthancServer/ServerJobs/MergeStudyJob.h" | 66 #include "../OrthancServer/ServerJobs/MergeStudyJob.h" |
66 #include "../OrthancServer/ServerJobs/OrthancPeerStoreJob.h" | 67 #include "../OrthancServer/ServerJobs/OrthancPeerStoreJob.h" |
67 #include "../OrthancServer/ServerJobs/ResourceModificationJob.h" | 68 #include "../OrthancServer/ServerJobs/ResourceModificationJob.h" |
68 #include "../OrthancServer/ServerJobs/SplitStudyJob.h" | 69 #include "../OrthancServer/ServerJobs/SplitStudyJob.h" |
69 | 70 |
1312 false, DicomReplaceMode_InsertIfAbsent, ""); | 1313 false, DicomReplaceMode_InsertIfAbsent, ""); |
1313 | 1314 |
1314 DicomInstanceToStore toStore; | 1315 DicomInstanceToStore toStore; |
1315 toStore.SetParsedDicomFile(dicom); | 1316 toStore.SetParsedDicomFile(dicom); |
1316 | 1317 |
1317 return (context_->Store(id, toStore) == StoreStatus_Success); | 1318 return (context_->Store(id, toStore, StoreInstanceMode_Default) == StoreStatus_Success); |
1318 } | 1319 } |
1319 }; | 1320 }; |
1320 } | 1321 } |
1321 | 1322 |
1322 | 1323 |
1412 modality.SetApplicationEntityTitle("REMOTE"); | 1413 modality.SetApplicationEntityTitle("REMOTE"); |
1413 modality.SetHost("192.168.1.1"); | 1414 modality.SetHost("192.168.1.1"); |
1414 modality.SetPortNumber(1000); | 1415 modality.SetPortNumber(1000); |
1415 modality.SetManufacturer(ModalityManufacturer_StoreScp); | 1416 modality.SetManufacturer(ModalityManufacturer_StoreScp); |
1416 | 1417 |
1417 StoreScuOperation operation(luaManager, "TEST", modality); | 1418 StoreScuOperation operation(GetContext(), luaManager, "TEST", modality); |
1418 | 1419 |
1419 ASSERT_TRUE(CheckIdempotentSerialization(unserializer, operation)); | 1420 ASSERT_TRUE(CheckIdempotentSerialization(unserializer, operation)); |
1420 operation.Serialize(s); | 1421 operation.Serialize(s); |
1421 } | 1422 } |
1422 | 1423 |
1512 { | 1513 { |
1513 std::unique_ptr<IJob> job; | 1514 std::unique_ptr<IJob> job; |
1514 job.reset(unserializer.UnserializeJob(s)); | 1515 job.reset(unserializer.UnserializeJob(s)); |
1515 | 1516 |
1516 DicomModalityStoreJob& tmp = dynamic_cast<DicomModalityStoreJob&>(*job); | 1517 DicomModalityStoreJob& tmp = dynamic_cast<DicomModalityStoreJob&>(*job); |
1517 ASSERT_EQ("LOCAL", tmp.GetLocalAet()); | 1518 ASSERT_EQ("LOCAL", tmp.GetParameters().GetLocalApplicationEntityTitle()); |
1518 ASSERT_EQ("REMOTE", tmp.GetRemoteModality().GetApplicationEntityTitle()); | 1519 ASSERT_EQ("REMOTE", tmp.GetParameters().GetRemoteModality().GetApplicationEntityTitle()); |
1519 ASSERT_EQ("192.168.1.1", tmp.GetRemoteModality().GetHost()); | 1520 ASSERT_EQ("192.168.1.1", tmp.GetParameters().GetRemoteModality().GetHost()); |
1520 ASSERT_EQ(1000, tmp.GetRemoteModality().GetPortNumber()); | 1521 ASSERT_EQ(1000, tmp.GetParameters().GetRemoteModality().GetPortNumber()); |
1521 ASSERT_EQ(ModalityManufacturer_StoreScp, tmp.GetRemoteModality().GetManufacturer()); | 1522 ASSERT_EQ(ModalityManufacturer_StoreScp, tmp.GetParameters().GetRemoteModality().GetManufacturer()); |
1522 ASSERT_TRUE(tmp.HasMoveOriginator()); | 1523 ASSERT_TRUE(tmp.HasMoveOriginator()); |
1523 ASSERT_EQ("MOVESCU", tmp.GetMoveOriginatorAet()); | 1524 ASSERT_EQ("MOVESCU", tmp.GetMoveOriginatorAet()); |
1524 ASSERT_EQ(42, tmp.GetMoveOriginatorId()); | 1525 ASSERT_EQ(42, tmp.GetMoveOriginatorId()); |
1525 } | 1526 } |
1526 | 1527 |
1546 OrthancPeerStoreJob& tmp = dynamic_cast<OrthancPeerStoreJob&>(*job); | 1547 OrthancPeerStoreJob& tmp = dynamic_cast<OrthancPeerStoreJob&>(*job); |
1547 ASSERT_EQ("http://localhost/", tmp.GetPeer().GetUrl()); | 1548 ASSERT_EQ("http://localhost/", tmp.GetPeer().GetUrl()); |
1548 ASSERT_EQ("username", tmp.GetPeer().GetUsername()); | 1549 ASSERT_EQ("username", tmp.GetPeer().GetUsername()); |
1549 ASSERT_EQ("password", tmp.GetPeer().GetPassword()); | 1550 ASSERT_EQ("password", tmp.GetPeer().GetPassword()); |
1550 ASSERT_TRUE(tmp.GetPeer().IsPkcs11Enabled()); | 1551 ASSERT_TRUE(tmp.GetPeer().IsPkcs11Enabled()); |
1552 ASSERT_FALSE(tmp.IsTranscode()); | |
1553 ASSERT_THROW(tmp.GetTransferSyntax(), OrthancException); | |
1554 } | |
1555 | |
1556 { | |
1557 OrthancPeerStoreJob job(GetContext()); | |
1558 ASSERT_THROW(job.SetTranscode("nope"), OrthancException); | |
1559 job.SetTranscode("1.2.840.10008.1.2.4.50"); | |
1560 | |
1561 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); | |
1562 ASSERT_TRUE(job.Serialize(s)); | |
1563 } | |
1564 | |
1565 { | |
1566 std::unique_ptr<IJob> job; | |
1567 job.reset(unserializer.UnserializeJob(s)); | |
1568 | |
1569 OrthancPeerStoreJob& tmp = dynamic_cast<OrthancPeerStoreJob&>(*job); | |
1570 ASSERT_EQ("http://127.0.0.1:8042/", tmp.GetPeer().GetUrl()); | |
1571 ASSERT_EQ("", tmp.GetPeer().GetUsername()); | |
1572 ASSERT_EQ("", tmp.GetPeer().GetPassword()); | |
1573 ASSERT_FALSE(tmp.GetPeer().IsPkcs11Enabled()); | |
1574 ASSERT_TRUE(tmp.IsTranscode()); | |
1575 ASSERT_EQ(DicomTransferSyntax_JPEGProcess1, tmp.GetTransferSyntax()); | |
1551 } | 1576 } |
1552 | 1577 |
1553 // ResourceModificationJob | 1578 // ResourceModificationJob |
1554 | 1579 |
1555 { | 1580 { |
1557 modification->SetupAnonymization(DicomVersion_2008); | 1582 modification->SetupAnonymization(DicomVersion_2008); |
1558 | 1583 |
1559 ResourceModificationJob job(GetContext()); | 1584 ResourceModificationJob job(GetContext()); |
1560 job.SetModification(modification.release(), ResourceType_Patient, true); | 1585 job.SetModification(modification.release(), ResourceType_Patient, true); |
1561 job.SetOrigin(DicomInstanceOrigin::FromLua()); | 1586 job.SetOrigin(DicomInstanceOrigin::FromLua()); |
1562 | 1587 |
1588 job.AddTrailingStep(); // Necessary since 1.7.0 | |
1563 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); | 1589 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); |
1564 ASSERT_TRUE(job.Serialize(s)); | 1590 ASSERT_TRUE(job.Serialize(s)); |
1565 } | 1591 } |
1566 | 1592 |
1567 { | 1593 { |
1568 std::unique_ptr<IJob> job; | 1594 std::unique_ptr<IJob> job; |
1569 job.reset(unserializer.UnserializeJob(s)); | 1595 job.reset(unserializer.UnserializeJob(s)); |
1570 | 1596 |
1571 ResourceModificationJob& tmp = dynamic_cast<ResourceModificationJob&>(*job); | 1597 ResourceModificationJob& tmp = dynamic_cast<ResourceModificationJob&>(*job); |
1572 ASSERT_TRUE(tmp.IsAnonymization()); | 1598 ASSERT_TRUE(tmp.IsAnonymization()); |
1599 ASSERT_FALSE(tmp.IsTranscode()); | |
1600 ASSERT_THROW(tmp.GetTransferSyntax(), OrthancException); | |
1573 ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin()); | 1601 ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin()); |
1574 ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION)); | 1602 ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION)); |
1603 } | |
1604 | |
1605 { | |
1606 ResourceModificationJob job(GetContext()); | |
1607 ASSERT_THROW(job.SetTranscode("nope"), OrthancException); | |
1608 job.SetTranscode(DicomTransferSyntax_JPEGProcess1); | |
1609 | |
1610 job.AddTrailingStep(); // Necessary since 1.7.0 | |
1611 ASSERT_TRUE(CheckIdempotentSetOfInstances(unserializer, job)); | |
1612 ASSERT_TRUE(job.Serialize(s)); | |
1613 } | |
1614 | |
1615 { | |
1616 std::unique_ptr<IJob> job; | |
1617 job.reset(unserializer.UnserializeJob(s)); | |
1618 | |
1619 ResourceModificationJob& tmp = dynamic_cast<ResourceModificationJob&>(*job); | |
1620 ASSERT_FALSE(tmp.IsAnonymization()); | |
1621 ASSERT_TRUE(tmp.IsTranscode()); | |
1622 ASSERT_EQ(DicomTransferSyntax_JPEGProcess1, tmp.GetTransferSyntax()); | |
1623 ASSERT_EQ(RequestOrigin_Unknown, tmp.GetOrigin().GetRequestOrigin()); | |
1575 } | 1624 } |
1576 | 1625 |
1577 // SplitStudyJob | 1626 // SplitStudyJob |
1578 | 1627 |
1579 std::string instance; | 1628 std::string instance; |
1900 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Get)); | 1949 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Get)); |
1901 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Store)); | 1950 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Store)); |
1902 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); | 1951 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); |
1903 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); | 1952 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); |
1904 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); | 1953 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); |
1954 ASSERT_TRUE(modality.IsTranscodingAllowed()); | |
1905 } | 1955 } |
1906 | 1956 |
1907 s = Json::nullValue; | 1957 s = Json::nullValue; |
1908 | 1958 |
1909 { | 1959 { |
1930 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Get)); | 1980 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Get)); |
1931 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Store)); | 1981 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Store)); |
1932 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); | 1982 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); |
1933 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); | 1983 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); |
1934 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); | 1984 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); |
1985 ASSERT_TRUE(modality.IsTranscodingAllowed()); | |
1935 } | 1986 } |
1936 | 1987 |
1937 s["Port"] = "46"; | 1988 s["Port"] = "46"; |
1938 | 1989 |
1939 { | 1990 { |
1996 ASSERT_EQ("AET", modality.GetApplicationEntityTitle()); | 2047 ASSERT_EQ("AET", modality.GetApplicationEntityTitle()); |
1997 ASSERT_EQ("host", modality.GetHost()); | 2048 ASSERT_EQ("host", modality.GetHost()); |
1998 ASSERT_EQ(104u, modality.GetPortNumber()); | 2049 ASSERT_EQ(104u, modality.GetPortNumber()); |
1999 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction)); | 2050 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction)); |
2000 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); | 2051 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); |
2052 ASSERT_TRUE(modality.IsTranscodingAllowed()); | |
2001 } | 2053 } |
2002 | 2054 |
2003 { | 2055 { |
2004 Json::Value s; | 2056 Json::Value s; |
2005 s["AllowNAction"] = false; | 2057 s["AllowNAction"] = false; |
2006 s["AllowNEventReport"] = true; | 2058 s["AllowNEventReport"] = true; |
2007 s["AET"] = "AET"; | 2059 s["AET"] = "AET"; |
2008 s["Host"] = "host"; | 2060 s["Host"] = "host"; |
2009 s["Port"] = "104"; | 2061 s["Port"] = "104"; |
2062 s["AllowTranscoding"] = false; | |
2010 | 2063 |
2011 RemoteModalityParameters modality(s); | 2064 RemoteModalityParameters modality(s); |
2012 ASSERT_TRUE(modality.IsAdvancedFormatNeeded()); | 2065 ASSERT_TRUE(modality.IsAdvancedFormatNeeded()); |
2013 ASSERT_EQ("AET", modality.GetApplicationEntityTitle()); | 2066 ASSERT_EQ("AET", modality.GetApplicationEntityTitle()); |
2014 ASSERT_EQ("host", modality.GetHost()); | 2067 ASSERT_EQ("host", modality.GetHost()); |
2015 ASSERT_EQ(104u, modality.GetPortNumber()); | 2068 ASSERT_EQ(104u, modality.GetPortNumber()); |
2016 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction)); | 2069 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction)); |
2017 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); | 2070 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); |
2071 ASSERT_FALSE(modality.IsTranscodingAllowed()); | |
2018 } | 2072 } |
2019 | 2073 |
2020 { | 2074 { |
2021 Json::Value s; | 2075 Json::Value s; |
2022 s["AllowNAction"] = true; | 2076 s["AllowNAction"] = true; |
2030 ASSERT_EQ("AET", modality.GetApplicationEntityTitle()); | 2084 ASSERT_EQ("AET", modality.GetApplicationEntityTitle()); |
2031 ASSERT_EQ("host", modality.GetHost()); | 2085 ASSERT_EQ("host", modality.GetHost()); |
2032 ASSERT_EQ(104u, modality.GetPortNumber()); | 2086 ASSERT_EQ(104u, modality.GetPortNumber()); |
2033 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); | 2087 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); |
2034 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); | 2088 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); |
2035 } | 2089 ASSERT_TRUE(modality.IsTranscodingAllowed()); |
2036 } | 2090 } |
2091 } | |
2092 | |
2093 | |
2094 TEST_F(OrthancJobsSerialization, DicomAssociationParameters) | |
2095 { | |
2096 Json::Value v; | |
2097 | |
2098 { | |
2099 v = Json::objectValue; | |
2100 DicomAssociationParameters p; | |
2101 p.SerializeJob(v); | |
2102 } | |
2103 | |
2104 { | |
2105 DicomAssociationParameters p = DicomAssociationParameters::UnserializeJob(v); | |
2106 ASSERT_EQ("ORTHANC", p.GetLocalApplicationEntityTitle()); | |
2107 ASSERT_EQ("ANY-SCP", p.GetRemoteModality().GetApplicationEntityTitle()); | |
2108 ASSERT_EQ(104u, p.GetRemoteModality().GetPortNumber()); | |
2109 ASSERT_EQ(ModalityManufacturer_Generic, p.GetRemoteModality().GetManufacturer()); | |
2110 ASSERT_EQ("127.0.0.1", p.GetRemoteModality().GetHost()); | |
2111 ASSERT_EQ(DicomAssociationParameters::GetDefaultTimeout(), p.GetTimeout()); | |
2112 } | |
2113 | |
2114 { | |
2115 v = Json::objectValue; | |
2116 DicomAssociationParameters p; | |
2117 p.SetLocalApplicationEntityTitle("HELLO"); | |
2118 p.SetRemoteApplicationEntityTitle("WORLD"); | |
2119 p.SetRemotePort(42); | |
2120 p.SetRemoteHost("MY_HOST"); | |
2121 p.SetTimeout(43); | |
2122 p.SerializeJob(v); | |
2123 } | |
2124 | |
2125 { | |
2126 DicomAssociationParameters p = DicomAssociationParameters::UnserializeJob(v); | |
2127 ASSERT_EQ("HELLO", p.GetLocalApplicationEntityTitle()); | |
2128 ASSERT_EQ("WORLD", p.GetRemoteModality().GetApplicationEntityTitle()); | |
2129 ASSERT_EQ(42u, p.GetRemoteModality().GetPortNumber()); | |
2130 ASSERT_EQ(ModalityManufacturer_Generic, p.GetRemoteModality().GetManufacturer()); | |
2131 ASSERT_EQ("MY_HOST", p.GetRemoteModality().GetHost()); | |
2132 ASSERT_EQ(43u, p.GetTimeout()); | |
2133 } | |
2134 | |
2135 { | |
2136 DicomModalityStoreJob job(GetContext()); | |
2137 job.Serialize(v); | |
2138 } | |
2139 | |
2140 { | |
2141 OrthancJobUnserializer unserializer(GetContext()); | |
2142 std::unique_ptr<DicomModalityStoreJob> job( | |
2143 dynamic_cast<DicomModalityStoreJob*>(unserializer.UnserializeJob(v))); | |
2144 ASSERT_EQ("ORTHANC", job->GetParameters().GetLocalApplicationEntityTitle()); | |
2145 ASSERT_EQ("ANY-SCP", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle()); | |
2146 ASSERT_EQ("127.0.0.1", job->GetParameters().GetRemoteModality().GetHost()); | |
2147 ASSERT_EQ(104u, job->GetParameters().GetRemoteModality().GetPortNumber()); | |
2148 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer()); | |
2149 ASSERT_EQ(DicomAssociationParameters::GetDefaultTimeout(), job->GetParameters().GetTimeout()); | |
2150 ASSERT_FALSE(job->HasMoveOriginator()); | |
2151 ASSERT_THROW(job->GetMoveOriginatorAet(), OrthancException); | |
2152 ASSERT_THROW(job->GetMoveOriginatorId(), OrthancException); | |
2153 ASSERT_FALSE(job->HasStorageCommitment()); | |
2154 } | |
2155 | |
2156 { | |
2157 RemoteModalityParameters r; | |
2158 r.SetApplicationEntityTitle("HELLO"); | |
2159 r.SetPortNumber(42); | |
2160 r.SetHost("MY_HOST"); | |
2161 | |
2162 DicomModalityStoreJob job(GetContext()); | |
2163 job.SetLocalAet("WORLD"); | |
2164 job.SetRemoteModality(r); | |
2165 job.SetTimeout(43); | |
2166 job.SetMoveOriginator("ORIGINATOR", 100); | |
2167 job.EnableStorageCommitment(true); | |
2168 job.Serialize(v); | |
2169 } | |
2170 | |
2171 { | |
2172 OrthancJobUnserializer unserializer(GetContext()); | |
2173 std::unique_ptr<DicomModalityStoreJob> job( | |
2174 dynamic_cast<DicomModalityStoreJob*>(unserializer.UnserializeJob(v))); | |
2175 ASSERT_EQ("WORLD", job->GetParameters().GetLocalApplicationEntityTitle()); | |
2176 ASSERT_EQ("HELLO", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle()); | |
2177 ASSERT_EQ("MY_HOST", job->GetParameters().GetRemoteModality().GetHost()); | |
2178 ASSERT_EQ(42u, job->GetParameters().GetRemoteModality().GetPortNumber()); | |
2179 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer()); | |
2180 ASSERT_EQ(43u, job->GetParameters().GetTimeout()); | |
2181 ASSERT_TRUE(job->HasMoveOriginator()); | |
2182 ASSERT_EQ("ORIGINATOR", job->GetMoveOriginatorAet()); | |
2183 ASSERT_EQ(100, job->GetMoveOriginatorId()); | |
2184 ASSERT_TRUE(job->HasStorageCommitment()); | |
2185 } | |
2186 | |
2187 { | |
2188 DicomMoveScuJob job(GetContext()); | |
2189 job.Serialize(v); | |
2190 } | |
2191 | |
2192 { | |
2193 OrthancJobUnserializer unserializer(GetContext()); | |
2194 std::unique_ptr<DicomMoveScuJob> job( | |
2195 dynamic_cast<DicomMoveScuJob*>(unserializer.UnserializeJob(v))); | |
2196 ASSERT_EQ("ORTHANC", job->GetParameters().GetLocalApplicationEntityTitle()); | |
2197 ASSERT_EQ("ANY-SCP", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle()); | |
2198 ASSERT_EQ("127.0.0.1", job->GetParameters().GetRemoteModality().GetHost()); | |
2199 ASSERT_EQ(104u, job->GetParameters().GetRemoteModality().GetPortNumber()); | |
2200 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer()); | |
2201 ASSERT_EQ(DicomAssociationParameters::GetDefaultTimeout(), job->GetParameters().GetTimeout()); | |
2202 } | |
2203 | |
2204 { | |
2205 RemoteModalityParameters r; | |
2206 r.SetApplicationEntityTitle("HELLO"); | |
2207 r.SetPortNumber(42); | |
2208 r.SetHost("MY_HOST"); | |
2209 | |
2210 DicomMoveScuJob job(GetContext()); | |
2211 job.SetLocalAet("WORLD"); | |
2212 job.SetRemoteModality(r); | |
2213 job.SetTimeout(43); | |
2214 job.Serialize(v); | |
2215 } | |
2216 | |
2217 { | |
2218 OrthancJobUnserializer unserializer(GetContext()); | |
2219 std::unique_ptr<DicomMoveScuJob> job( | |
2220 dynamic_cast<DicomMoveScuJob*>(unserializer.UnserializeJob(v))); | |
2221 ASSERT_EQ("WORLD", job->GetParameters().GetLocalApplicationEntityTitle()); | |
2222 ASSERT_EQ("HELLO", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle()); | |
2223 ASSERT_EQ("MY_HOST", job->GetParameters().GetRemoteModality().GetHost()); | |
2224 ASSERT_EQ(42u, job->GetParameters().GetRemoteModality().GetPortNumber()); | |
2225 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer()); | |
2226 ASSERT_EQ(43u, job->GetParameters().GetTimeout()); | |
2227 } | |
2228 } |