Mercurial > hg > orthanc
diff OrthancFramework/UnitTestsSources/JobsTests.cpp @ 4518:cb8fcecf1b02
new option "Timeout" in "DicomModalities" to set DICOM SCU timeout on a per-modality basis
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 22 Feb 2021 16:32:11 +0100 |
parents | 522e13a60cfc |
children | 82a314325351 |
line wrap: on
line diff
--- a/OrthancFramework/UnitTestsSources/JobsTests.cpp Mon Feb 22 15:27:25 2021 +0100 +++ b/OrthancFramework/UnitTestsSources/JobsTests.cpp Mon Feb 22 16:32:11 2021 +0100 @@ -1271,6 +1271,8 @@ modality.Serialize(s, false); ASSERT_EQ(Json::arrayValue, s.type()); ASSERT_FALSE(modality.IsDicomTlsEnabled()); + ASSERT_FALSE(modality.HasTimeout()); + ASSERT_EQ(0u, modality.GetTimeout()); } { @@ -1291,6 +1293,8 @@ ASSERT_FALSE(modality.IsDicomTlsEnabled()); ASSERT_FALSE(modality.HasLocalAet()); ASSERT_THROW(modality.GetLocalAet(), OrthancException); + ASSERT_FALSE(modality.HasTimeout()); + ASSERT_EQ(0u, modality.GetTimeout()); } s = Json::nullValue; @@ -1307,6 +1311,8 @@ modality.Serialize(s, true); ASSERT_EQ(Json::objectValue, s.type()); ASSERT_FALSE(modality.HasLocalAet()); + ASSERT_FALSE(modality.HasTimeout()); + ASSERT_EQ(0u, modality.GetTimeout()); } { @@ -1325,6 +1331,8 @@ ASSERT_TRUE(modality.IsTranscodingAllowed()); ASSERT_FALSE(modality.IsDicomTlsEnabled()); ASSERT_FALSE(modality.HasLocalAet()); + ASSERT_FALSE(modality.HasTimeout()); + ASSERT_EQ(0u, modality.GetTimeout()); } s["Port"] = "46"; @@ -1382,16 +1390,21 @@ { RemoteModalityParameters modality; modality.SetLocalAet("hello"); + modality.SetTimeout(42); ASSERT_TRUE(modality.IsAdvancedFormatNeeded()); modality.Serialize(s, true); ASSERT_EQ(Json::objectValue, s.type()); ASSERT_TRUE(modality.HasLocalAet()); + ASSERT_TRUE(modality.HasTimeout()); + ASSERT_EQ(42u, modality.GetTimeout()); } { RemoteModalityParameters modality(s); ASSERT_TRUE(modality.HasLocalAet()); ASSERT_EQ("hello", modality.GetLocalAet()); + ASSERT_TRUE(modality.HasTimeout()); + ASSERT_EQ(42u, modality.GetTimeout()); } { @@ -1412,6 +1425,8 @@ ASSERT_FALSE(modality.IsDicomTlsEnabled()); ASSERT_FALSE(modality.HasLocalAet()); ASSERT_THROW(modality.GetLocalAet(), OrthancException); + ASSERT_FALSE(modality.HasTimeout()); + ASSERT_EQ(0u, modality.GetTimeout()); } { @@ -1424,6 +1439,7 @@ t["AllowTranscoding"] = false; t["UseDicomTls"] = true; t["LocalAet"] = "world"; + t["Timeout"] = 20; RemoteModalityParameters modality(t); ASSERT_TRUE(modality.IsAdvancedFormatNeeded()); @@ -1436,6 +1452,8 @@ ASSERT_TRUE(modality.IsDicomTlsEnabled()); ASSERT_TRUE(modality.HasLocalAet()); ASSERT_EQ("world", modality.GetLocalAet()); + ASSERT_TRUE(modality.HasTimeout()); + ASSERT_EQ(20u, modality.GetTimeout()); } { @@ -1487,6 +1505,8 @@ ASSERT_FALSE(b.GetRemoteModality().IsDicomTlsEnabled()); ASSERT_FALSE(b.GetRemoteModality().HasLocalAet()); ASSERT_THROW(b.GetRemoteModality().GetLocalAet(), OrthancException); + ASSERT_FALSE(b.GetRemoteModality().HasTimeout()); + ASSERT_EQ(0u, b.GetRemoteModality().GetTimeout()); } { @@ -1495,6 +1515,7 @@ p.SetPortNumber(4242); p.SetHost("hello.world.com"); p.SetDicomTlsEnabled(true); + p.SetTimeout(42); DicomAssociationParameters a("HELLO", p); a.SetOwnCertificatePath("key", "crt"); @@ -1521,5 +1542,7 @@ ASSERT_EQ("crt", b.GetOwnCertificatePath()); ASSERT_EQ("trusted", b.GetTrustedCertificatesPath()); ASSERT_EQ(131072u, b.GetMaximumPduLength()); + ASSERT_TRUE(b.GetRemoteModality().HasTimeout()); + ASSERT_EQ(42u, b.GetRemoteModality().GetTimeout()); } }