Mercurial > hg > orthanc-authorization
annotate UnitTestsSources/UnitTestsMain.cpp @ 201:8c79c3b026ce default tip
back to mainline
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Wed, 03 Jul 2024 09:00:01 +0200 |
parents | c4b908970ae4 |
children |
rev | line source |
---|---|
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
1 /** |
188
c4b908970ae4
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
152
diff
changeset
|
2 * Advanced authorization plugin for Orthanc |
c4b908970ae4
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
152
diff
changeset
|
3 * Copyright (C) 2017-2023 Osimis S.A., Belgium |
c4b908970ae4
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
152
diff
changeset
|
4 * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium |
c4b908970ae4
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
152
diff
changeset
|
5 * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
6 * |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
7 * This program is free software: you can redistribute it and/or |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
8 * modify it under the terms of the GNU Affero General Public License |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
9 * as published by the Free Software Foundation, either version 3 of |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
10 * the License, or (at your option) any later version. |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
11 * |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
12 * This program is distributed in the hope that it will be useful, but |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
13 * WITHOUT ANY WARRANTY; without even the implied warranty of |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
15 * Affero General Public License for more details. |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
16 * |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
17 * You should have received a copy of the GNU Affero General Public License |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
19 **/ |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
20 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
21 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
22 #include <gtest/gtest.h> |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
23 #include <boost/lexical_cast.hpp> |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
24 #include <boost/algorithm/string/predicate.hpp> |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
25 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
26 #include "../Plugin/DefaultAuthorizationParser.h" |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
27 #include "../Plugin/AssociativeArray.h" |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
28 #include "../Plugin/AccessedResource.h" |
111 | 29 #include "../Plugin/IAuthorizationService.h" |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
30 #include "../Plugin/MemoryCache.h" |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
31 #include "../Plugin/PermissionParser.h" |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
32 #include "../Plugin/ResourceHierarchyCache.h" |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
33 |
111 | 34 extern void AdjustToolsFindQueryLabels(Json::Value& query, const OrthancPlugins::IAuthorizationService::UserProfile& profile); |
35 | |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
36 using namespace OrthancPlugins; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
37 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
38 std::string instanceOrthancId = "44444444-44444444-44444444-44444444-44444444"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
39 std::string seriesOrthancId = "33333333-33333333-33333333-33333333-33333333"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
40 std::string studyOrthancId = "22222222-22222222-22222222-22222222-22222222"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
41 std::string patientOrthancId = "11111111-11111111-11111111-11111111-11111111"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
42 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
43 std::string instanceDicomUid = "4.4"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
44 std::string seriesDicomUid = "3.3"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
45 std::string studyDicomUid = "2.2"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
46 std::string patientDicomUid = "PATIENT.1"; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
47 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
48 bool IsAccessing(const IAuthorizationParser::AccessedResources& accesses, AccessLevel level, const std::string& orthancId) |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
49 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
50 for (IAuthorizationParser::AccessedResources::const_iterator it = accesses.begin(); it != accesses.end(); ++it) |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
51 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
52 if (it->GetLevel() == level && it->GetOrthancId() == orthancId) |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
53 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
54 return true; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
55 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
56 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
57 return false; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
58 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
59 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
60 namespace OrthancPlugins |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
61 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
62 // The namespace is necessary for friend classes to work |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
63 // http://code.google.com/p/googletest/wiki/AdvancedGuide#Private_Class_Members |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
64 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
65 TEST(DefaultAuthorizationParser, Parse) |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
66 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
67 MemoryCache::Factory factory(10); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
68 DefaultAuthorizationParser parser(factory, "/dicom-web/"); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
69 ResourceHierarchyCache* cache = parser.GetResourceHierarchy(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
70 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
71 cache->AddOrthancDicomMapping(Orthanc::ResourceType_Instance, instanceOrthancId, instanceDicomUid); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
72 cache->AddOrthancDicomMapping(Orthanc::ResourceType_Series, seriesOrthancId, seriesDicomUid); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
73 cache->AddOrthancDicomMapping(Orthanc::ResourceType_Study, studyOrthancId, studyDicomUid); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
74 cache->AddOrthancDicomMapping(Orthanc::ResourceType_Patient, patientOrthancId, patientDicomUid); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
75 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
76 cache->AddParentLink(Orthanc::ResourceType_Instance, instanceOrthancId, seriesOrthancId); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
77 cache->AddParentLink(Orthanc::ResourceType_Series, seriesOrthancId, studyOrthancId); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
78 cache->AddParentLink(Orthanc::ResourceType_Study, studyOrthancId, patientOrthancId); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
79 |
110 | 80 cache->AddLabels(Orthanc::ResourceType_Series, seriesOrthancId, "series-label"); |
81 cache->AddLabels(Orthanc::ResourceType_Study, studyOrthancId, "study-label"); | |
82 cache->AddLabels(Orthanc::ResourceType_Instance, instanceOrthancId, "instance-label"); | |
83 cache->AddLabels(Orthanc::ResourceType_Patient, patientOrthancId, "patient-label"); | |
84 | |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
85 IAuthorizationParser::AccessedResources accesses; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
86 AssociativeArray noGetArguments(0, NULL, NULL, false); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
87 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
88 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
89 parser.Parse(accesses, "/studies/22222222-22222222-22222222-22222222-22222222/", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
90 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
91 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
92 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
93 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
94 parser.Parse(accesses, "/studies/22222222-22222222-22222222-22222222-22222222/instances", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
95 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
96 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
97 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
98 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
99 parser.Parse(accesses, "/studies/22222222-22222222-22222222-22222222-22222222/archive", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
100 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
101 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
102 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
103 accesses.clear(); |
101 | 104 parser.Parse(accesses, "/studies/22222222-22222222-22222222-22222222-22222222/ohif-dicom.json", noGetArguments.GetMap()); |
105 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); | |
106 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); | |
107 | |
108 accesses.clear(); | |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
109 parser.Parse(accesses, "/osimis-viewer/studies/22222222-22222222-22222222-22222222-22222222/archive", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
110 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
111 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
112 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
113 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
114 parser.Parse(accesses, "/series/33333333-33333333-33333333-33333333-33333333/", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
115 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
116 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
117 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
118 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
119 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
120 parser.Parse(accesses, "/series/33333333-33333333-33333333-33333333-33333333/media", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
121 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
122 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
123 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
124 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
125 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
126 parser.Parse(accesses, "/series/33333333-33333333-33333333-33333333-33333333/modify", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
127 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
128 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
129 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
130 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
131 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
132 parser.Parse(accesses, "/web-viewer/series/33333333-33333333-33333333-33333333-33333333", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
133 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
134 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
135 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
136 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
137 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
138 parser.Parse(accesses, "/osimis-viewer/series/33333333-33333333-33333333-33333333-33333333", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
139 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
140 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
141 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
142 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
143 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
144 parser.Parse(accesses, "/instances/44444444-44444444-44444444-44444444-44444444/file", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
145 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
146 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
147 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
148 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
149 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
150 accesses.clear(); |
99 | 151 parser.Parse(accesses, "/instances/44444444-44444444-44444444-44444444-44444444/preview", noGetArguments.GetMap()); |
152 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); | |
153 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); | |
154 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); | |
155 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); | |
156 | |
157 accesses.clear(); | |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
158 parser.Parse(accesses, "/web-viewer/instances/jpeg95-44444444-44444444-44444444-44444444-44444444_0", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
159 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
160 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
161 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
162 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
163 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
164 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
165 parser.Parse(accesses, "/osimis-viewer/images/44444444-44444444-44444444-44444444-44444444/0/high-quality", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
166 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
167 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
168 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
169 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
170 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
171 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
172 parser.Parse(accesses, "/system", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
173 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/system")); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
174 |
146
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
175 accesses.clear(); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
176 parser.Parse(accesses, "/instances", noGetArguments.GetMap()); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
177 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/instances")); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
178 |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
179 accesses.clear(); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
180 parser.Parse(accesses, "/series", noGetArguments.GetMap()); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
181 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/series")); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
182 |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
183 accesses.clear(); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
184 parser.Parse(accesses, "/studies", noGetArguments.GetMap()); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
185 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/studies")); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
186 |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
187 accesses.clear(); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
188 parser.Parse(accesses, "/patients", noGetArguments.GetMap()); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
189 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/patients")); |
f294a3c6dbe6
Added 2 new default permissions for dicom-web (get and post on dicom-web/studies)
Alain Mazy <am@osimis.io>
parents:
112
diff
changeset
|
190 |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
191 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
192 ///////////////////////// dicom-web |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
193 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
194 parser.Parse(accesses, "/dicom-web/studies/2.2", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
195 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
196 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
197 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
198 accesses.clear(); |
152
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
199 parser.Parse(accesses, "/dicom-web/studies/2.2/instances", noGetArguments.GetMap()); |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
200 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
201 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
202 |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
203 accesses.clear(); |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
204 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
205 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
206 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
207 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
208 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
209 accesses.clear(); |
152
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
210 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/instances", noGetArguments.GetMap()); |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
211 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
212 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
213 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
214 |
9f686ee4b158
Added missing parsing of /dicom-web/studies/.../instances
Alain Mazy <am@osimis.io>
parents:
146
diff
changeset
|
215 accesses.clear(); |
80 | 216 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/rendered", noGetArguments.GetMap()); |
217 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); | |
218 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); | |
219 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); | |
220 | |
221 accesses.clear(); | |
222 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/metadata", noGetArguments.GetMap()); | |
223 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); | |
224 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); | |
225 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); | |
226 | |
227 accesses.clear(); | |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
228 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/instances/4.4", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
229 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
230 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
231 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
232 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
233 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
234 accesses.clear(); |
80 | 235 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/instances/4.4/metadata", noGetArguments.GetMap()); |
236 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); | |
237 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); | |
238 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); | |
239 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); | |
240 | |
241 accesses.clear(); | |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
242 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/instances/4.4/frames/0", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
243 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
244 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
245 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
246 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
247 |
80 | 248 accesses.clear(); |
249 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/instances/4.4/frames/0/rendered", noGetArguments.GetMap()); | |
250 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); | |
251 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); | |
252 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); | |
253 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); | |
254 | |
98
c82f0c7d2c6a
Fix parsing of dicom-web/studies/../series/../instances/../bulk/.. routes
Alain Mazy <am@osimis.io>
parents:
92
diff
changeset
|
255 accesses.clear(); |
c82f0c7d2c6a
Fix parsing of dicom-web/studies/../series/../instances/../bulk/.. routes
Alain Mazy <am@osimis.io>
parents:
92
diff
changeset
|
256 parser.Parse(accesses, "/dicom-web/studies/2.2/series/3.3/instances/4.4/bulk/7fe00010", noGetArguments.GetMap()); |
c82f0c7d2c6a
Fix parsing of dicom-web/studies/../series/../instances/../bulk/.. routes
Alain Mazy <am@osimis.io>
parents:
92
diff
changeset
|
257 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
c82f0c7d2c6a
Fix parsing of dicom-web/studies/../series/../instances/../bulk/.. routes
Alain Mazy <am@osimis.io>
parents:
92
diff
changeset
|
258 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
c82f0c7d2c6a
Fix parsing of dicom-web/studies/../series/../instances/../bulk/.. routes
Alain Mazy <am@osimis.io>
parents:
92
diff
changeset
|
259 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
c82f0c7d2c6a
Fix parsing of dicom-web/studies/../series/../instances/../bulk/.. routes
Alain Mazy <am@osimis.io>
parents:
92
diff
changeset
|
260 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
c82f0c7d2c6a
Fix parsing of dicom-web/studies/../series/../instances/../bulk/.. routes
Alain Mazy <am@osimis.io>
parents:
92
diff
changeset
|
261 |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
262 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
263 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
264 const char* getKeys[] = {"0020000D"}; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
265 const char* getValues[] = {"2.2"}; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
266 AssociativeArray getArguments(1, getKeys, getValues, false); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
267 parser.Parse(accesses, "/dicom-web/studies", getArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
268 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
269 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
270 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
271 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
272 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
273 const char* getKeys[] = {"0020000D", "0020000E"}; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
274 const char* getValues[] = {"2.2", "3.3"}; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
275 AssociativeArray getArguments(2, getKeys, getValues, false); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
276 parser.Parse(accesses, "/dicom-web/series", getArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
277 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
278 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
279 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
280 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
281 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
282 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
283 const char* getKeys[] = {"0020000D", "00080018", "0020000E"}; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
284 const char* getValues[] = {"2.2", "4.4", "3.3", }; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
285 AssociativeArray getArguments(3, getKeys, getValues, false); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
286 parser.Parse(accesses, "/dicom-web/studies", getArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
287 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
288 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
289 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
290 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
291 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
292 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
293 accesses.clear(); |
92
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
294 const char* getKeys[] = {"StudyInstanceUID", "SOPInstanceUID", "SeriesInstanceUID"}; |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
295 const char* getValues[] = {"2.2", "4.4", "3.3", }; |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
296 AssociativeArray getArguments(3, getKeys, getValues, false); |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
297 parser.Parse(accesses, "/dicom-web/studies", getArguments.GetMap()); |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
298 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Instance, instanceOrthancId)); |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
299 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Series, seriesOrthancId)); |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
300 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Study, studyOrthancId)); |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
301 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
302 } |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
303 { |
8dc22bc353de
QIDO-RS now supports named tags in get arguments
Alain Mazy <am@osimis.io>
parents:
80
diff
changeset
|
304 accesses.clear(); |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
305 const char* getKeys[] = {"00100010"}; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
306 const char* getValues[] = {"PATIENT.1"}; |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
307 AssociativeArray getArguments(1, getKeys, getValues, false); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
308 parser.Parse(accesses, "/dicom-web/studies", getArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
309 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_Patient, patientOrthancId)); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
310 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
311 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
312 { // qido with no arguments = search all => system resource |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
313 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
314 parser.Parse(accesses, "/dicom-web/studies", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
315 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/dicom-web/studies")); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
316 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
317 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
318 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
319 parser.Parse(accesses, "/dicom-web/servers", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
320 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/dicom-web/servers")); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
321 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
322 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
323 parser.Parse(accesses, "/dicom-web/info", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
324 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/dicom-web/info")); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
325 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
326 accesses.clear(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
327 parser.Parse(accesses, "/dicom-web/servers/test/qido", noGetArguments.GetMap()); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
328 ASSERT_TRUE(IsAccessing(accesses, AccessLevel_System, "/dicom-web/servers/test/qido")); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
329 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
330 } |
111 | 331 |
332 bool IsInJsonArray(const char* needle, const Json::Value& array) | |
333 { | |
334 for (Json::ArrayIndex i = 0; i < array.size(); ++i) | |
335 { | |
336 if (array[i].asString() == needle) | |
337 { | |
338 return true; | |
339 } | |
340 } | |
341 return false; | |
342 } | |
343 | |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
344 TEST(ToolsFindLabels, AdjustQueryForUserWithoutAuthorizedLabels) |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
345 { |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
346 // user who has access no authorized labels |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
347 OrthancPlugins::IAuthorizationService::UserProfile profile; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
348 |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
349 { // any call to tools/find for such a user should fail since it does not have access to anything |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
350 Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
351 query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
352 query["Query"]["PatientID"] = "*"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
353 |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
354 ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
355 } |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
356 |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
357 } |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
358 |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
359 |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
360 |
111 | 361 TEST(ToolsFindLabels, AdjustQueryForUserWithoutRestrictions) |
362 { | |
363 // user who has access to all labels | |
364 OrthancPlugins::IAuthorizationService::UserProfile profile; | |
365 profile.authorizedLabels.insert("*"); | |
366 | |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
367 { // no labels filtering before transformation -> no labels filtering after |
111 | 368 Json::Value query; |
369 query["Query"] = Json::objectValue; | |
370 query["Query"]["PatientID"] = "*"; | |
371 | |
372 AdjustToolsFindQueryLabels(query, profile); | |
373 | |
374 ASSERT_FALSE(query.isMember("Labels")); | |
375 ASSERT_FALSE(query.isMember("LabelsConstraint")); | |
376 } | |
377 | |
378 { // missing LabelsConstraint -> throw | |
379 Json::Value query; | |
380 query["Query"] = Json::objectValue; | |
381 query["Query"]["PatientID"] = "*"; | |
382 query["Labels"] = Json::arrayValue; | |
383 query["Labels"].append("a"); | |
384 | |
385 ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); | |
386 } | |
387 | |
388 { // simple 'All' label constraint is not modified since user has access to all labels | |
389 Json::Value query; | |
390 query["Query"] = Json::objectValue; | |
391 query["Query"]["PatientID"] = "*"; | |
392 query["Labels"] = Json::arrayValue; | |
393 query["Labels"].append("a"); | |
394 query["Labels"].append("b"); | |
395 query["LabelsConstraint"] = "All"; | |
396 | |
397 AdjustToolsFindQueryLabels(query, profile); | |
398 | |
399 ASSERT_EQ(2u, query["Labels"].size()); | |
400 ASSERT_TRUE(IsInJsonArray("a", query["Labels"])); | |
401 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
402 ASSERT_EQ("All", query["LabelsConstraint"].asString()); | |
403 } | |
404 | |
405 { // simple 'Any' label constraint is not modified since user has access to all labels | |
406 Json::Value query; | |
407 query["Query"] = Json::objectValue; | |
408 query["Query"]["PatientID"] = "*"; | |
409 query["Labels"] = Json::arrayValue; | |
410 query["Labels"].append("a"); | |
411 query["Labels"].append("b"); | |
412 query["LabelsConstraint"] = "Any"; | |
413 | |
414 AdjustToolsFindQueryLabels(query, profile); | |
415 | |
416 ASSERT_EQ(2u, query["Labels"].size()); | |
417 ASSERT_TRUE(IsInJsonArray("a", query["Labels"])); | |
418 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
419 ASSERT_EQ("Any", query["LabelsConstraint"].asString()); | |
420 } | |
421 | |
422 { // simple 'None' label constraint is not modified since user has access to all labels | |
423 Json::Value query; | |
424 query["Query"] = Json::objectValue; | |
425 query["Query"]["PatientID"] = "*"; | |
426 query["Labels"] = Json::arrayValue; | |
427 query["Labels"].append("a"); | |
428 query["Labels"].append("b"); | |
429 query["LabelsConstraint"] = "None"; | |
430 | |
431 AdjustToolsFindQueryLabels(query, profile); | |
432 | |
433 ASSERT_EQ(2u, query["Labels"].size()); | |
434 ASSERT_TRUE(IsInJsonArray("a", query["Labels"])); | |
435 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
436 ASSERT_EQ("None", query["LabelsConstraint"].asString()); | |
437 } | |
438 | |
439 } | |
440 | |
441 | |
442 TEST(ToolsFindLabels, AdjustQueryForUserWithAuthorizedLabelsRestrictions) | |
443 { | |
444 // user who has access only to "b" and "c" | |
445 OrthancPlugins::IAuthorizationService::UserProfile profile; | |
446 profile.authorizedLabels.insert("b"); | |
447 profile.authorizedLabels.insert("c"); | |
448 | |
449 { // no labels before transformation -> "b", "c" label after | |
450 Json::Value query; | |
451 query["Query"] = Json::objectValue; | |
452 query["Query"]["PatientID"] = "*"; | |
453 | |
454 AdjustToolsFindQueryLabels(query, profile); | |
455 | |
456 ASSERT_EQ(2u, query["Labels"].size()); | |
457 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
458 ASSERT_TRUE(IsInJsonArray("c", query["Labels"])); | |
459 ASSERT_EQ("Any", query["LabelsConstraint"].asString()); | |
460 } | |
461 | |
462 { // missing LabelsConstraint -> throw | |
463 Json::Value query; | |
464 query["Query"] = Json::objectValue; | |
465 query["Query"]["PatientID"] = "*"; | |
466 query["Labels"] = Json::arrayValue; | |
467 query["Labels"].append("a"); | |
468 | |
469 ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); | |
470 } | |
471 | |
472 { // 'All' label constraint is not modified if it contains the labels that are accessible to the user | |
473 Json::Value query; | |
474 query["Query"] = Json::objectValue; | |
475 query["Query"]["PatientID"] = "*"; | |
476 query["Labels"] = Json::arrayValue; | |
477 query["Labels"].append("b"); | |
478 query["Labels"].append("c"); | |
479 query["LabelsConstraint"] = "All"; | |
480 | |
481 AdjustToolsFindQueryLabels(query, profile); | |
482 | |
483 ASSERT_EQ(2u, query["Labels"].size()); | |
484 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
485 ASSERT_TRUE(IsInJsonArray("c", query["Labels"])); | |
486 ASSERT_EQ("All", query["LabelsConstraint"].asString()); | |
487 } | |
488 | |
489 { // 'All' label constraint is not modified if it contains a subset of the labels that are accessible to the user | |
490 Json::Value query; | |
491 query["Query"] = Json::objectValue; | |
492 query["Query"]["PatientID"] = "*"; | |
493 query["Labels"] = Json::arrayValue; | |
494 query["Labels"].append("b"); | |
495 query["LabelsConstraint"] = "All"; | |
496 | |
497 AdjustToolsFindQueryLabels(query, profile); | |
498 | |
499 ASSERT_EQ(1u, query["Labels"].size()); | |
500 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
501 ASSERT_EQ("All", query["LabelsConstraint"].asString()); | |
502 } | |
503 | |
504 { // 'All' label constraint becomes invalid if it contains a label that is not accessible to the user | |
505 Json::Value query; | |
506 query["Query"] = Json::objectValue; | |
507 query["Query"]["PatientID"] = "*"; | |
508 query["Labels"] = Json::arrayValue; | |
509 query["Labels"].append("a"); | |
510 query["Labels"].append("b"); | |
511 query["LabelsConstraint"] = "All"; | |
512 | |
513 ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); | |
514 } | |
515 | |
516 { // 'Any' label constraint is not modified if it contains the labels that are accessible to the user | |
517 Json::Value query; | |
518 query["Query"] = Json::objectValue; | |
519 query["Query"]["PatientID"] = "*"; | |
520 query["Labels"] = Json::arrayValue; | |
521 query["Labels"].append("b"); | |
522 query["Labels"].append("c"); | |
523 query["LabelsConstraint"] = "Any"; | |
524 | |
525 AdjustToolsFindQueryLabels(query, profile); | |
526 | |
527 ASSERT_EQ(2u, query["Labels"].size()); | |
528 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
529 ASSERT_TRUE(IsInJsonArray("c", query["Labels"])); | |
530 ASSERT_EQ("Any", query["LabelsConstraint"].asString()); | |
531 } | |
532 | |
533 { // 'Any' label constraint is not modified if it contains a subset of the labels that are accessible to the user | |
534 Json::Value query; | |
535 query["Query"] = Json::objectValue; | |
536 query["Query"]["PatientID"] = "*"; | |
537 query["Labels"] = Json::arrayValue; | |
538 query["Labels"].append("b"); | |
539 query["LabelsConstraint"] = "Any"; | |
540 | |
541 AdjustToolsFindQueryLabels(query, profile); | |
542 | |
543 ASSERT_EQ(1u, query["Labels"].size()); | |
544 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
545 ASSERT_EQ("Any", query["LabelsConstraint"].asString()); | |
546 } | |
547 | |
548 { // 'Any' label constraint only contains the intersection of the initial requested labels and the ones authorized to the user | |
549 Json::Value query; | |
550 query["Query"] = Json::objectValue; | |
551 query["Query"]["PatientID"] = "*"; | |
552 query["Labels"] = Json::arrayValue; | |
553 query["Labels"].append("a"); | |
554 query["Labels"].append("b"); | |
555 query["LabelsConstraint"] = "Any"; | |
556 | |
557 AdjustToolsFindQueryLabels(query, profile); | |
558 | |
559 ASSERT_EQ(1u, query["Labels"].size()); | |
560 ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); | |
561 ASSERT_EQ("Any", query["LabelsConstraint"].asString()); | |
562 } | |
563 | |
564 { // 'Any' label constraint can not be modified if the initial requested labels have nothing in common with the authorized labels | |
565 Json::Value query; | |
566 query["Query"] = Json::objectValue; | |
567 query["Query"]["PatientID"] = "*"; | |
568 query["Labels"] = Json::arrayValue; | |
569 query["Labels"].append("d"); | |
570 query["Labels"].append("e"); | |
571 query["LabelsConstraint"] = "Any"; | |
572 | |
573 ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); | |
574 } | |
575 | |
576 { // 'None' label constraint can not be modified since the user has only 'authorized_labels' -> throw | |
577 Json::Value query; | |
578 query["Query"] = Json::objectValue; | |
579 query["Query"]["PatientID"] = "*"; | |
580 query["Labels"] = Json::arrayValue; | |
581 query["Labels"].append("b"); | |
582 query["Labels"].append("c"); | |
583 query["LabelsConstraint"] = "None"; | |
584 | |
585 ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); | |
586 } | |
587 } | |
588 | |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
589 // TEST(ToolsFindLabels, AdjustQueryForUserWithForbiddenLabelsRestrictions) |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
590 // { |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
591 // // user who has forbidden access to "b" and "c" |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
592 // OrthancPlugins::IAuthorizationService::UserProfile profile; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
593 // profile.forbiddenLabels.insert("b"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
594 // profile.forbiddenLabels.insert("c"); |
111 | 595 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
596 // { // no labels before transformation -> "b", "c" label after (with a 'None' constraint) |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
597 // Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
598 // query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
599 // query["Query"]["PatientID"] = "*"; |
111 | 600 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
601 // AdjustToolsFindQueryLabels(query, profile); |
111 | 602 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
603 // ASSERT_EQ(2u, query["Labels"].size()); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
604 // ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
605 // ASSERT_TRUE(IsInJsonArray("c", query["Labels"])); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
606 // ASSERT_EQ("None", query["LabelsConstraint"].asString()); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
607 // } |
111 | 608 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
609 // { // missing LabelsConstraint -> throw |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
610 // Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
611 // query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
612 // query["Query"]["PatientID"] = "*"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
613 // query["Labels"] = Json::arrayValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
614 // query["Labels"].append("a"); |
111 | 615 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
616 // ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
617 // } |
111 | 618 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
619 // { // 'All' label constraint can not be modified for user with forbidden labels |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
620 // Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
621 // query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
622 // query["Query"]["PatientID"] = "*"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
623 // query["Labels"] = Json::arrayValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
624 // query["Labels"].append("b"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
625 // query["Labels"].append("c"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
626 // query["LabelsConstraint"] = "All"; |
111 | 627 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
628 // ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
629 // } |
111 | 630 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
631 // { // 'Any' label constraint can not be modified for user with forbidden labels |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
632 // Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
633 // query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
634 // query["Query"]["PatientID"] = "*"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
635 // query["Labels"] = Json::arrayValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
636 // query["Labels"].append("b"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
637 // query["Labels"].append("c"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
638 // query["LabelsConstraint"] = "Any"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
639 |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
640 // ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
641 // } |
111 | 642 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
643 // { // 'Any' label constraint can not be modified for user with forbidden labels |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
644 // Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
645 // query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
646 // query["Query"]["PatientID"] = "*"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
647 // query["Labels"] = Json::arrayValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
648 // query["Labels"].append("a"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
649 // query["LabelsConstraint"] = "Any"; |
111 | 650 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
651 // ASSERT_THROW(AdjustToolsFindQueryLabels(query, profile), Orthanc::OrthancException); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
652 // } |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
653 |
111 | 654 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
655 // { // 'None' label constraint are modified to always contain at least all forbidden_labels of the user |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
656 // Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
657 // query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
658 // query["Query"]["PatientID"] = "*"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
659 // query["Labels"] = Json::arrayValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
660 // query["Labels"].append("b"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
661 // query["LabelsConstraint"] = "None"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
662 |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
663 // AdjustToolsFindQueryLabels(query, profile); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
664 // ASSERT_EQ(2u, query["Labels"].size()); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
665 // ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
666 // ASSERT_TRUE(IsInJsonArray("c", query["Labels"])); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
667 // ASSERT_EQ("None", query["LabelsConstraint"].asString()); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
668 // } |
111 | 669 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
670 // { // 'None' label constraint are modified to always contain at least all forbidden_labels of the user |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
671 // Json::Value query; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
672 // query["Query"] = Json::objectValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
673 // query["Query"]["PatientID"] = "*"; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
674 // query["Labels"] = Json::arrayValue; |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
675 // query["Labels"].append("d"); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
676 // query["LabelsConstraint"] = "None"; |
111 | 677 |
112
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
678 // AdjustToolsFindQueryLabels(query, profile); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
679 // ASSERT_EQ(3u, query["Labels"].size()); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
680 // ASSERT_TRUE(IsInJsonArray("b", query["Labels"])); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
681 // ASSERT_TRUE(IsInJsonArray("c", query["Labels"])); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
682 // ASSERT_TRUE(IsInJsonArray("d", query["Labels"])); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
683 // ASSERT_EQ("None", query["LabelsConstraint"].asString()); |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
684 // } |
572955904411
added tools/labels + removed forbidden_labels
Alain Mazy <am@osimis.io>
parents:
111
diff
changeset
|
685 // } |
111 | 686 |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
687 } |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
688 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
689 int main(int argc, char **argv) |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
690 { |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
691 ::testing::InitGoogleTest(&argc, argv); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
692 return RUN_ALL_TESTS(); |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
693 } |