7d704db968238179b1a68c85fca6f68ec4d3a30b
[smo/teiv.git] /
1 /*
2  *  ============LICENSE_START=======================================================
3  *  Copyright (C) 2024 Ericsson
4  *  Modifications Copyright (C) 2024-2025 OpenInfra Foundation Europe
5  *  ================================================================================
6  *  Licensed under the Apache License, Version 2.0 (the "License");
7  *  you may not use this file except in compliance with the License.
8  *  You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *  Unless required by applicable law or agreed to in writing, software
13  *  distributed under the License is distributed on an "AS IS" BASIS,
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *  See the License for the specific language governing permissions and
16  *  limitations under the License.
17  *
18  *  SPDX-License-Identifier: Apache-2.0
19  *  ============LICENSE_END=========================================================
20  */
21 package contracts.classifiers
22
23 import org.springframework.cloud.contract.spec.Contract
24
25 [
26     Contract.make {
27         description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter."
28         request {
29             method GET()
30             url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
31         }
32         response {
33             status OK()
34             headers {
35                 contentType('application/json')
36             }
37             body('''{
38                 "items": [
39                     {
40                         "o-ran-smo-teiv-ran:ODUFunction": [
41                             {
42                                 "classifiers": [
43                                     "test-app-module:Rural",
44                                     "test-app-module:Weekend"
45                                 ],
46                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
47                             }
48                         ]
49                     },
50                     {
51                         "o-ran-smo-teiv-ran:ODUFunction": [
52                             {
53                                 "classifiers": [
54                                     "test-app-module:Indoor",
55                                     "test-app-module:Rural",
56                                     "test-app-module:Weekend"
57                                 ],
58                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
59                             }
60                         ]
61                     }
62                 ],
63                 "self": {
64                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
65                 },
66                 "first": {
67                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
68                 },
69                 "prev": {
70                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
71                 },
72                 "next": {
73                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
74                 },
75                 "last": {
76                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
77                 },
78                 "totalCount": 2
79             }''')
80             bodyMatchers {
81                 jsonPath('$.items', byType {
82                     occurrence(2)
83                 })
84                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
85                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
86                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
87                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
88                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
89                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
90                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
91             }
92         }
93     },
94     Contract.make {
95         description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter(OR)"
96         request {
97             method GET()
98             url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
99         }
100         response {
101             status OK()
102             headers {
103                 contentType('application/json')
104             }
105             body('''{
106                 "items": [
107                     {
108                         "o-ran-smo-teiv-ran:ODUFunction": [
109                             {
110                                 "classifiers": [
111                                     "test-app-module:Indoor"
112                                 ],
113                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
114                             }
115                         ]
116                     },
117                     {
118                         "o-ran-smo-teiv-ran:ODUFunction": [
119                             {
120                                 "classifiers": [
121                                     "test-app-module:Rural",
122                                     "test-app-module:Weekend"
123                                 ],
124                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
125                             }
126                         ]
127                     },
128                     {
129                         "o-ran-smo-teiv-ran:ODUFunction": [
130                             {
131                                 "classifiers": [
132                                     "test-app-module:Indoor",
133                                     "test-app-module:Rural",
134                                     "test-app-module:Weekend"
135                                 ],
136                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
137                             }
138                         ]
139                     },
140                     {
141                         "o-ran-smo-teiv-ran:ODUFunction": [
142                             {
143                                 "classifiers": [
144                                     "test-app-module:Indoor",
145                                     "test-app-module:Weekend"
146                                 ],
147                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9"
148                             }
149                         ]
150                     }
151                 ],
152                 "self": {
153                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
154                 },
155                 "first": {
156                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
157                 },
158                 "prev": {
159                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
160                 },
161                 "next": {
162                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
163                 },
164                 "last": {
165                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
166                 },
167                 "totalCount": 4
168             }''')
169             bodyMatchers {
170                 jsonPath('$.items', byType {
171                     occurrence(4)
172                 })
173                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
174                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
175                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
176                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
177                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
178                 jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
179                 jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
180                 jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
181                 jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
182                 jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
183                 jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
184                 jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
185             }
186         }
187     },
188     Contract.make {
189         description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter.(AND)"
190         request {
191             method GET()
192             url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
193         }
194         response {
195             status OK()
196             headers {
197                 contentType('application/json')
198             }
199             body('''{
200                 "items": [
201                 {
202                     "o-ran-smo-teiv-ran:ODUFunction": [
203                         {
204                             "classifiers": [
205                                 "test-app-module:Rural",
206                                 "test-app-module:Weekend"
207                             ],
208                             "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
209                         }
210                     ]
211                 },
212                 {
213                     "o-ran-smo-teiv-ran:ODUFunction": [
214                         {
215                             "classifiers": [
216                                 "test-app-module:Indoor",
217                                 "test-app-module:Rural",
218                                 "test-app-module:Weekend"
219                             ],
220                             "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
221                         }
222                     ]
223                 }
224             ],
225             "self": {
226                 "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
227             },
228             "first": {
229                 "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
230             },
231             "prev": {
232                 "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
233             },
234             "next": {
235                 "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
236             },
237             "last": {
238                 "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
239             },
240             "totalCount": 2
241             }''')
242             bodyMatchers {
243                 jsonPath('$.items', byType {
244                     occurrence(2)
245                 })
246                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
247                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
248                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
249                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
250                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
251                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
252                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
253             }
254         }
255     },
256     Contract.make {
257         description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter.(Contains)"
258         request {
259             method GET()
260             url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
261         }
262         response {
263             status OK()
264             headers {
265                 contentType('application/json')
266             }
267             body('''{
268                 "items": [
269                     {
270                         "o-ran-smo-teiv-ran:ODUFunction": [
271                             {
272                                 "classifiers": [
273                                     "test-app-module:Rural",
274                                     "test-app-module:Weekend"
275                                 ],
276                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
277                             }
278                         ]
279                     },
280                     {
281                         "o-ran-smo-teiv-ran:ODUFunction": [
282                             {
283                                 "classifiers": [
284                                     "test-app-module:Indoor",
285                                     "test-app-module:Rural",
286                                     "test-app-module:Weekend"
287                                 ],
288                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
289                             }
290                         ]
291                     }
292                 ],
293                 "self": {
294                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
295                 },
296                 "first": {
297                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
298                 },
299                 "prev": {
300                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
301                 },
302                 "next": {
303                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
304                 },
305                 "last": {
306                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
307                 },
308                 "totalCount": 2
309                 }''')
310             bodyMatchers {
311                 jsonPath('$.items', byType {
312                     occurrence(2)
313                 })
314                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
315                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
316                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
317                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
318                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
319                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
320                 jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
321             }
322         }
323     },
324     Contract.make {
325         description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter."
326         request {
327             method GET()
328             url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural']"
329         }
330         response {
331             status OK()
332             headers {
333                 contentType('application/json')
334             }
335             body('''{
336                 "items": [
337                     {
338                         "o-ran-smo-teiv-ran:ODUFunction": [
339                             {
340                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19",
341                                 "attributes": {
342                                     "gNBId" : 19
343                                 }
344                             }
345                         ]
346                     }
347                 ],
348                 "self": {
349                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural']"
350                 },
351                 "first": {
352                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural']"
353                 },
354                 "prev": {
355                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural']"
356                 },
357                 "next": {
358                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural']"
359                 },
360                 "last": {
361                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural']"
362                 },
363                 "totalCount": 1
364                 }''')
365             bodyMatchers {
366                 jsonPath('$.items', byType {
367                     occurrence(1)
368                 })
369                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
370                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBId', byEquality())
371             }
372         }
373     },
374     Contract.make {
375         description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter."
376         request {
377             method GET()
378             url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural'] | /provided-nrCellDu/classifiers[@item='test-app-module:Indoor']"
379         }
380         response {
381             status OK()
382             headers {
383                 contentType('application/json')
384             }
385             body('''{
386                 "items": [
387                     {
388                         "o-ran-smo-teiv-ran:ODUFunction": [
389                             {
390                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19",
391                                 "attributes": {
392                                     "gNBId" : 19
393                                 }
394                             }
395                         ]
396                     }
397                 ],
398                 "self": {
399                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural'] | /provided-nrCellDu/classifiers[@item='test-app-module:Indoor']"
400                 },
401                 "first": {
402                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural'] | /provided-nrCellDu/classifiers[@item='test-app-module:Indoor']"
403                 },
404                 "prev": {
405                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural'] | /provided-nrCellDu/classifiers[@item='test-app-module:Indoor']"
406                 },
407                 "next": {
408                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural'] | /provided-nrCellDu/classifiers[@item='test-app-module:Indoor']"
409                 },
410                 "last": {
411                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural'] | /provided-nrCellDu/classifiers[@item='test-app-module:Indoor']"
412                 },
413                 "totalCount": 1
414                 }''')
415             bodyMatchers {
416                 jsonPath('$.items', byType {
417                     occurrence(1)
418                 })
419                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
420                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBId', byEquality())
421             }
422         }
423     },
424     Contract.make {
425         description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter."
426         request {
427             method GET()
428             url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
429         }
430         response {
431             status OK()
432             headers {
433                 contentType('application/json')
434             }
435             body('''{
436                 "items": [
437                     {
438                         "o-ran-smo-teiv-ran:ODUFunction": [
439                             {
440                                 "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19",
441                                 "attributes": {
442                                     "gNBId" : 19
443                                 }
444                             }
445                         ]
446                     }
447                 ],
448                 "self": {
449                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
450                 },
451                 "first": {
452                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
453                 },
454                 "prev": {
455                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
456                 },
457                 "next": {
458                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
459                 },
460                 "last": {
461                     "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes(gNBId)&scopeFilter=/provided-nrCellDu/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
462                 },
463                 "totalCount": 1
464                 }''')
465             bodyMatchers {
466                 jsonPath('$.items', byType {
467                     occurrence(1)
468                 })
469                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
470                 jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBId', byEquality())
471             }
472         }
473     }
474 ]