1 /*******************************************************************************
3 * Copyright (c) 2019 AT&T Intellectual Property.
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 *******************************************************************************/
24 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
30 Test permutations of x2 setup response to protobuf enb
33 func TestUnpackX2SetupResponseAndExtract(t *testing.T) {
34 logger, _ := logger.InitLogger(logger.InfoLevel)
36 var testCases = []struct {
37 key *entities.GlobalNbId
43 key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
44 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD ] []",
52 ProtocolIE_Container_elm
56 pLMN_Identity_t = 02 f8 29
58 macro_eNB_ID_t = 00 7a 80 (20 bits)
59 ProtocolIE_Container_elm
67 pLMN_Identity_t = 02 f8 29
68 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
71 BroadcastPLMNs_Item_elm = 02 f8 29
76 uL_Transmission_Bandwidth_t = 0x3
77 dL_Transmission_Bandwidth_t = 0x3`
79 packedPdu: "2006002a000002001500080002f82900007a8000140017000000630002f8290007ab50102002f829000001000133"},
81 key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
82 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD pci:100 cell_id:\"02f929:0007ac50\" tac:\"0203\" broadcast_plmns:\"02f829\" broadcast_plmns:\"02f929\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:3 ul_transmission_bandwidth:BW75 dl_transmission_bandwidth:BW75 > > eutra_mode:FDD ] []",
90 ProtocolIE_Container_elm
94 pLMN_Identity_t = 02 f8 29
96 macro_eNB_ID_t = 00 7a 80 (20 bits)
97 ProtocolIE_Container_elm
105 pLMN_Identity_t = 02 f8 29
106 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
109 BroadcastPLMNs_Item_elm = 02 f8 29
114 uL_Transmission_Bandwidth_t = 0x3
115 dL_Transmission_Bandwidth_t = 0x3
120 pLMN_Identity_t = 02 f9 29
121 eUTRANcellIdentifier_t = 00 07 ac 50 (28 bits)
124 BroadcastPLMNs_Item_elm = 02 f8 29
125 BroadcastPLMNs_Item_elm = 02 f9 29
130 uL_Transmission_Bandwidth_t = 0x4
131 dL_Transmission_Bandwidth_t = 0x4
133 packedPdu: "20060043000002001500080002f82900007a8000140030010000630002f8290007ab50102002f8290000010001330000640002f9290007ac50203202f82902f929000002000344"},
135 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
136 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD ] []",
140 procedureCode_t = 0x6
144 ProtocolIE_Container_elm
148 pLMN_Identity_t = 02 f8 29
150 macro_eNB_ID_t = 00 7a 80 (20 bits)
151 ProtocolIE_Container_elm
159 pLMN_Identity_t = 02 f8 29
160 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
163 BroadcastPLMNs_Item_elm = 02 f8 29
168 uL_Transmission_Bandwidth_t = 0x3
169 dL_Transmission_Bandwidth_t = 0x3
171 ProtocolExtensionContainer_elm
172 id_t = 0x5f //ul_EARFCN
174 EARFCNExtension = 0x2
176 packedPdu: "20060033000002001500080002f82900007a8000140020000000630002f8290007ab50102002f8291000010001330000005f0003800102"},
177 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
178 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD ] [02f729:0203 02f929:0304]",
182 procedureCode_t = 0x6
186 ProtocolIE_Container_elm
190 pLMN_Identity_t = 02 f8 29
192 macro_eNB_ID_t = 00 7a 80 (20 bits)
193 ProtocolIE_Container_elm
201 pLMN_Identity_t = 02 f8 29
202 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
205 BroadcastPLMNs_Item_elm = 02 f8 29
210 uL_Transmission_Bandwidth_t = 0x3
211 dL_Transmission_Bandwidth_t = 0x3
212 ProtocolIE_Container_elm
217 pLMN_Identity_t = 02 f7 29
218 mME_Group_ID_t = 02 03
220 pLMN_Identity_t = 02 f9 29
221 mME_Group_ID_t = 03 04
223 packedPdu: "2006003a000003001500080002f82900007a8000140017000000630002f8290007ab50102002f8290000010001330018000c1002f72902030002f9290304"},
225 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
226 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<tdd:<ear_fcn:1 transmission_bandwidth:BW50 subframe_assignment:SA2 special_subframe_info:<special_subframe_patterns:SSP4 cyclic_prefix_dl:NORMAL cyclic_prefix_ul:EXTENDED > > > eutra_mode:TDD ] []",
230 procedureCode_t = 0x6
234 ProtocolIE_Container_elm
238 pLMN_Identity_t = 02 f8 29
240 macro_eNB_ID_t = 00 7a 80 (20 bits)
241 ProtocolIE_Container_elm
249 pLMN_Identity_t = 02 f8 29
250 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
253 BroadcastPLMNs_Item_elm = 02 f8 29
257 transmission_Bandwidth_t = 0x3
258 subframeAssignment_t = 0x2
259 specialSubframe_Info_t
260 specialSubframePatterns_t = 0x4
262 cyclicPrefixUL_t = 0x1
264 packedPdu: "2006002a000002001500080002f82900007a8000140017000000630002f8290007ab50102002f829400001320820"},
265 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
266 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<tdd:<ear_fcn:1 transmission_bandwidth:BW50 subframe_assignment:SA2 special_subframe_info:<special_subframe_patterns:SSP4 cyclic_prefix_dl:EXTENDED cyclic_prefix_ul:NORMAL > additional_special_subframe_info:<additional_special_subframe_patterns:SSP9 cyclic_prefix_dl:NORMAL cyclic_prefix_ul:EXTENDED > > > eutra_mode:TDD ] []",
270 procedureCode_t = 0x6
274 ProtocolIE_Container_elm
278 pLMN_Identity_t = 02 f8 29
280 macro_eNB_ID_t = 00 7a 80 (20 bits)
281 ProtocolIE_Container_elm
289 pLMN_Identity_t = 02 f8 29
290 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
293 BroadcastPLMNs_Item_elm = 02 f8 29
297 transmission_Bandwidth_t = 0x3
298 subframeAssignment_t = 0x2
299 specialSubframe_Info_t
300 specialSubframePatterns_t = 0x4
301 cyclicPrefixDL_t = 0x1
304 ProtocolExtensionContainer_elm
307 AdditionalSpecialSubframe-Info
308 additionalspecialSubframePatterns_t = 0x9
310 cyclicPrefixUL_t = 0x1
312 packedPdu: "20060032000002001500080002f82900007a800014001f000000630002f8290007ab50102002f8295000013208800000006140021220"},
314 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
315 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<tdd:<ear_fcn:2 transmission_bandwidth:BW50 subframe_assignment:SA2 special_subframe_info:<special_subframe_patterns:SSP4 cyclic_prefix_dl:EXTENDED cyclic_prefix_ul:NORMAL > > > eutra_mode:TDD ] []",
319 procedureCode_t = 0x6
323 ProtocolIE_Container_elm
327 pLMN_Identity_t = 02 f8 29
329 macro_eNB_ID_t = 00 7a 80 (20 bits)
330 ProtocolIE_Container_elm
338 pLMN_Identity_t = 02 f8 29
339 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
342 BroadcastPLMNs_Item_elm = 02 f8 29
346 transmission_Bandwidth_t = 0x3
347 subframeAssignment_t = 0x2
348 specialSubframe_Info_t
349 specialSubframePatterns_t = 0x4
350 cyclicPrefixDL_t = 0x1
353 ProtocolExtensionContainer_elm
356 EARFCNExtension = 0x2
358 packedPdu: "20060033000002001500080002f82900007a8000140020000000630002f8290007ab50102002f8295000013208800000005e0003800102"},
360 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
361 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<tdd:<ear_fcn:1 transmission_bandwidth:BW50 subframe_assignment:SA2 special_subframe_info:<special_subframe_patterns:SSP4 cyclic_prefix_dl:EXTENDED cyclic_prefix_ul:NORMAL > additional_special_subframe_extension_info:<additional_special_subframe_patterns_extension:SSP10 cyclic_prefix_dl:NORMAL cyclic_prefix_ul:NORMAL > > > eutra_mode:TDD ] []",
365 procedureCode_t = 0x6
369 ProtocolIE_Container_elm
373 pLMN_Identity_t = 02 f8 29
375 macro_eNB_ID_t = 00 7a 80 (20 bits)
376 ProtocolIE_Container_elm
384 pLMN_Identity_t = 02 f8 29
385 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
388 BroadcastPLMNs_Item_elm = 02 f8 29
392 transmission_Bandwidth_t = 0x3
393 subframeAssignment_t = 0x2
394 specialSubframe_Info_t
395 specialSubframePatterns_t = 0x4
396 cyclicPrefixDL_t = 0x1
399 ProtocolExtensionContainer_elm
402 AdditionalSpecialSubframeExtension-Info
403 additionalspecialSubframePatternsExtension_t = 0
407 packedPdu: "20060031000002001500080002f82900007a800014001e000000630002f8290007ab50102002f829500001320880000000b3400100"},
409 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
410 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<tdd:<ear_fcn:2 transmission_bandwidth:BW50 subframe_assignment:SA2 special_subframe_info:<special_subframe_patterns:SSP4 cyclic_prefix_dl:EXTENDED cyclic_prefix_ul:NORMAL > additional_special_subframe_info:<additional_special_subframe_patterns:SSP9 cyclic_prefix_dl:NORMAL cyclic_prefix_ul:EXTENDED > additional_special_subframe_extension_info:<additional_special_subframe_patterns_extension:SSP10 cyclic_prefix_dl:NORMAL cyclic_prefix_ul:NORMAL > > > eutra_mode:TDD ] []",
414 procedureCode_t = 0x6
418 ProtocolIE_Container_elm
422 pLMN_Identity_t = 02 f8 29
424 macro_eNB_ID_t = 00 7a 80 (20 bits)
425 ProtocolIE_Container_elm
433 pLMN_Identity_t = 02 f8 29
434 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
437 BroadcastPLMNs_Item_elm = 02 f8 29
441 transmission_Bandwidth_t = 0x3
442 subframeAssignment_t = 0x2
443 specialSubframe_Info_t
444 specialSubframePatterns_t = 0x4
445 cyclicPrefixDL_t = 0x1
448 ProtocolExtensionContainer_elm
451 AdditionalSpecialSubframeExtension-Info
452 additionalspecialSubframePatternsExtension_t = 0
455 ProtocolExtensionContainer_elm
458 AdditionalSpecialSubframe-Info
459 additionalspecialSubframePatterns_t = 0x9
461 cyclicPrefixUL_t = 0x1
462 ProtocolExtensionContainer_elm
465 EARFCNExtension = 0x2
468 packedPdu: "2006003e000002001500080002f82900007a800014002b000000630002f8290007ab50102002f829500001320880000200b3400100006140021220005e0003800102"},
470 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80b0"},
471 enb: "CONNECTED HOME_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD number_of_antenna_ports:AN1 pci:100 cell_id:\"02f929:0007ac50\" tac:\"0203\" broadcast_plmns:\"02f829\" broadcast_plmns:\"02f929\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:3 ul_transmission_bandwidth:BW75 dl_transmission_bandwidth:BW75 > > eutra_mode:FDD ] []",
475 procedureCode_t = 0x6
479 ProtocolIE_Container_elm
483 pLMN_Identity_t = 02 f8 29
485 home_eNB_ID_t = 00 7a 80 b0 (28 bits)
486 ProtocolIE_Container_elm
494 pLMN_Identity_t = 02 f8 29
495 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
498 BroadcastPLMNs_Item_elm = 02 f8 29
503 uL_Transmission_Bandwidth_t = 0x3
504 dL_Transmission_Bandwidth_t = 0x3
506 ProtocolExtensionContainer_elm
509 Number-of-Antennaports = 0
514 pLMN_Identity_t = 02 f9 29
515 eUTRANcellIdentifier_t = 00 07 ac 50 (28 bits)
518 BroadcastPLMNs_Item_elm = 02 f8 29
519 BroadcastPLMNs_Item_elm = 02 f9 29
520 eUTRA_Mode_Info_t:nb_id
524 uL_Transmission_Bandwidth_t = 0x4
525 dL_Transmission_Bandwidth_t = 0x4
528 packedPdu: "2006004b000002001500090002f82940007a80b000140037010800630002f8290007ab50102002f829000001000133000000294001000000640002f9290007ac50203202f82902f929000002000344"},
530 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a40"},
531 enb: "CONNECTED SHORT_MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD number_of_antenna_ports:AN1 pci:100 cell_id:\"02f929:0007ac50\" tac:\"0203\" broadcast_plmns:\"02f829\" broadcast_plmns:\"02f929\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:3 ul_transmission_bandwidth:BW75 dl_transmission_bandwidth:BW75 > > eutra_mode:FDD prach_configuration:<root_sequence_index:15 zero_correlation_zone_configuration:7 high_speed_flag:true prach_frequency_offset:30 > ] []",
535 procedureCode_t = 0x6
539 ProtocolIE_Container_elm
543 pLMN_Identity_t = 02 f8 29
545 short_Macro_eNB_ID_t = 00 7a 40 (18 bits)
546 ProtocolIE_Container_elm
554 pLMN_Identity_t = 02 f8 29
555 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
558 BroadcastPLMNs_Item_elm = 02 f8 29
563 uL_Transmission_Bandwidth_t = 0x3
564 dL_Transmission_Bandwidth_t = 0x3
566 ProtocolExtensionContainer_elm
569 Number-of-Antennaports = 0
574 pLMN_Identity_t = 02 f9 29
575 eUTRANcellIdentifier_t = 00 07 ac 50 (28 bits)
578 BroadcastPLMNs_Item_elm = 02 f8 29
579 BroadcastPLMNs_Item_elm = 02 f9 29
584 uL_Transmission_Bandwidth_t = 0x4
585 dL_Transmission_Bandwidth_t = 0x4
587 ProtocolExtensionContainer_elm
591 rootSequenceIndex_t = 0xf
592 zeroCorrelationIndex_t = 0x7
593 highSpeedFlag_t = true
594 prach_FreqOffset_t = 0x1e
597 packedPdu: "20060056000002001500090002f8298003007a4000140042010800630002f8290007ab50102002f829000001000133000000294001000800640002f9290007ac50203202f82902f92900000200034400000037400500000f79e0"},
599 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a40"},
600 enb: "CONNECTED SHORT_MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD number_of_antenna_ports:AN1 pci:100 cell_id:\"02f929:0007ac50\" tac:\"0203\" broadcast_plmns:\"02f829\" broadcast_plmns:\"02f929\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:3 ul_transmission_bandwidth:BW75 dl_transmission_bandwidth:BW75 > > eutra_mode:FDD mbsfn_subframe_infos:<radioframe_allocation_period:N8 radioframe_allocation_offset:3 subframe_allocation:\"28\" subframe_allocation_type:ONE_FRAME > ] []",
604 procedureCode_t = 0x6
608 ProtocolIE_Container_elm
612 pLMN_Identity_t = 02 f8 29
614 short_Macro_eNB_ID_t = 00 7a 40 (18 bits)
615 ProtocolIE_Container_elm
623 pLMN_Identity_t = 02 f8 29
624 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
627 BroadcastPLMNs_Item_elm = 02 f8 29
632 uL_Transmission_Bandwidth_t = 0x3
633 dL_Transmission_Bandwidth_t = 0x3
635 ProtocolExtensionContainer_elm
638 Number-of-Antennaports = 0
643 pLMN_Identity_t = 02 f9 29
644 eUTRANcellIdentifier_t = 00 07 ac 50 (28 bits)
647 BroadcastPLMNs_Item_elm = 02 f8 29
648 BroadcastPLMNs_Item_elm = 02 f9 29
653 uL_Transmission_Bandwidth_t = 0x4
654 dL_Transmission_Bandwidth_t = 0x4
656 ProtocolExtensionContainer_elm
659 MBSFN-Subframe-Infolist:
660 MBSFN_Subframe_Infolist_elm
661 radioframeAllocationPeriod_t = 0x3
662 radioframeAllocationOffset_t = 0x3
663 subframeAllocation_t:
664 oneframe_t = 28 (6 bits)
666 packedPdu: "20060054000002001500090002f8298003007a4000140040010800630002f8290007ab50102002f829000001000133000000294001000800640002f9290007ac50203202f82902f929000002000344000000384003019850"},
667 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a40"},
668 enb: "CONNECTED SHORT_MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD number_of_antenna_ports:AN1 mbsfn_subframe_infos:<radioframe_allocation_period:N8 radioframe_allocation_offset:3 subframe_allocation:\"28\" subframe_allocation_type:ONE_FRAME > pci:100 cell_id:\"02f929:0007ac50\" tac:\"0203\" broadcast_plmns:\"02f829\" broadcast_plmns:\"02f929\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:3 ul_transmission_bandwidth:BW75 dl_transmission_bandwidth:BW75 > > eutra_mode:FDD ] []",
672 procedureCode_t = 0x6
676 ProtocolIE_Container_elm
680 pLMN_Identity_t = 02 f8 29
682 short_Macro_eNB_ID_t = 00 7a 40 (18 bits)
683 ProtocolIE_Container_elm
691 pLMN_Identity_t = 02 f8 29
692 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
695 BroadcastPLMNs_Item_elm = 02 f8 29
700 uL_Transmission_Bandwidth_t = 0x3
701 dL_Transmission_Bandwidth_t = 0x3
703 ProtocolExtensionContainer_elm
706 Number-of-Antennaports = 0
707 ProtocolExtensionContainer_elm
710 MBSFN-Subframe-Infolist:
711 MBSFN_Subframe_Infolist_elm
712 radioframeAllocationPeriod_t = 0x3
713 radioframeAllocationOffset_t = 0x3
714 subframeAllocation_t:
715 oneframe_t = 28 (6 bits)
720 pLMN_Identity_t = 02 f9 29
721 eUTRANcellIdentifier_t = 00 07 ac 50 (28 bits)
724 BroadcastPLMNs_Item_elm = 02 f8 29
725 BroadcastPLMNs_Item_elm = 02 f9 29
730 uL_Transmission_Bandwidth_t = 0x4
731 dL_Transmission_Bandwidth_t = 0x4
733 packedPdu: "20060052000002001500090002f8298003007a400014003e010800630002f8290007ab50102002f82900000100013300010029400100003840030198500000640002f9290007ac50203202f82902f929000002000344"},
734 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a40"},
735 enb: "CONNECTED SHORT_MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD number_of_antenna_ports:AN1 prach_configuration:<root_sequence_index:15 zero_correlation_zone_configuration:7 high_speed_flag:true prach_frequency_offset:30 > pci:100 cell_id:\"02f929:0007ac50\" tac:\"0203\" broadcast_plmns:\"02f829\" broadcast_plmns:\"02f929\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:3 ul_transmission_bandwidth:BW75 dl_transmission_bandwidth:BW75 > > eutra_mode:FDD ] []",
739 procedureCode_t = 0x6
743 ProtocolIE_Container_elm
747 pLMN_Identity_t = 02 f8 29
749 short_Macro_eNB_ID_t = 00 7a 40 (18 bits)
750 ProtocolIE_Container_elm
758 pLMN_Identity_t = 02 f8 29
759 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
762 BroadcastPLMNs_Item_elm = 02 f8 29
767 uL_Transmission_Bandwidth_t = 0x3
768 dL_Transmission_Bandwidth_t = 0x3
770 ProtocolExtensionContainer_elm
773 Number-of-Antennaports = 0
774 ProtocolExtensionContainer_elm
778 rootSequenceIndex_t = 0xf
779 zeroCorrelationIndex_t = 0x7
780 highSpeedFlag_t = true
781 prach_FreqOffset_t = 0x1e
786 pLMN_Identity_t = 02 f9 29
787 eUTRANcellIdentifier_t = 00 07 ac 50 (28 bits)
790 BroadcastPLMNs_Item_elm = 02 f8 29
791 BroadcastPLMNs_Item_elm = 02 f9 29
796 uL_Transmission_Bandwidth_t = 0x4
797 dL_Transmission_Bandwidth_t = 0x4
799 packedPdu: "20060054000002001500090002f8298003007a4000140040010800630002f8290007ab50102002f829000001000133000100294001000037400500000f79e00000640002f9290007ac50203202f82902f929000002000344"},
800 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a08"},
801 enb: "CONNECTED LONG_MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD prach_configuration:<root_sequence_index:15 zero_correlation_zone_configuration:7 high_speed_flag:true prach_frequency_offset:30 prach_configuration_index:60 > pci:100 cell_id:\"02f929:0007ac50\" tac:\"0203\" broadcast_plmns:\"02f829\" broadcast_plmns:\"02f929\" choice_eutra_mode:<fdd:<ulear_fcn:2 dlear_fcn:3 ul_transmission_bandwidth:BW75 dl_transmission_bandwidth:BW75 > > eutra_mode:FDD ] []",
805 procedureCode_t = 0x6
809 ProtocolIE_Container_elm
813 pLMN_Identity_t = 02 f8 29
815 long_Macro_eNB_ID_t = 00 7a 08 (21 bits)
816 ProtocolIE_Container_elm
824 pLMN_Identity_t = 02 f8 29
825 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
828 BroadcastPLMNs_Item_elm = 02 f8 29
833 uL_Transmission_Bandwidth_t = 0x3
834 dL_Transmission_Bandwidth_t = 0x3
836 ProtocolExtensionContainer_elm
840 rootSequenceIndex_t = 0xf
841 zeroCorrelationIndex_t = 0x7
842 highSpeedFlag_t = true
843 prach_FreqOffset_t = 0x1e
844 prach_ConfigIndex_t = 0x3c
849 pLMN_Identity_t = 02 f9 29
850 eUTRANcellIdentifier_t = 00 07 ac 50 (28 bits)
853 BroadcastPLMNs_Item_elm = 02 f8 29
854 BroadcastPLMNs_Item_elm = 02 f9 29
859 uL_Transmission_Bandwidth_t = 0x4
860 dL_Transmission_Bandwidth_t = 0x4
862 //packedPdu: "20060050000002001500090002f8298103007a080014003c010800630002f8290007ab50102002f82900000100013300000037400640000f79ef000000640002f9290007ac50203202f82902f929000002000344"},
863 packedPdu: "20060050000002001500090002f829c003007a080014003c010800630002f8290007ab50102002f82900000100013300000037400640000f79ef000000640002f9290007ac50203202f82902f929000002000344"},
865 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
866 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD csg_id:\"0007aba0\" freq_band_indicator_priority:BROADCASTED bandwidth_reduced_si:SCHEDULED ] []",
870 procedureCode_t = 0x6
874 ProtocolIE_Container_elm
878 pLMN_Identity_t = 02 f8 29
880 macro_eNB_ID_t = 00 7a 80 (20 bits)
881 ProtocolIE_Container_elm
889 pLMN_Identity_t = 02 f8 29
890 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
893 BroadcastPLMNs_Item_elm = 02 f8 29
898 uL_Transmission_Bandwidth_t = 0x3
899 dL_Transmission_Bandwidth_t = 0x3
901 ProtocolExtensionContainer_elm
904 CSG-Id = 00 07 ab a0 (27 bits)
905 ProtocolExtensionContainer_elm
908 FreqBandIndicatorPriority = 0x1
909 ProtocolExtensionContainer_elm
912 BandwidthReducedSI = 0
914 packedPdu: "2006003e000002001500080002f82900007a800014002b000800630002f8290007ab50102002f8290000010001330002004640040007aba000a040014000b4400100"},
916 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
917 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD mbms_service_area_identities:\"02f8\" mbms_service_area_identities:\"03f9\" multiband_infos:1 multiband_infos:2 multiband_infos:3 freq_band_indicator_priority:NOT_BROADCASTED ] []",
921 procedureCode_t = 0x6
925 ProtocolIE_Container_elm
929 pLMN_Identity_t = 02 f8 29
931 macro_eNB_ID_t = 00 7a 80 (20 bits)
932 ProtocolIE_Container_elm
940 pLMN_Identity_t = 02 f8 29
941 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
944 BroadcastPLMNs_Item_elm = 02 f8 29
949 uL_Transmission_Bandwidth_t = 0x3
950 dL_Transmission_Bandwidth_t = 0x3
952 ProtocolExtensionContainer_elm
955 MBMS-Service-Area-Identity-List:
956 MBMS_Service_Area_Identity_List_elm = 02 f8
957 MBMS_Service_Area_Identity_List_elm = 03 f9
958 ProtocolExtensionContainer_elm
961 FreqBandIndicatorPriority = 0
962 ProtocolExtensionContainer_elm
966 MultibandInfoList_elm
967 freqBandIndicator_t = 0x1
968 MultibandInfoList_elm
969 freqBandIndicator_t = 0x2
970 MultibandInfoList_elm
971 freqBandIndicator_t = 0x3
973 packedPdu: "20060044000002001500080002f82900007a8000140031000800630002f8290007ab50102002f8290000010001330002004f40050102f803f900a040010000544006200000010002"},
974 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
975 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD neighbour_infos:<ecgi:\"02f829:0007ab50\" pci:99 ear_fcn:1 > neighbour_infos:<ecgi:\"03f930:0008bc50\" pci:100 ear_fcn:2 > ] []",
979 procedureCode_t = 0x6
983 ProtocolIE_Container_elm
987 pLMN_Identity_t = 02 f8 29
989 macro_eNB_ID_t = 00 7a 80 (20 bits)
990 ProtocolIE_Container_elm
998 pLMN_Identity_t = 02 f8 29
999 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
1002 BroadcastPLMNs_Item_elm = 02 f8 29
1007 uL_Transmission_Bandwidth_t = 0x3
1008 dL_Transmission_Bandwidth_t = 0x3
1010 Neighbour_Information_elm
1012 pLMN_Identity_t = 02 f8 29
1013 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
1016 Neighbour_Information_elm
1018 pLMN_Identity_t = 03 f9 30
1019 eUTRANcellIdentifier_t = 00 08 bc 50 (28 bits)
1023 packedPdu: "20060044000002001500080002f82900007a8000140031004000630002f8290007ab50102002f82900000100013300020002f8290007ab50006300010003f9300008bc5000640002"},
1025 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
1026 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD neighbour_infos:<ecgi:\"02f829:0007ab50\" pci:99 ear_fcn:1 tac:\"0102\" > neighbour_infos:<ecgi:\"03f930:0008bc50\" pci:100 ear_fcn:3 > ] []",
1030 procedureCode_t = 0x6
1034 ProtocolIE_Container_elm
1038 pLMN_Identity_t = 02 f8 29
1040 macro_eNB_ID_t = 00 7a 80 (20 bits)
1041 ProtocolIE_Container_elm
1049 pLMN_Identity_t = 02 f8 29
1050 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
1053 BroadcastPLMNs_Item_elm = 02 f8 29
1058 uL_Transmission_Bandwidth_t = 0x3
1059 dL_Transmission_Bandwidth_t = 0x3
1061 Neighbour_Information_elm
1063 pLMN_Identity_t = 02 f8 29
1064 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
1068 ProtocolExtensionContainer_elm
1072 Neighbour_Information_elm
1074 pLMN_Identity_t = 03 f9 30
1075 eUTRANcellIdentifier_t = 00 08 bc 50 (28 bits)
1079 ProtocolExtensionContainer_elm
1082 EARFCNExtension = 0x3
1084 packedPdu: "20060055000002001500080002f82900007a8000140042004000630002f8290007ab50102002f82900000100013300024002f8290007ab50006300010000004c400201024003f9300008bc50006400020000005e0003800103"},
1086 {key: &entities.GlobalNbId{PlmnId: "02f829", NbId: "007a80"},
1087 enb: "CONNECTED MACRO_ENB [pci:99 cell_id:\"02f829:0007ab50\" tac:\"0102\" broadcast_plmns:\"02f829\" choice_eutra_mode:<fdd:<ulear_fcn:1 dlear_fcn:1 ul_transmission_bandwidth:BW50 dl_transmission_bandwidth:BW50 > > eutra_mode:FDD neighbour_infos:<ecgi:\"02f829:0007ab50\" pci:99 ear_fcn:1 tac:\"0102\" > neighbour_infos:<ecgi:\"03f930:0008bc50\" pci:100 ear_fcn:3 > ] []",
1091 procedureCode_t = 0x6
1095 ProtocolIE_Container_elm
1099 pLMN_Identity_t = 02 f8 29
1101 macro_eNB_ID_t = 00 7a 80 (20 bits)
1102 ProtocolIE_Container_elm
1110 pLMN_Identity_t = 02 f8 29
1111 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
1114 BroadcastPLMNs_Item_elm = 02 f8 29
1119 uL_Transmission_Bandwidth_t = 0x3
1120 dL_Transmission_Bandwidth_t = 0x3
1122 Neighbour_Information_elm
1124 pLMN_Identity_t = 02 f8 29
1125 eUTRANcellIdentifier_t = 00 07 ab 50 (28 bits)
1129 ProtocolExtensionContainer_elm
1133 Neighbour_Information_elm
1135 pLMN_Identity_t = 03 f9 30
1136 eUTRANcellIdentifier_t = 00 08 bc 50 (28 bits)
1140 ProtocolExtensionContainer_elm
1143 EARFCNExtension = 0x3
1145 packedPdu: "20060055000002001500080002f82900007a8000140042004000630002f8290007ab50102002f82900000100013300024002f8290007ab50006300010000004c400201024003f9300008bc50006400020000005e0003800103",
1146 /*failure: fmt.Errorf("getAtom for path [successfulOutcome_t X2SetupResponse protocolIEs_t ProtocolIE_Container_elm GlobalENB-ID pLMN_Identity_t] failed, rc = 2" /NO_SPACE_LEFT),*/ },
1149 for _, tc := range testCases {
1150 t.Run(tc.packedPdu, func(t *testing.T) {
1153 _, err := fmt.Sscanf(tc.packedPdu, "%x", &payload)
1155 t.Errorf("convert inputPayloadAsStr to payloadAsByte. Error: %v\n", err)
1158 key, enb, err := UnpackX2SetupResponseAndExtract(logger, e2pdus.MaxAsn1CodecAllocationBufferSize, len(payload), payload, e2pdus.MaxAsn1CodecMessageBufferSize /*message buffer*/)
1161 if tc.failure == nil {
1162 t.Errorf("want: success, got: error: %v\n", err)
1164 if strings.Compare(err.Error(), tc.failure.Error()) != 0 {
1165 t.Errorf("want: %s, got: %s", tc.failure, err)
1171 if tc.failure == nil {
1172 t.Errorf("want: key=%v, got: empty key", tc.key)
1175 if strings.Compare(key.PlmnId, tc.key.PlmnId) != 0 || strings.Compare(key.NbId, tc.key.NbId) != 0 {
1176 t.Errorf("want: key=%s, got: %s", tc.key, key)
1181 if tc.failure == nil {
1182 t.Errorf("want: enb=%s, got: empty enb", tc.enb)
1185 nb := &entities.NodebInfo{}
1186 nb.ConnectionStatus = entities.ConnectionStatus_CONNECTED
1187 nb.Configuration = &entities.NodebInfo_Enb{Enb: enb}
1188 embStr := fmt.Sprintf("%s %s %s %s", nb.ConnectionStatus, enb.EnbType, enb.ServedCells, enb.GuGroupIds)
1189 if !strings.EqualFold(embStr, tc.enb) {
1190 t.Errorf("want: enb=%s, got: %s", tc.enb, embStr)