19
|
1 Orthanc - A Lightweight, RESTful DICOM Server
|
|
2 =============================================
|
|
3
|
|
4
|
|
5 General Information
|
|
6 ===================
|
|
7
|
|
8 This repository contains the integration tests that are used to
|
|
9 validate Orthanc before each official release, in complement to the
|
22
|
10 unit tests that are part of the Orthanc core repository. These
|
|
11 integration tests should be run by the package maintainers of the
|
|
12 various platforms supported by Orthanc.
|
19
|
13
|
|
14 General information about Orthanc can be found on its official
|
|
15 Website: http://www.orthanc-server.com/
|
|
16
|
|
17
|
22
|
18 Quick-start: Running tests on the localhost
|
|
19 ===========================================
|
|
20
|
|
21 This section explains how to run the integration tests in the simplest
|
|
22 framework. First, install Orthanc. Then, open 2 command shells and
|
|
23 run the instructions that follow:
|
|
24
|
|
25 1. In the first command shell:
|
|
26
|
|
27 # python ./GenerateConfigurationForTests.py --force
|
|
28 # Orthanc IntegrationTestsConfiguration.json
|
|
29
|
|
30 2. In the second command shell:
|
|
31
|
|
32 # python ./Tests/Run.py
|
|
33
|
|
34
|
|
35
|
19
|
36 Running the tests
|
|
37 =================
|
|
38
|
|
39 The integration tests are written in Python and are started by the
|
22
|
40 "./Tests/Run.py" script. The tests will validate some "remote"
|
|
41 instance of Orthanc (whose AET is "ORTHANC") that is assumed to be
|
|
42 running before the tests are started.
|
|
43
|
|
44 To test the DICOM protocol, a second, "local" instance of Orthanc is
|
|
45 automatically started by the integration tests (its AET is
|
|
46 "ORTHANCTEST"). This situation is depicted on the following
|
|
47 illustration:
|
|
48
|
19
|
49
|
22
|
50 +--------------------------+ +-----------------------+
|
|
51 | Local computer | | Remote computer |
|
|
52 +--------------------------+ HTTP +-----------------------+
|
|
53 | | 5000 : 8042 | |
|
|
54 | Run.py <---> ORTHANCTEST <===============> ORTHANC |
|
|
55 | | 5001 : 4242 | |
|
|
56 +--------------------------+ DICOM +-----------------------+
|
|
57
|
|
58
|
|
59 Obviously, Orthanc must be installed both on the local and remote
|
|
60 computers.
|
|
61
|
|
62 NB: Of course, the "local" and "remote" computers are allowed be the
|
|
63 same computer.
|
|
64
|
19
|
65
|
|
66
|
|
67 1. Configure the remote Orthanc
|
|
68 -------------------------------
|
|
69
|
|
70 To run the integration tests, you first have to create a configuration
|
|
71 file for the remote instance of Orthanc. This is done by running the
|
|
72 "./GenerateConfigurationForTests.py" script on the *local*
|
22
|
73 computer. This script will try and autodetect the proper network
|
|
74 parameters. For instance (a help is available):
|
19
|
75
|
|
76 # ./GenerateConfigurationForTests.py --force
|
|
77
|
|
78 This will create the "./IntegrationTestsConfiguration.json"
|
|
79 configuration file that must be copied to the remote computer. Then,
|
22
|
80 start Orthanc on the remote computer using this configuration file.
|
19
|
81
|
|
82 By default, the configuration file will use "ORTHANC" as the AET, 8042
|
|
83 as the HTTP port, and 4242 as the DICOM port. You can of course
|
|
84 adapt these parameters by editing the generated configuration file,
|
|
85 if you have special constraints or if the autodetection fails.
|
|
86
|
|
87
|
|
88
|
22
|
89 2. Start the integration tests on the local computer
|
|
90 ----------------------------------------------------
|
|
91
|
|
92 Once the remote instance of Orthanc is up and running, you can start
|
|
93 the integration tests. You have 2 possibilities: (a) use your local
|
|
94 computer as is, or (b) use Docker to have the best reproducibility.
|
|
95
|
|
96
|
|
97 (Option 2a) Without Docker:
|
|
98
|
|
99 # python ./Tests/Run.py
|
|
100
|
|
101 Use the flag "--help" to get the full list of arguments. These
|
|
102 arguments will notably allow you to specify the network parameters
|
|
103 of your remote instance of Orthanc.
|
|
104
|
|
105
|
|
106 (Option 2b) With Docker:
|
|
107
|
|
108 # sudo docker pull jodogne/orthanc-tests
|
|
109 # ./Start.sh
|
|
110
|
|
111 Note that you will have to grant root access for Docker.
|
|
112
|
|
113
|
|
114
|
19
|
115 Licensing
|
|
116 =========
|
|
117
|
|
118 The integration tests are licensed under the GPLv3 license. The sample
|
|
119 DICOM images contained in the "Database" folder are the property of
|
|
120 their respective owners, as listed in the "Database/README.txt" file.
|
|
121
|
|
122 We also kindly ask scientific works and clinical studies that make
|
|
123 use of Orthanc to cite Orthanc in their associated publications.
|
|
124 Similarly, we ask open-source and closed-source products that make
|
|
125 use of Orthanc to warn us about this use. You can cite our work
|
|
126 using the following BibTeX entry:
|
|
127
|
135
|
128 @Article{Jodogne2018,
|
|
129 author="Jodogne, S{\'e}bastien",
|
|
130 title="The {O}rthanc Ecosystem for Medical Imaging",
|
|
131 journal="Journal of Digital Imaging",
|
|
132 year="2018",
|
|
133 month="May",
|
|
134 day="03",
|
|
135 issn="1618-727X",
|
|
136 doi="10.1007/s10278-018-0082-y",
|
|
137 url="https://doi.org/10.1007/s10278-018-0082-y"
|
19
|
138 }
|