@@ -98,14 +98,13 @@ TEST_F(du_processor_test, when_ue_creation_msg_valid_then_ue_added)
9898 test_helpers::generate_f1_setup_request ());
9999
100100 // Generate ue_creation message
101- ue_index_t ue_index = du_processor_obj->get_f1ap_interface ().allocate_new_ue_index ();
102- ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
103- ue_index, rnti_t ::MIN_CRNTI, nr_cell_identity::create (gnb_id_t {411 , 22 }, 0 ).value ());
101+ ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
102+ ue_index_t ::invalid, rnti_t ::MIN_CRNTI, nr_cell_identity::create (gnb_id_t {411 , 22 }, 0 ).value ());
104103
105104 // Pass message to DU processor
106- ue_rrc_context_creation_response resp =
105+ ue_rrc_context_creation_outcome outcome =
107106 du_processor_obj->get_f1ap_interface ().handle_ue_rrc_context_creation_request (req);
108- ASSERT_NE (resp. f1ap_rrc_notifier , nullptr );
107+ ASSERT_TRUE (outcome. has_value () );
109108
110109 ASSERT_EQ (du_processor_obj->get_statistics_handler ().get_nof_ues (), 1 );
111110}
@@ -117,14 +116,13 @@ TEST_F(du_processor_test, when_cell_id_invalid_then_ue_creation_fails)
117116 test_helpers::generate_f1_setup_request ());
118117
119118 // Generate ue_creation message
120- ue_index_t ue_index = du_processor_obj->get_f1ap_interface ().allocate_new_ue_index ();
121- ue_rrc_context_creation_request req =
122- generate_ue_rrc_context_creation_request (ue_index, rnti_t ::MIN_CRNTI, nr_cell_identity::create (1 ).value ());
119+ ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
120+ ue_index_t ::invalid, rnti_t ::MIN_CRNTI, nr_cell_identity::create (1 ).value ());
123121
124122 // Pass message to DU processor
125- ue_rrc_context_creation_response resp =
123+ ue_rrc_context_creation_outcome outcome =
126124 du_processor_obj->get_f1ap_interface ().handle_ue_rrc_context_creation_request (req);
127- ASSERT_EQ (resp. f1ap_rrc_notifier , nullptr );
125+ ASSERT_TRUE ( not outcome. has_value () );
128126}
129127
130128TEST_F (du_processor_test, when_ue_rrc_context_exists_then_new_ue_rrc_context_not_added)
@@ -138,20 +136,21 @@ TEST_F(du_processor_test, when_ue_rrc_context_exists_then_new_ue_rrc_context_not
138136 test_helpers::generate_f1_setup_request ());
139137
140138 // Generate ue_creation message
141- ue_index_t ue_index = du_processor_obj->get_f1ap_interface ().allocate_new_ue_index ();
142- ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
143- ue_index, rnti_t ::MIN_CRNTI, nr_cell_identity::create (gnb_id_t {411 , 22 }, 0 ).value ());
139+ ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
140+ ue_index_t ::invalid, rnti_t ::MIN_CRNTI, nr_cell_identity::create (gnb_id_t {411 , 22 }, 0 ).value ());
144141
145142 // Pass message to DU processor
146- ue_rrc_context_creation_response resp =
143+ ue_rrc_context_creation_outcome outcome =
147144 du_processor_obj->get_f1ap_interface ().handle_ue_rrc_context_creation_request (req);
148- ASSERT_NE (resp. f1ap_rrc_notifier , nullptr );
145+ ASSERT_TRUE (outcome. has_value () );
149146
150147 ASSERT_EQ (du_processor_obj->get_statistics_handler ().get_nof_ues (), 1 );
151148
152149 // Pass same message to DU processor again
153- resp = du_processor_obj->get_f1ap_interface ().handle_ue_rrc_context_creation_request (req);
154- ASSERT_EQ (resp.f1ap_rrc_notifier , nullptr );
150+ req.ue_index = outcome->ue_index ;
151+ ue_rrc_context_creation_outcome outcome2 =
152+ du_processor_obj->get_f1ap_interface ().handle_ue_rrc_context_creation_request (req);
153+ ASSERT_TRUE (not outcome2.has_value ());
155154
156155 ASSERT_EQ (du_processor_obj->get_statistics_handler ().get_nof_ues (), 1 );
157156}
@@ -171,15 +170,14 @@ TEST_F(du_processor_test, when_max_nof_ues_exceeded_then_ue_not_added)
171170 // Add the maximum number of UEs
172171 for (unsigned it = 0 ; it < ue_mng.get_ue_config ().max_nof_supported_ues ; it++) {
173172 // Generate ue_creation message
174- rnti_t c_rnti = to_rnti (it + 1 ); // 0 is not a valid RNTI
175- ue_index_t ue_index = du_processor_obj->get_f1ap_interface ().allocate_new_ue_index ();
176- ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
177- ue_index, c_rnti, nr_cell_identity::create (gnb_id_t {411 , 22 }, 0 ).value ());
173+ rnti_t c_rnti = to_rnti (it + 1 ); // 0 is not a valid RNTI
174+ ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
175+ ue_index_t ::invalid, c_rnti, nr_cell_identity::create (gnb_id_t {411 , 22 }, 0 ).value ());
178176
179177 // Pass message to DU processor
180- ue_rrc_context_creation_response resp =
178+ ue_rrc_context_creation_outcome outcome =
181179 du_processor_obj->get_f1ap_interface ().handle_ue_rrc_context_creation_request (req);
182- ASSERT_NE (resp. f1ap_rrc_notifier , nullptr );
180+ ASSERT_TRUE (outcome. has_value () );
183181 }
184182
185183 // Reset logger loglevel
@@ -190,9 +188,13 @@ TEST_F(du_processor_test, when_max_nof_ues_exceeded_then_ue_not_added)
190188
191189 ASSERT_EQ (du_processor_obj->get_statistics_handler ().get_nof_ues (), ue_mng.get_ue_config ().max_nof_supported_ues );
192190
193- // Try to allocate additional UE index
194- ue_index_t ue_index = du_processor_obj->get_f1ap_interface ().allocate_new_ue_index ();
195- ASSERT_EQ (ue_index, ue_index_t ::invalid);
191+ // Try to add additional UE
192+ rnti_t c_rnti = to_rnti (ue_mng.get_ue_config ().max_nof_supported_ues + 1 );
193+ ue_rrc_context_creation_request req = generate_ue_rrc_context_creation_request (
194+ ue_index_t ::invalid, c_rnti, nr_cell_identity::create (gnb_id_t {411 , 22 }, 0 ).value ());
195+ ue_rrc_context_creation_outcome outcome =
196+ du_processor_obj->get_f1ap_interface ().handle_ue_rrc_context_creation_request (req);
197+ ASSERT_TRUE (not outcome.has_value ());
196198
197199 ASSERT_EQ (du_processor_obj->get_statistics_handler ().get_nof_ues (), ue_mng.get_ue_config ().max_nof_supported_ues );
198200}
0 commit comments