Mercurial > hg > orthanc-tests
annotate NewTests/README @ 605:76e5f75249ca
fix
author | Alain Mazy <am@osimis.io> |
---|---|
date | Tue, 23 Jan 2024 10:21:30 +0100 |
parents | b1e1c7149a37 |
children | a5882a40ccb6 |
rev | line source |
---|---|
473
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
1 This is a new set of tests directly written in python3. They should be able to handle |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
2 more complex scenarios like upgrades or change of configurations. |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
3 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
4 Prerequisites: |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
5 ============= |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
6 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
7 These tests use python3 and require some modules define in requirements.txt. Therefore, you need |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
8 to first execute |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
9 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
10 pip3 install -r requirements.txt |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
11 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
12 Introduction: |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
13 ============ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
14 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
15 You may use these tests to debug Orthanc on your machine. In this case, there is |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
16 usually a `preparation` phase and `execution` phase. You are usually able to |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
17 interrupt the tests between these 2 phases such that you can start your debugger. |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
18 Use the `--break_after_preparation` option to do so. |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
19 As well, you may skip the preperation phase thanks to the `--skip_preparation` option. |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
20 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
21 The orthanc that is being tested is called the `orthanc-under-tests`. |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
22 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
23 Examples: |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
24 ======== |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
25 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
26 All-tests: |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
27 --------- |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
28 |
474 | 29 with a local executable: |
30 | |
473
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
31 python3 NewTests/main.py --pattern=* \ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
32 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
33 --orthanc_under_tests_http_port=8043 \ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
34 --plugin=/home/alain/o/build/orthanc/libHousekeeper.so \ |
483 | 35 --plugin=/home/alain/o/build/orthanc/libDelayedDeletion.so \ |
489 | 36 --plugin=/home/alain/o/build/orthanc-dicomweb/libOrthancDicomWeb.so \ |
473
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
37 --plugin=/home/alain/o/build/orthanc-gdcm/libOrthancGdcm.so |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
38 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
39 |
474 | 40 with Docker: |
41 | |
42 python3 NewTests/main.py --pattern=* \ | |
43 --orthanc_under_tests_docker_image=osimis/orthanc:current \ | |
44 --orthanc_previous_version_docker_image=osimis/orthanc:22.4.0 \ | |
45 --orthanc_under_tests_http_port=8043 | |
46 | |
473
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
47 Housekeeper: |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
48 ----------- |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
49 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
50 Run the Housekeeper tests with your locally build version and break between preparation |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
51 and execution to allow you to start your debugger. |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
52 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
53 python3 NewTests/main.py --pattern=Housekeeper.test_housekeeper.TestHousekeeper.test_before_after_reconstruction \ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
54 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
55 --orthanc_under_tests_http_port=8043 \ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
56 --plugin=/home/alain/o/build/orthanc/libHousekeeper.so \ |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
57 --break_after_preparation |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
58 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
59 The test script will: |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
60 - generate 2 configuration file in the `configurations` folder, |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
61 - start your local Orthanc version to prepare the db with one of the configuration file, |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
62 - drive this Orthanc to prepare the DB |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
63 - interrupt and instruct you how to start your own version, pointing to the configuration file to use |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
64 - execute tests |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
65 |
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
66 |
486
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
67 ExtraMainDicomTags: |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
68 ------------------ |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
69 |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
70 Runs an Orthanc in Index Only mode while storing extra main dicom tags and perform various find (including DicomWeb). |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
71 |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
72 Run the ExtraMainDicomTags tests with your locally build version. |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
73 |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
74 python3 NewTests/main.py --pattern=ExtraMainDicomTags.* \ |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
75 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
76 --orthanc_under_tests_http_port=8043 \ |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
77 --plugin=/home/alain/o/build/orthanc-dicomweb/libOrthancDicomWeb.so \ |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
78 --break_after_preparation |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
79 |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
80 The test script will: |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
81 - generate 1 configuration file in the `configurations` folder, |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
82 - interrupt and instruct you how to start your own version, pointing to the configuration file to use |
6144ef431512
new tests for sequences in ExtraMainDicomTags
Alain Mazy <am@osimis.io>
parents:
483
diff
changeset
|
83 - execute tests |
473
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
84 |
506
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
85 WithIngestTranscoding: |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
86 ------------------ |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
87 |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
88 Runs an Orthanc with IngestTranscoding configured. |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
89 |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
90 Run theses tests with your locally build version. |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
91 |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
92 python3 NewTests/main.py --pattern=WithIngestTranscoding.* \ |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
93 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
94 --orthanc_under_tests_http_port=8043 \ |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
95 --break_after_preparation |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
96 |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
97 The test script will: |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
98 - generate 1 configuration file in the `configurations` folder, |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
99 - interrupt and instruct you how to start your own version, pointing to the configuration file to use |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
100 - execute tests |
2170c10f9d49
added new tests with ingest transcoding
Alain Mazy <am@osimis.io>
parents:
490
diff
changeset
|
101 |
473
4ee85b016a40
added NewTests framework - only the Housekeeper tests right now
Alain Mazy <am@osimis.io>
parents:
diff
changeset
|
102 |
489 | 103 StorageCompression: |
104 ------------------ | |
105 | |
106 Run the StorageCompression tests with your locally build version and break before and after preparation | |
107 and execution to allow you to start your debugger. | |
108 | |
109 python3 NewTests/main.py --pattern=StorageCompression.test_storage_compression.TestStorageCompression.* \ | |
110 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ | |
111 --orthanc_under_tests_http_port=8043 \ | |
112 --break_after_preparation \ | |
113 --break_before_preparation | |
114 | |
115 The test script will: | |
116 - generate 2 configuration file in the `configurations` folder, | |
117 - start your local Orthanc version to prepare the db with one of the configuration file, | |
118 - drive this Orthanc to prepare the DB | |
119 - interrupt and instruct you how to start your own version, pointing to the configuration file to use | |
120 - execute tests | |
490 | 121 |
122 | |
123 MaxStorageReject: | |
124 ------------------ | |
125 | |
126 Run the MaxStorageReject tests with your locally build version and break before and after preparation | |
127 and execution to allow you to start your debugger. | |
128 | |
129 python3 NewTests/main.py --pattern=MaxStorageReject.test_max_storage_reject.TestMaxStorageReject.* \ | |
130 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ | |
131 --orthanc_under_tests_http_port=8043 \ | |
132 --plugin=/home/alain/o/build/orthanc-dicomweb/libOrthancDicomWeb.so \ | |
133 --break_after_preparation | |
134 | |
576
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
135 |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
136 Authorization: |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
137 -------------- |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
138 |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
139 Run the Authorization tests with your locally build version and break before execution to allow you to start your debugger. |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
140 |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
141 python3 NewTests/main.py --pattern=Authorization.test_authorization.TestAuthorization.* \ |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
142 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
143 --orthanc_under_tests_http_port=8043 \ |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
144 --plugin=/home/alain/o/build/orthanc-dicomweb/libOrthancDicomWeb.so \ |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
145 --plugin=/home/alain/o/build/orthanc-authorization/libOrthancAuthorization.so \ |
80ba6f1d521c
new tests for authorization plugin (native only)
Alain Mazy <am@osimis.io>
parents:
506
diff
changeset
|
146 --break_before_preparation |
577 | 147 |
148 with Docker: | |
149 | |
580 | 150 python3 NewTests/main.py --pattern=Authorization.test_authorization.TestAuthorization.* \ |
577 | 151 --orthanc_under_tests_docker_image=osimis/orthanc:current \ |
152 --orthanc_previous_version_docker_image=osimis/orthanc:22.4.0 \ | |
153 --orthanc_under_tests_http_port=8043 | |
592 | 154 |
155 | |
156 Concurrency: | |
157 ----------- | |
158 | |
159 Run the Concurrency tests with your locally build version and break before execution to allow you to start your debugger. | |
160 | |
161 python3 NewTests/main.py --pattern=Concurrency.test_concurrency.TestConcurrency.* \ | |
162 --orthanc_under_tests_exe=/home/alain/o/build/orthanc/Orthanc \ | |
163 --orthanc_under_tests_http_port=8043 \ | |
164 --plugin=/home/alain/o/build/orthanc-dicomweb/libOrthancDicomWeb.so \ | |
165 --plugin=/home/alain/o/build/pg/libOrthancPostgreSQLIndex.so \ | |
166 --break_before_preparation | |
167 | |
168 with Docker: | |
169 | |
170 python3 NewTests/main.py --pattern=Concurrency.test_concurrency.TestConcurrency.* \ | |
171 --orthanc_under_tests_docker_image=osimis/orthanc:current \ | |
172 --orthanc_under_tests_http_port=8043 | |
596 | 173 |
174 PG upgrades: | |
175 ----------- | |
176 | |
177 with Docker: | |
178 | |
179 python3 NewTests/main.py --pattern=PostgresUpgrades.test_pg_upgrades.TestPgUpgrades.* \ | |
180 --orthanc_under_tests_docker_image=osimis/orthanc:current |