Skip to content

Commit 1126a6e

Browse files
FabianEckermanncodebot
authored andcommitted
cu_cp,rrc: Add unittest for reestablishment because of failed reconfiguration
1 parent 35688dc commit 1126a6e

File tree

4 files changed

+36
-5
lines changed

4 files changed

+36
-5
lines changed

tests/unittests/rrc/rrc_ue_reest_proc_test.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,25 @@ TEST_F(rrc_ue_reest, when_valid_reestablishment_request_received_but_security_co
6464
check_initial_ue_message_sent();
6565
}
6666

67+
/// Test the RRC Reestablishment
68+
TEST_F(rrc_ue_reest, when_reestablishment_request_with_cause_recfg_fail_received_then_rrc_setup_sent)
69+
{
70+
connect_amf();
71+
ue_index_t old_ue_index = uint_to_ue_index(0);
72+
add_ue_reestablishment_context(old_ue_index);
73+
receive_valid_reestablishment_request_with_cause_recfg_fail(1, to_rnti(0x4601));
74+
75+
// check if the RRC Setup Request was generated
76+
ASSERT_EQ(get_srb0_pdu_type(), asn1::rrc_nr::dl_ccch_msg_type_c::c1_c_::types::rrc_setup);
77+
78+
// check if SRB1 was created
79+
check_srb1_exists();
80+
81+
receive_setup_complete();
82+
83+
check_initial_ue_message_sent();
84+
}
85+
6786
/// Test the RRC Reestablishment
6887
TEST_F(rrc_ue_reest,
6988
when_valid_reestablishment_request_for_same_du_received_then_rrc_reestablishment_with_old_ue_index_sent)

tests/unittests/rrc/rrc_ue_test_helpers.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,13 @@ class rrc_ue_test_helper
182182
rrc_ue->get_ul_ccch_pdu_handler().handle_ul_ccch_pdu(generate_valid_rrc_reestablishment_request_pdu(pci, c_rnti));
183183
}
184184

185+
void receive_valid_reestablishment_request_with_cause_recfg_fail(pci_t pci, rnti_t c_rnti)
186+
{
187+
// inject RRC Reestablishment Request into UE object
188+
rrc_ue->get_ul_ccch_pdu_handler().handle_ul_ccch_pdu(generate_valid_rrc_reestablishment_request_pdu(
189+
pci, c_rnti, "0111011100001000", asn1::rrc_nr::reest_cause_opts::options::recfg_fail));
190+
}
191+
185192
void receive_reestablishment_complete()
186193
{
187194
// inject RRC Reestablishment complete

tests/unittests/rrc/rrc_ue_test_messages.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,10 @@ byte_buffer srsran::srs_cu_cp::generate_invalid_rrc_reestablishment_request_pdu(
198198
return pdu;
199199
}
200200

201-
byte_buffer
202-
srsran::srs_cu_cp::generate_valid_rrc_reestablishment_request_pdu(pci_t pci, rnti_t c_rnti, std::string short_mac_i)
201+
byte_buffer srsran::srs_cu_cp::generate_valid_rrc_reestablishment_request_pdu(pci_t pci,
202+
rnti_t c_rnti,
203+
std::string short_mac_i,
204+
asn1::rrc_nr::reest_cause_e cause)
203205
{
204206
byte_buffer pdu;
205207
asn1::bit_ref bref{pdu};
@@ -210,7 +212,7 @@ srsran::srs_cu_cp::generate_valid_rrc_reestablishment_request_pdu(pci_t pci, rnt
210212
rrc_reest_req.rrc_reest_request.ue_id.c_rnti = c_rnti;
211213
rrc_reest_req.rrc_reest_request.ue_id.pci = pci;
212214
rrc_reest_req.rrc_reest_request.ue_id.short_mac_i.from_string(short_mac_i);
213-
rrc_reest_req.rrc_reest_request.reest_cause = asn1::rrc_nr::reest_cause_opts::options::other_fail;
215+
rrc_reest_req.rrc_reest_request.reest_cause = cause;
214216
rrc_reest_req.rrc_reest_request.spare.from_number(0);
215217

216218
const asn1::SRSASN_CODE ret = ul_ccch_msg.pack(bref);

tests/unittests/rrc/rrc_ue_test_messages.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,11 @@ rrc_reconfiguration_procedure_request generate_rrc_reconfiguration_procedure_req
3333
byte_buffer generate_invalid_rrc_reestablishment_request_pdu(pci_t pci, rnti_t c_rnti);
3434

3535
/// \brief Generate RRC Container with valid RRC Reestablishment Request.
36-
byte_buffer
37-
generate_valid_rrc_reestablishment_request_pdu(pci_t pci, rnti_t c_rnti, std::string short_mac_i = "0111011100001000");
36+
byte_buffer generate_valid_rrc_reestablishment_request_pdu(
37+
pci_t pci,
38+
rnti_t c_rnti,
39+
std::string short_mac_i = "0111011100001000",
40+
asn1::rrc_nr::reest_cause_e cause = asn1::rrc_nr::reest_cause_opts::options::other_fail);
3841

3942
/// \brief Generate RRC Container with RRC Reestablishment Complete.
4043
byte_buffer generate_rrc_reestablishment_complete_pdu();

0 commit comments

Comments
 (0)