comparison OrthancFramework/UnitTestsSources/JobsTests.cpp @ 4463:522e13a60cfc

"LocalAet" in "DicomModalities" to overwrite global "DicomAet" for SCU on a per-modality basis
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 20 Jan 2021 17:36:23 +0100
parents 789676a8c96a
children cb8fcecf1b02
comparison
equal deleted inserted replaced
4462:da460bef88f8 4463:522e13a60cfc
1273 ASSERT_FALSE(modality.IsDicomTlsEnabled()); 1273 ASSERT_FALSE(modality.IsDicomTlsEnabled());
1274 } 1274 }
1275 1275
1276 { 1276 {
1277 RemoteModalityParameters modality(s); 1277 RemoteModalityParameters modality(s);
1278 ASSERT_FALSE(modality.IsAdvancedFormatNeeded());
1278 ASSERT_EQ("ORTHANC", modality.GetApplicationEntityTitle()); 1279 ASSERT_EQ("ORTHANC", modality.GetApplicationEntityTitle());
1279 ASSERT_EQ("127.0.0.1", modality.GetHost()); 1280 ASSERT_EQ("127.0.0.1", modality.GetHost());
1280 ASSERT_EQ(104u, modality.GetPortNumber()); 1281 ASSERT_EQ(104u, modality.GetPortNumber());
1281 ASSERT_EQ(ModalityManufacturer_Generic, modality.GetManufacturer()); 1282 ASSERT_EQ(ModalityManufacturer_Generic, modality.GetManufacturer());
1282 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Echo)); 1283 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Echo));
1286 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); 1287 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move));
1287 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); 1288 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction));
1288 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); 1289 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport));
1289 ASSERT_TRUE(modality.IsTranscodingAllowed()); 1290 ASSERT_TRUE(modality.IsTranscodingAllowed());
1290 ASSERT_FALSE(modality.IsDicomTlsEnabled()); 1291 ASSERT_FALSE(modality.IsDicomTlsEnabled());
1292 ASSERT_FALSE(modality.HasLocalAet());
1293 ASSERT_THROW(modality.GetLocalAet(), OrthancException);
1291 } 1294 }
1292 1295
1293 s = Json::nullValue; 1296 s = Json::nullValue;
1294 1297
1295 { 1298 {
1301 modality.SetPortNumber(45); 1304 modality.SetPortNumber(45);
1302 modality.SetManufacturer(ModalityManufacturer_GenericNoWildcardInDates); 1305 modality.SetManufacturer(ModalityManufacturer_GenericNoWildcardInDates);
1303 ASSERT_FALSE(modality.IsAdvancedFormatNeeded()); 1306 ASSERT_FALSE(modality.IsAdvancedFormatNeeded());
1304 modality.Serialize(s, true); 1307 modality.Serialize(s, true);
1305 ASSERT_EQ(Json::objectValue, s.type()); 1308 ASSERT_EQ(Json::objectValue, s.type());
1309 ASSERT_FALSE(modality.HasLocalAet());
1306 } 1310 }
1307 1311
1308 { 1312 {
1309 RemoteModalityParameters modality(s); 1313 RemoteModalityParameters modality(s);
1310 ASSERT_EQ("HELLO", modality.GetApplicationEntityTitle()); 1314 ASSERT_EQ("HELLO", modality.GetApplicationEntityTitle());
1318 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); 1322 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move));
1319 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); 1323 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction));
1320 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); 1324 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport));
1321 ASSERT_TRUE(modality.IsTranscodingAllowed()); 1325 ASSERT_TRUE(modality.IsTranscodingAllowed());
1322 ASSERT_FALSE(modality.IsDicomTlsEnabled()); 1326 ASSERT_FALSE(modality.IsDicomTlsEnabled());
1327 ASSERT_FALSE(modality.HasLocalAet());
1323 } 1328 }
1324 1329
1325 s["Port"] = "46"; 1330 s["Port"] = "46";
1326 1331
1327 { 1332 {
1368 { 1373 {
1369 ASSERT_TRUE(modality.IsRequestAllowed(*it2)); 1374 ASSERT_TRUE(modality.IsRequestAllowed(*it2));
1370 } 1375 }
1371 } 1376 }
1372 } 1377 }
1378 }
1379
1380 s = Json::nullValue;
1381
1382 {
1383 RemoteModalityParameters modality;
1384 modality.SetLocalAet("hello");
1385 ASSERT_TRUE(modality.IsAdvancedFormatNeeded());
1386 modality.Serialize(s, true);
1387 ASSERT_EQ(Json::objectValue, s.type());
1388 ASSERT_TRUE(modality.HasLocalAet());
1389 }
1390
1391 {
1392 RemoteModalityParameters modality(s);
1393 ASSERT_TRUE(modality.HasLocalAet());
1394 ASSERT_EQ("hello", modality.GetLocalAet());
1373 } 1395 }
1374 1396
1375 { 1397 {
1376 Json::Value t; 1398 Json::Value t;
1377 t["AllowStorageCommitment"] = false; 1399 t["AllowStorageCommitment"] = false;
1386 ASSERT_EQ(104u, modality.GetPortNumber()); 1408 ASSERT_EQ(104u, modality.GetPortNumber());
1387 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction)); 1409 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction));
1388 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); 1410 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NEventReport));
1389 ASSERT_TRUE(modality.IsTranscodingAllowed()); 1411 ASSERT_TRUE(modality.IsTranscodingAllowed());
1390 ASSERT_FALSE(modality.IsDicomTlsEnabled()); 1412 ASSERT_FALSE(modality.IsDicomTlsEnabled());
1413 ASSERT_FALSE(modality.HasLocalAet());
1414 ASSERT_THROW(modality.GetLocalAet(), OrthancException);
1391 } 1415 }
1392 1416
1393 { 1417 {
1394 Json::Value t; 1418 Json::Value t;
1395 t["AllowNAction"] = false; 1419 t["AllowNAction"] = false;
1397 t["AET"] = "AET"; 1421 t["AET"] = "AET";
1398 t["Host"] = "host"; 1422 t["Host"] = "host";
1399 t["Port"] = "104"; 1423 t["Port"] = "104";
1400 t["AllowTranscoding"] = false; 1424 t["AllowTranscoding"] = false;
1401 t["UseDicomTls"] = true; 1425 t["UseDicomTls"] = true;
1426 t["LocalAet"] = "world";
1402 1427
1403 RemoteModalityParameters modality(t); 1428 RemoteModalityParameters modality(t);
1404 ASSERT_TRUE(modality.IsAdvancedFormatNeeded()); 1429 ASSERT_TRUE(modality.IsAdvancedFormatNeeded());
1405 ASSERT_EQ("AET", modality.GetApplicationEntityTitle()); 1430 ASSERT_EQ("AET", modality.GetApplicationEntityTitle());
1406 ASSERT_EQ("host", modality.GetHost()); 1431 ASSERT_EQ("host", modality.GetHost());
1407 ASSERT_EQ(104u, modality.GetPortNumber()); 1432 ASSERT_EQ(104u, modality.GetPortNumber());
1408 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction)); 1433 ASSERT_FALSE(modality.IsRequestAllowed(DicomRequestType_NAction));
1409 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); 1434 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport));
1410 ASSERT_FALSE(modality.IsTranscodingAllowed()); 1435 ASSERT_FALSE(modality.IsTranscodingAllowed());
1411 ASSERT_TRUE(modality.IsDicomTlsEnabled()); 1436 ASSERT_TRUE(modality.IsDicomTlsEnabled());
1437 ASSERT_TRUE(modality.HasLocalAet());
1438 ASSERT_EQ("world", modality.GetLocalAet());
1412 } 1439 }
1413 1440
1414 { 1441 {
1415 Json::Value t; 1442 Json::Value t;
1416 t["AllowNAction"] = true; 1443 t["AllowNAction"] = true;
1426 ASSERT_EQ(104u, modality.GetPortNumber()); 1453 ASSERT_EQ(104u, modality.GetPortNumber());
1427 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction)); 1454 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NAction));
1428 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport)); 1455 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_NEventReport));
1429 ASSERT_TRUE(modality.IsTranscodingAllowed()); 1456 ASSERT_TRUE(modality.IsTranscodingAllowed());
1430 ASSERT_FALSE(modality.IsDicomTlsEnabled()); 1457 ASSERT_FALSE(modality.IsDicomTlsEnabled());
1458 ASSERT_FALSE(modality.HasLocalAet());
1459 ASSERT_THROW(modality.GetLocalAet(), OrthancException);
1431 } 1460 }
1432 } 1461 }
1433 1462
1434 1463
1435 1464
1454 ASSERT_EQ("127.0.0.1", b.GetRemoteModality().GetHost()); 1483 ASSERT_EQ("127.0.0.1", b.GetRemoteModality().GetHost());
1455 ASSERT_EQ(104u, b.GetRemoteModality().GetPortNumber()); 1484 ASSERT_EQ(104u, b.GetRemoteModality().GetPortNumber());
1456 ASSERT_EQ("ORTHANC", b.GetLocalApplicationEntityTitle()); 1485 ASSERT_EQ("ORTHANC", b.GetLocalApplicationEntityTitle());
1457 ASSERT_EQ(DicomAssociationParameters::GetDefaultMaximumPduLength(), b.GetMaximumPduLength()); 1486 ASSERT_EQ(DicomAssociationParameters::GetDefaultMaximumPduLength(), b.GetMaximumPduLength());
1458 ASSERT_FALSE(b.GetRemoteModality().IsDicomTlsEnabled()); 1487 ASSERT_FALSE(b.GetRemoteModality().IsDicomTlsEnabled());
1488 ASSERT_FALSE(b.GetRemoteModality().HasLocalAet());
1489 ASSERT_THROW(b.GetRemoteModality().GetLocalAet(), OrthancException);
1459 } 1490 }
1460 1491
1461 { 1492 {
1462 RemoteModalityParameters p; 1493 RemoteModalityParameters p;
1463 p.SetApplicationEntityTitle("WORLD"); 1494 p.SetApplicationEntityTitle("WORLD");