diff options
Diffstat (limited to 'tests/test_cdr.c')
-rw-r--r-- | tests/test_cdr.c | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/tests/test_cdr.c b/tests/test_cdr.c index f1e577e76..57d5b2e32 100644 --- a/tests/test_cdr.c +++ b/tests/test_cdr.c @@ -312,7 +312,8 @@ static enum ast_test_result_state verify_mock_cdr_record(struct ast_test *test, ast_test_status_update(test, "CDRs recorded where no record expected\n"); return AST_TEST_FAIL; } - + ast_test_debug(test, "Verifying expected record %s, %s\n", + expected->channel, S_OR(expected->dstchannel, "<none>")); VERIFY_STRING_FIELD(accountcode, actual, expected); VERIFY_NUMERIC_FIELD(amaflags, actual, expected); VERIFY_STRING_FIELD(channel, actual, expected); @@ -1802,21 +1803,37 @@ AST_TEST_DEFINE(test_cdr_dial_answer_multiparty) .peeraccount = "400", .next = &charlie_expected_two, }; + struct ast_cdr bob_expected_one = { + .clid = "\"Bob\" <200>", + .src = "200", + .dst = "200", + .dcontext = "default", + .channel = CHANNEL_TECH_NAME "/Bob", + .dstchannel = CHANNEL_TECH_NAME "/David", + .lastapp = "AppDial", + .lastdata = "(Outgoing Line)", + .amaflags = AST_AMA_DOCUMENTATION, + .billsec = 1, + .disposition = AST_CDR_ANSWERED, + .accountcode = "200", + .peeraccount = "400", + .next = &charlie_expected_one, + }; struct ast_cdr alice_expected_three = { .clid = "\"Alice\" <100>", .src = "100", .dst = "100", .dcontext = "default", .channel = CHANNEL_TECH_NAME "/Alice", - .dstchannel = CHANNEL_TECH_NAME "/Charlie", + .dstchannel = CHANNEL_TECH_NAME "/David", .lastapp = "Dial", .lastdata = CHANNEL_TECH_NAME "/Bob", .amaflags = AST_AMA_DOCUMENTATION, .billsec = 1, .disposition = AST_CDR_ANSWERED, .accountcode = "100", - .peeraccount = "300", - .next = &charlie_expected_one, + .peeraccount = "400", + .next = &bob_expected_one, }; struct ast_cdr alice_expected_two = { .clid = "\"Alice\" <100>", @@ -1824,14 +1841,14 @@ AST_TEST_DEFINE(test_cdr_dial_answer_multiparty) .dst = "100", .dcontext = "default", .channel = CHANNEL_TECH_NAME "/Alice", - .dstchannel = CHANNEL_TECH_NAME "/David", + .dstchannel = CHANNEL_TECH_NAME "/Charlie", .lastapp = "Dial", .lastdata = CHANNEL_TECH_NAME "/Bob", .amaflags = AST_AMA_DOCUMENTATION, .billsec = 1, .disposition = AST_CDR_ANSWERED, .accountcode = "100", - .peeraccount = "400", + .peeraccount = "300", .next = &alice_expected_three, }; struct ast_cdr alice_expected_one = { @@ -1874,6 +1891,8 @@ AST_TEST_DEFINE(test_cdr_dial_answer_multiparty) chan_bob = ast_channel_alloc(0, AST_STATE_DOWN, "200", "Bob", "200", "200", "default", NULL, 0, CHANNEL_TECH_NAME "/Bob"); ast_set_flag(ast_channel_flags(chan_bob), AST_FLAG_OUTGOING); EMULATE_APP_DATA(chan_bob, 0, "AppDial", "(Outgoing Line)"); + ast_copy_string(bob_expected_one.uniqueid, ast_channel_uniqueid(chan_bob), sizeof(bob_expected_one.uniqueid)); + ast_copy_string(bob_expected_one.linkedid, ast_channel_linkedid(chan_alice), sizeof(bob_expected_one.linkedid)); CREATE_CHARLIE_CHANNEL(chan_charlie, &charlie_caller, &charlie_expected_one); EMULATE_APP_DATA(chan_charlie, 1, "Dial", CHANNEL_TECH_NAME "/David"); @@ -1920,7 +1939,7 @@ AST_TEST_DEFINE(test_cdr_dial_answer_multiparty) HANGUP_CHANNEL(chan_charlie, AST_CAUSE_NORMAL); HANGUP_CHANNEL(chan_david, AST_CAUSE_NORMAL); - result = verify_mock_cdr_record(test, &alice_expected_one, 5); + result = verify_mock_cdr_record(test, &alice_expected_one, 6); return result; } |