Skip to content

Commit fd64379

Browse files
committed
Fixed tests
1 parent 4f0f848 commit fd64379

File tree

3 files changed

+87
-12
lines changed

3 files changed

+87
-12
lines changed

services/common/config/product_type_mapping.yaml

Lines changed: 77 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,169 +1,226 @@
1+
# pylint: disable=too-many-lines
2+
3+
# Copyright 2024 CS Group
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
117
types:
2-
- productType: S01SIWRAW
18+
- productType: S01SIWRAWS
19+
mission: S1
320
instrumentMode: IW
421
processingLevel: RAW
522
legacyType: IW_RAW__0S
623

24+
- productType: S01SIWRAW
25+
mission: S1
26+
instrumentMode: IW
27+
processingLevel: RAW
28+
legacyType: IW_RAW__0N
29+
730
- productType: S01SEWRAW
31+
mission: S1
832
instrumentMode: EW
933
processingLevel: RAW
1034
legacyType: EW_RAW__0S
1135

1236
- productType: S01SSMRAW
37+
mission: S1
1338
instrumentMode: SM
1439
processingLevel: RAW
1540
legacyType: SM_RAW__0S
1641

1742
- productType: S01SWVRAW
43+
mission: S1
1844
instrumentMode: WV
1945
processingLevel: RAW
2046
legacyType: WV_RAW__0S
2147

2248
- productType: S01SIWANC
49+
mission: S1
2350
instrumentMode: IW
2451
processingLevel: ANC
2552
legacyType: IW_RAW__0A
2653

2754
- productType: S01SEWANC
55+
mission: S1
2856
instrumentMode: EW
2957
processingLevel: ANC
3058
legacyType: EW_RAW__0C
3159

3260
- productType: S01SWVANC
61+
mission: S1
3362
instrumentMode: WV
3463
processingLevel: ANC
3564
legacyType: WV_RAW__0N
3665

3766
- productType: S01SEWGRD
67+
mission: S1
3868
instrumentMode: EW
3969
processingLevel: GRD
4070
legacyType: EW_GRDH_1S
4171

4272
- productType: S01SIWGRD
73+
mission: S1
4374
instrumentMode: IW
4475
processingLevel: GRD
4576
legacyType: IW_GRDH_1S
4677

4778
- productType: S01SIWOCN
79+
mission: S1
4880
instrumentMode: IW
4981
processingLevel: OCN
5082
legacyType: IW_OCN__2S
5183

5284
- productType: S01SSMOCN
85+
mission: S1
5386
instrumentMode: SM
5487
processingLevel: OCN
5588
legacyType: SM_OCN__2S
5689

5790
- productType: S01SEWSLC
91+
mission: S1
5892
instrumentMode: EW
5993
processingLevel: SLC
6094
legacyType: EW_SLC__1S
6195

6296
- productType: S01SIWSLC
97+
mission: S1
6398
instrumentMode: IW
6499
processingLevel: SLC
65100
legacyType: IW_SLC__1S
66101

67102
- productType: S01SWVOCN
103+
mission: S1
68104
instrumentMode: WV
69105
processingLevel: OCN
70106
legacyType: WV_OCN__2S
71107

72108
- productType: S01GPSRAW
109+
mission: S1
73110
instrumentMode: GPS
74111
processingLevel: RAW
75112
legacyType: GP_RAW__0_
76113

77114
- productType: S01HKMRAW
115+
mission: S1
78116
instrumentMode: HKTM
79117
processingLevel: RAW
80118
legacyType: HK_RAW__0_
81119

82120
- productType: S01AISRAW
121+
mission: S1
83122
instrumentMode: AIS
84123
processingLevel: RAW
85124
legacyType: RAW
86125

87126
- productType: S02MSIL0_
127+
mission: S2
88128
instrumentMode: MSI
89129
processingLevel: L0
90130
legacyType: MSI_L0__DS
91131

92132
- productType: S02MSIL1A
133+
mission: S2
93134
instrumentMode: MSI
94135
processingLevel: L1A
95136
legacyType: MSI_L1A_DS
96137

97138
- productType: S02MSIL1B
139+
mission: S2
98140
instrumentMode: MSI
99141
processingLevel: L1B
100142
legacyType: MSI_L1B_DS
101143

102144
- productType: S02MSIL1C
145+
mission: S2
103146
instrumentMode: MSI
104147
processingLevel: L1C
105148
legacyType: MSI_L1C_DS
106149

107150
- productType: S02MSIL2A
151+
mission: S2
108152
instrumentMode: MSI
109153
processingLevel: L2A
110154
legacyType: MSI_L2A_DS
155+
111156
- productType: S02MSISCA
157+
mission: S2
112158
instrumentMode: ABSR
113159
processingLevel: Sun Calibration
114-
legacyType:
160+
legacyType:
115161

116162
- productType: S02MSIDCA
163+
mission: S2
117164
instrumentMode: DASC
118165
processingLevel: Dark Calibration
119-
legacyType:
166+
legacyType:
120167

121168
- productType: S03SRAL0_
169+
mission: S3
122170
instrumentMode: SRAL
123171
processingLevel: L0 observation
124172
legacyType: SR_0_SRA___
125173

126174
- productType: S03SRAL0C
175+
mission: S3
127176
instrumentMode: SRAL
128177
processingLevel: L0 calibration
129178
legacyType: SR_0_CAL___
130179

131180
- productType: S03ALT1A
181+
mission: S3
132182
instrumentMode: HR
133183
processingLevel: L1A
134184
legacyType: SR_1_SRA_A_
135185

136186
- productType: S03ALT1B
187+
mission: S3
137188
instrumentMode: HR
138189
processingLevel: L1B
139190
legacyType: SR_1_SRA_BS
140191

141192
- productType: S03ALT2H
193+
mission: S3
142194
instrumentMode: HR
143195
processingLevel: Hydrology
144196
legacyType: SR_2_LAN_HY
145197

146198
- productType: S03ALTCAL
199+
mission: S3
147200
instrumentMode: SRAL
148201
processingLevel: CAL1/CAL2
149202
legacyType: SR_1_CAL
150203

151204
- productType: S03MWRL0_
205+
mission: S3
152206
instrumentMode: MWR
153207
processingLevel: L0
154208
legacyType: MW_0_MWR
155209

156210
- productType: S03MWRL1_
211+
mission: S3
157212
instrumentMode: MWR
158213
processingLevel: L1
159214
legacyType: MW_1_MWR
160215

161216
- productType: S03MWRCAL
217+
mission: S3
162218
instrumentMode: MWR
163219
processingLevel: CAL
164220
legacyType: MW_1_CAL
165221

166222
- productType: S03OLCL0_
223+
mission: S3
167224
instrumentMode: OLCI
168225
processingLevel: L0
169226
legacyType: OL_0_EFR
@@ -179,75 +236,91 @@ types:
179236
legacyType: OL_1_ERR
180237

181238
- productType: S03OLCRAC
239+
mission: S3
182240
instrumentMode: OLCI
183241
processingLevel: RAC
184242
legacyType: OL_1_RAC
185243

186244
- productType: S03OLCSPC
245+
mission: S3
187246
instrumentMode: OLCI
188247
processingLevel: SPC
189248
legacyType: OL_1_SPC
190249

191250
- productType: S03OLCLFR
251+
mission: S3
192252
instrumentMode: OLCI
193253
processingLevel: LFR
194254
legacyType: OL_2_LFR
195255

196256
- productType: S03OLCLRR
257+
mission: S3
197258
instrumentMode: OLCI
198259
processingLevel: LRR
199260
legacyType: OL_2_LRR
200261

201262
- productType: S03SLSL0_
263+
mission: S3
202264
instrumentMode: SLSTR
203265
processingLevel: L0
204266
legacyType: SL_0_SLT
205267

206268
- productType: S03SLSRBT
269+
mission: S3
207270
instrumentMode: SLSTR
208271
processingLevel: RBT
209272
legacyType: SL_1_RBT
210273

211274
- productType: S03SLSLST
275+
mission: S3
212276
instrumentMode: SLSTR
213277
processingLevel: LST
214278
legacyType: SL_2_LST
215279

216280
- productType: S03SLSFRP
281+
mission: S3
217282
instrumentMode: SLSTR
218283
processingLevel: FRP
219284
legacyType: SL_2_FRP
220285

221286
- productType: S03SYNSDR
287+
mission: S3
222288
instrumentMode: SYNERGY
223289
processingLevel: L2
224290
legacyType: SY_2_SYN
291+
225292
- productType: S03SYNAOD
293+
mission: S3
226294
instrumentMode: SYNERGY
227295
processingLevel: L2
228296
legacyType: SY_2_AOD
229297

230298
- productType: S03SYNVGT
299+
mission: S3
231300
instrumentMode: SYNERGY
232301
processingLevel: L2
233302
legacyType: SY_2_VGT
234303

235304
- productType: S03SYNVGK
305+
mission: S3
236306
instrumentMode: SYNERGY
237307
processingLevel: L2
238308
legacyType: SY_2_VGK
239309

240310
- productType: S03SYNV01
311+
mission: S3
241312
instrumentMode: SYNERGY
242313
processingLevel: L2
243314
legacyType: SY_2_VG1
244315

245316
- productType: S03SYNV10
317+
mission: S3
246318
instrumentMode: SYNERGY
247319
processingLevel: L2
248320
legacyType: SY_2_V10
249321

250322
- productType: SXXACQREP
323+
mission: S3
251324
instrumentMode: XX=01,02,03,etc
252325
processingLevel: L0 acquisition report
253-
legacyType: REP_PASS
326+
legacyType: REP_PASS

services/common/rs_server_common/utils/utils.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232

3333
# pylint: disable=too-few-public-methods
3434
logger = Logging.default(__name__)
35-
LOCAL_PTYPE_MAPPING_FILE = Path(osp.realpath(osp.dirname(__file__))).parent / "config" / "product_type_mapping.yaml"
35+
LOCAL_PTYPE_MAPPING_FILE = (
36+
Path(osp.realpath(osp.dirname(__file__))).parent.parent / "config" / "product_type_mapping.yaml"
37+
)
3638
PTYPE_MAPPING_FILE = Path(os.environ.get("PTYPE_MAPPING_CONFIG", LOCAL_PTYPE_MAPPING_FILE))
3739

3840

@@ -256,17 +258,17 @@ def _apply_product_facets(feature: dict, _odata: dict) -> None:
256258
and any(k in props for k in ("sar:instrument_mode", "eopf:instrument_mode", "instrument_mode"))
257259
):
258260
return
261+
legacy_type = next((item for item in product_type_data if item.get("legacyType") == props["product:type"]), None)
262+
props["product:type"] = legacy_type["productType"]
263+
props["processing:level"] = legacy_type["processingLevel"]
259264

260-
props["product:type"] = product_type_data["product:type"]
261-
props["processing:level"] = product_type_data["processing:level"]
262-
263-
instrument_mode_key = "eopf:instrument_mode" if product_type_data["mission"] == "S2" else "sar:instrument_mode"
265+
instrument_mode_key = "eopf:instrument_mode" if legacy_type["mission"] == "S2" else "sar:instrument_mode"
264266

265267
# Remove any previous/generic instrument_mode keys, then set the selected one
266268
for k in ("instrument_mode", "sar:instrument_mode", "eopf:instrument_mode"):
267269
props.pop(k, None)
268270

269-
props[instrument_mode_key] = product_type_data["instrument_mode"]
271+
props[instrument_mode_key] = legacy_type["instrumentMode"]
270272

271273

272274
def validate_sort_input(sortby: str):

tests/resources/endpoints/prip_feature.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
"published": "2024-08-01T00:00:00Z",
2626
"expires": "2024-08-08T00:00:00Z",
2727
"eopf:origin_datetime": "2024-08-01T00:00:00Z",
28-
"product:type": "S01SIWSLC",
28+
"product:type": "S01SIWRAW",
2929
"sar:instrument_mode": "IW",
3030
"platform": "sentinel-1a",
31-
"processing:level": "L1",
31+
"processing:level": "RAW",
3232
"product:timeliness": null,
3333
"product:timeliness_category": null,
3434
"constellation": "sentinel-1",

0 commit comments

Comments
 (0)