comparison UnitTestsSources/MultiThreadingTests.cpp @ 3878:661c931f22ad transcoding

new unit test: OrthancJobsSerialization.DicomAssociationParameters
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 04 May 2020 17:02:50 +0200
parents ea1d32861cfc
children 8f7ad4989fec
comparison
equal deleted inserted replaced
3877:4b4f387c6bb8 3878:661c931f22ad
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
2032 ASSERT_EQ(104u, modality.GetPortNumber()); 2033 ASSERT_EQ(104u, modality.GetPortNumber());
2033 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); 2034 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction));
2034 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); 2035 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport));
2035 } 2036 }
2036 } 2037 }
2038
2039
2040 TEST_F(OrthancJobsSerialization, DicomAssociationParameters)
2041 {
2042 Json::Value v;
2043
2044 {
2045 v = Json::objectValue;
2046 DicomAssociationParameters p;
2047 p.SerializeJob(v);
2048 }
2049
2050 {
2051 DicomAssociationParameters p = DicomAssociationParameters::UnserializeJob(v);
2052 ASSERT_EQ("ORTHANC", p.GetLocalApplicationEntityTitle());
2053 ASSERT_EQ("ANY-SCP", p.GetRemoteModality().GetApplicationEntityTitle());
2054 ASSERT_EQ(104u, p.GetRemoteModality().GetPortNumber());
2055 ASSERT_EQ(ModalityManufacturer_Generic, p.GetRemoteModality().GetManufacturer());
2056 ASSERT_EQ("127.0.0.1", p.GetRemoteModality().GetHost());
2057 ASSERT_EQ(DicomAssociationParameters::GetDefaultTimeout(), p.GetTimeout());
2058 }
2059
2060 {
2061 v = Json::objectValue;
2062 DicomAssociationParameters p;
2063 p.SetLocalApplicationEntityTitle("HELLO");
2064 p.SetRemoteApplicationEntityTitle("WORLD");
2065 p.SetRemotePort(42);
2066 p.SetRemoteHost("MY_HOST");
2067 p.SetTimeout(43);
2068 p.SerializeJob(v);
2069 }
2070
2071 {
2072 DicomAssociationParameters p = DicomAssociationParameters::UnserializeJob(v);
2073 ASSERT_EQ("HELLO", p.GetLocalApplicationEntityTitle());
2074 ASSERT_EQ("WORLD", p.GetRemoteModality().GetApplicationEntityTitle());
2075 ASSERT_EQ(42u, p.GetRemoteModality().GetPortNumber());
2076 ASSERT_EQ(ModalityManufacturer_Generic, p.GetRemoteModality().GetManufacturer());
2077 ASSERT_EQ("MY_HOST", p.GetRemoteModality().GetHost());
2078 ASSERT_EQ(43u, p.GetTimeout());
2079 }
2080
2081 {
2082 DicomModalityStoreJob job(GetContext());
2083 job.Serialize(v);
2084 }
2085
2086 {
2087 OrthancJobUnserializer unserializer(GetContext());
2088 std::unique_ptr<DicomModalityStoreJob> job(
2089 dynamic_cast<DicomModalityStoreJob*>(unserializer.UnserializeJob(v)));
2090 ASSERT_EQ("ORTHANC", job->GetParameters().GetLocalApplicationEntityTitle());
2091 ASSERT_EQ("ANY-SCP", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle());
2092 ASSERT_EQ("127.0.0.1", job->GetParameters().GetRemoteModality().GetHost());
2093 ASSERT_EQ(104u, job->GetParameters().GetRemoteModality().GetPortNumber());
2094 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer());
2095 ASSERT_EQ(DicomAssociationParameters::GetDefaultTimeout(), job->GetParameters().GetTimeout());
2096 ASSERT_FALSE(job->HasMoveOriginator());
2097 ASSERT_THROW(job->GetMoveOriginatorAet(), OrthancException);
2098 ASSERT_THROW(job->GetMoveOriginatorId(), OrthancException);
2099 ASSERT_FALSE(job->HasStorageCommitment());
2100 }
2101
2102 {
2103 RemoteModalityParameters r;
2104 r.SetApplicationEntityTitle("HELLO");
2105 r.SetPortNumber(42);
2106 r.SetHost("MY_HOST");
2107
2108 DicomModalityStoreJob job(GetContext());
2109 job.SetLocalAet("WORLD");
2110 job.SetRemoteModality(r);
2111 job.SetTimeout(43);
2112 job.SetMoveOriginator("ORIGINATOR", 100);
2113 job.EnableStorageCommitment(true);
2114 job.Serialize(v);
2115 }
2116
2117 {
2118 OrthancJobUnserializer unserializer(GetContext());
2119 std::unique_ptr<DicomModalityStoreJob> job(
2120 dynamic_cast<DicomModalityStoreJob*>(unserializer.UnserializeJob(v)));
2121 ASSERT_EQ("WORLD", job->GetParameters().GetLocalApplicationEntityTitle());
2122 ASSERT_EQ("HELLO", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle());
2123 ASSERT_EQ("MY_HOST", job->GetParameters().GetRemoteModality().GetHost());
2124 ASSERT_EQ(42u, job->GetParameters().GetRemoteModality().GetPortNumber());
2125 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer());
2126 ASSERT_EQ(43u, job->GetParameters().GetTimeout());
2127 ASSERT_TRUE(job->HasMoveOriginator());
2128 ASSERT_EQ("ORIGINATOR", job->GetMoveOriginatorAet());
2129 ASSERT_EQ(100, job->GetMoveOriginatorId());
2130 ASSERT_TRUE(job->HasStorageCommitment());
2131 }
2132
2133 {
2134 DicomMoveScuJob job(GetContext());
2135 job.Serialize(v);
2136 }
2137
2138 {
2139 OrthancJobUnserializer unserializer(GetContext());
2140 std::unique_ptr<DicomMoveScuJob> job(
2141 dynamic_cast<DicomMoveScuJob*>(unserializer.UnserializeJob(v)));
2142 ASSERT_EQ("ORTHANC", job->GetParameters().GetLocalApplicationEntityTitle());
2143 ASSERT_EQ("ANY-SCP", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle());
2144 ASSERT_EQ("127.0.0.1", job->GetParameters().GetRemoteModality().GetHost());
2145 ASSERT_EQ(104u, job->GetParameters().GetRemoteModality().GetPortNumber());
2146 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer());
2147 ASSERT_EQ(DicomAssociationParameters::GetDefaultTimeout(), job->GetParameters().GetTimeout());
2148 }
2149
2150 {
2151 RemoteModalityParameters r;
2152 r.SetApplicationEntityTitle("HELLO");
2153 r.SetPortNumber(42);
2154 r.SetHost("MY_HOST");
2155
2156 DicomMoveScuJob job(GetContext());
2157 job.SetLocalAet("WORLD");
2158 job.SetRemoteModality(r);
2159 job.SetTimeout(43);
2160 job.Serialize(v);
2161 }
2162
2163 {
2164 OrthancJobUnserializer unserializer(GetContext());
2165 std::unique_ptr<DicomMoveScuJob> job(
2166 dynamic_cast<DicomMoveScuJob*>(unserializer.UnserializeJob(v)));
2167 ASSERT_EQ("WORLD", job->GetParameters().GetLocalApplicationEntityTitle());
2168 ASSERT_EQ("HELLO", job->GetParameters().GetRemoteModality().GetApplicationEntityTitle());
2169 ASSERT_EQ("MY_HOST", job->GetParameters().GetRemoteModality().GetHost());
2170 ASSERT_EQ(42u, job->GetParameters().GetRemoteModality().GetPortNumber());
2171 ASSERT_EQ(ModalityManufacturer_Generic, job->GetParameters().GetRemoteModality().GetManufacturer());
2172 ASSERT_EQ(43u, job->GetParameters().GetTimeout());
2173 }
2174 }