📄 megaco_codec_v1_test.erl
字号:
} ] } } }.compact_otp5186_msg05() -> {'MegacoMessage', asn1_NOVALUE, {'Message', 1, {domainName,{'DomainName',"mg5",asn1_NOVALUE}}, {transactions, [{transactionReply, {'TransactionReply',67111298,asn1_NOVALUE, {actionReplies,[ {'ActionReply',2699,asn1_NOVALUE,asn1_NOVALUE, [ {addReply, {'AmmsReply', [ {megaco_term_id,false,["mg5_ipeph","0x0f0001"]} ], [ ] } } ] } ] } } } ] } } }.compact_otp5186_msg06() -> {'MegacoMessage',asn1_NOVALUE, {'Message',1,{domainName,{'DomainName',"mg5",asn1_NOVALUE}}, {transactions, [{transactionReply, {'TransactionReply',67111298,asn1_NOVALUE, {actionReplies,[ {'ActionReply',2699,asn1_NOVALUE,asn1_NOVALUE, [ {addReply, {'AmmsReply', [ {megaco_term_id,false,["mg5_ipeph","0x0f0001"]} ], [ {emptyDescriptors, {'AuditDescriptor',asn1_NOVALUE} } ] } } ] } ] } } } ] } } }.%% --compact_otp5186_check_megamsg(M1, M1) -> ok;compact_otp5186_check_megamsg(#'MegacoMessage'{authHeader = AH, mess = M1}, #'MegacoMessage'{authHeader = AH, mess = M2}) -> compact_otp5186_check_mess(M1, M2);compact_otp5186_check_megamsg(#'MegacoMessage'{authHeader = AH1}, #'MegacoMessage'{authHeader = AH2}) -> exit({not_equal, authHeader, AH1, AH2}).compact_otp5186_check_mess(M, M) -> ok;compact_otp5186_check_mess(#'Message'{version = V, mId = MId, messageBody = B1}, #'Message'{version = V, mId = MId, messageBody = B2}) -> compact_otp5186_check_body(B1, B2);compact_otp5186_check_mess(#'Message'{version = V, mId = MId1}, #'Message'{version = V, mId = MId2}) -> exit({not_equal, mId, MId1, MId2});compact_otp5186_check_mess(#'Message'{version = V1, mId = MId}, #'Message'{version = V2, mId = MId}) -> exit({not_equal, version, V1, V2}).compact_otp5186_check_body(B, B) -> ok;compact_otp5186_check_body({transactions, T1}, {transactions, T2}) -> compact_otp5186_check_trans(T1, T2);compact_otp5186_check_body({messageError, E1}, {messageError, E2}) -> compact_otp5186_check_merr(E1, E2);compact_otp5186_check_body(B1, B2) -> exit({not_equal, messageBody, B1, B2}).compact_otp5186_check_trans([], []) -> ok;compact_otp5186_check_trans([], T2) -> exit({not_equal, transactions, [], T2});compact_otp5186_check_trans(T1, []) -> exit({not_equal, transactions, T1, []});compact_otp5186_check_trans([Tran1|Trans1], [Tran2|Trans2]) -> compact_otp5186_check_trans(Trans1, Trans2), compact_otp5186_check_transaction(Tran1, Tran2).compact_otp5186_check_merr(ME, ME) -> ok;compact_otp5186_check_merr(#'ErrorDescriptor'{errorCode = EC, errorText = ET1}, #'ErrorDescriptor'{errorCode = EC, errorText = ET2}) -> exit({not_equal, errorText, ET1, ET2});compact_otp5186_check_merr(#'ErrorDescriptor'{errorCode = EC1, errorText = ET}, #'ErrorDescriptor'{errorCode = EC2, errorText = ET}) -> exit({not_equal, errorCode, EC1, EC2}).compact_otp5186_check_transaction(T, T) -> ok;compact_otp5186_check_transaction({transactionReply, TR1}, {transactionReply, TR2}) -> compact_otp5186_check_transRep(TR1, TR2);compact_otp5186_check_transaction(T1, T2) -> exit({unexpected_transactions, T1, T2}). compact_otp5186_check_transRep(T, T) -> ok;compact_otp5186_check_transRep(#'TransactionReply'{transactionId = TId, immAckRequired = IAR, transactionResult = TR1}, #'TransactionReply'{transactionId = TId, immAckRequired = IAR, transactionResult = TR2}) -> compact_otp5186_check_transRes(TR1, TR2);compact_otp5186_check_transRep(T1, T2) -> exit({unexpected_transaction_reply, T1, T2}).compact_otp5186_check_transRes(TR, TR) -> ok;compact_otp5186_check_transRes({actionReplies, AR1}, {actionReplies, AR2}) -> compact_otp5186_check_actReps(AR1, AR2);compact_otp5186_check_transRes(TR1, TR2) -> exit({unexpected_transaction_result, TR1, TR2}).compact_otp5186_check_actReps([], []) -> ok;compact_otp5186_check_actReps(AR1, []) -> exit({not_equal, actionReplies, AR1, []});compact_otp5186_check_actReps([], AR2) -> exit({not_equal, actionReplies, [], AR2});compact_otp5186_check_actReps([AR1|ARs1], [AR2|ARs2]) -> compact_otp5186_check_actRep(AR1, AR2), compact_otp5186_check_actReps(ARs1, ARs2).compact_otp5186_check_actRep(AR, AR) -> ok;compact_otp5186_check_actRep(#'ActionReply'{contextId = ID, errorDescriptor = ED, contextReply = CtxRep, commandReply = CmdRep1}, #'ActionReply'{contextId = ID, errorDescriptor = ED, contextReply = CtxRep, commandReply = CmdRep2}) -> compact_otp5186_check_cmdReps(CmdRep1, CmdRep2);compact_otp5186_check_actRep(AR1, AR2) -> exit({unexpected_actionReply, AR1, AR2}).compact_otp5186_check_cmdReps([], []) -> ok;compact_otp5186_check_cmdReps(CR1, []) -> exit({not_equal, commandReplies, CR1, []});compact_otp5186_check_cmdReps([], CR2) -> exit({not_equal, commandReplies, [], CR2});compact_otp5186_check_cmdReps([CR1|CRs1], [CR2|CRs2]) -> compact_otp5186_check_cmdRep(CR1, CR2), compact_otp5186_check_cmdReps(CRs1, CRs2).compact_otp5186_check_cmdRep(CR, CR) -> ok;compact_otp5186_check_cmdRep({auditValueReply, AVR1}, {auditValueReply, AVR2}) -> compact_otp5186_check_auditReply(AVR1, AVR2);compact_otp5186_check_cmdRep({addReply, AVR1}, {addReply, AVR2}) -> compact_otp5186_check_ammsReply(AVR1, AVR2);compact_otp5186_check_cmdRep(CR1, CR2) -> exit({unexpected_commandReply, CR1, CR2}).compact_otp5186_check_auditReply(AR, AR) -> ok;compact_otp5186_check_auditReply({auditResult, AR1}, {auditResult, AR2}) -> compact_otp5186_check_auditRes(AR1, AR2);compact_otp5186_check_auditReply(AR1, AR2) -> exit({unexpected_auditReply, AR1, AR2}).compact_otp5186_check_ammsReply(AR, AR) -> ok;compact_otp5186_check_ammsReply(#'AmmsReply'{terminationID = ID, terminationAudit = TA1}, #'AmmsReply'{terminationID = ID, terminationAudit = TA2}) -> %% This is just to simplify the test F = fun(asn1_NOVALUE) -> []; (E) -> E end, compact_otp5186_check_termAudit(F(TA1), F(TA2));compact_otp5186_check_ammsReply(AR1, AR2) -> exit({unexpected_ammsReply, AR1, AR2}).compact_otp5186_check_auditRes(AR, AR) -> ok;compact_otp5186_check_auditRes(#'AuditResult'{terminationID = ID, terminationAuditResult = TAR1}, #'AuditResult'{terminationID = ID, terminationAuditResult = TAR2}) -> compact_otp5186_check_termAuditRes(TAR1, TAR2);compact_otp5186_check_auditRes(AR1, AR2) -> exit({unexpected_auditResult, AR1, AR2}).compact_otp5186_check_termAuditRes([], []) -> ok;%% An empty empty descriptor is removedcompact_otp5186_check_termAuditRes([{emptyDescriptors, #'AuditDescriptor'{auditToken = asn1_NOVALUE}}|TAR1], []) -> compact_otp5186_check_termAuditRes(TAR1, []);compact_otp5186_check_termAuditRes(TAR1, []) -> exit({not_equal, termAuditRes, TAR1, []});%% An empty empty descriptor is removedcompact_otp5186_check_termAuditRes([], [{emptyDescriptors, #'AuditDescriptor'{auditToken = asn1_NOVALUE}}|TAR2]) -> compact_otp5186_check_termAuditRes([], TAR2);compact_otp5186_check_termAuditRes([], TAR2) -> exit({not_equal, termAuditRes, [], TAR2});compact_otp5186_check_termAuditRes([ARP1|TAR1], [ARP2|TAR2]) -> compact_otp5186_check_auditRetParm(ARP1, ARP2), compact_otp5186_check_termAuditRes(TAR1, TAR2).compact_otp5186_check_termAudit([], []) -> ok;%% An empty empty descriptor is removedcompact_otp5186_check_termAudit([{emptyDescriptors, #'AuditDescriptor'{auditToken = asn1_NOVALUE}}|TAR1], []) -> compact_otp5186_check_termAudit(TAR1, []);compact_otp5186_check_termAudit(TAR1, []) -> exit({not_equal, termAudit, TAR1, []});%% An empty empty descriptor is removedcompact_otp5186_check_termAudit([], [{emptyDescriptors, #'AuditDescriptor'{auditToken = asn1_NOVALUE}}|TAR2]) -> compact_otp5186_check_termAudit([], TAR2);compact_otp5186_check_termAudit([], TAR2) -> exit({not_equal, termAudit, [], TAR2});compact_otp5186_check_termAudit([ARP1|TAR1], [ARP2|TAR2]) -> compact_otp5186_check_auditRetParm(ARP1, ARP2), compact_otp5186_check_termAudit(TAR1, TAR2).compact_otp5186_check_auditRetParm(ARP, ARP) -> ok;compact_otp5186_check_auditRetParm({emptyDescriptors, AD1}, {emptyDescriptors, AD2}) -> compact_otp5186_check_auditDesc(AD1, AD2);compact_otp5186_check_auditRetParm(ARP1, ARP2) -> exit({unexpected_auditRetParm, ARP1, ARP2}).compact_otp5186_check_auditDesc(AD, AD) -> ok;compact_otp5186_check_auditDesc(#'AuditDescriptor'{auditToken = L1}, #'AuditDescriptor'{auditToken = L2}) -> compact_otp5186_check_auditDesc_auditItems(L1, L2);compact_otp5186_check_auditDesc(AD1, AD2) -> exit({unexpected_auditDesc, AD1, AD2}).compact_otp5186_check_auditDesc_auditItems([], []) -> ok;compact_otp5186_check_auditDesc_auditItems(AI1, []) -> exit({not_equal, auditItems, AI1, []});compact_otp5186_check_auditDesc_auditItems([], AI2) -> exit({not_equal, auditItems, [], AI2});compact_otp5186_check_auditDesc_auditItems([AI1|AIs1], [AI2|AIs2]) -> compact_otp5186_check_auditDesc_auditItem(AI1, AI2), compact_otp5186_check_auditDesc_auditItems(AIs1, AIs2).compact_otp5186_check_auditDesc_auditItem(AI, AI) -> ok;compact_otp5186_check_auditDesc_auditItem(AI1, AI2) -> exit({not_equal, auditItem, AI1, AI2}).compact_otp5793_msg01(suite) -> [];compact_otp5793_msg01(Config) when list(Config) -> d("compact_otp5793_msg01 -> entry", []), ?ACQUIRE_NODES(1, Config), compact_otp5793(ok, pretty_otp5793_msg1()).compact_otp5793(Expected, Msg) -> expect_codec(Expected, megaco_compact_text_encoder, Msg, []).%% --------------------------------------------------------------compact_otp5993_msg01(suite) -> [];compact_otp5993_msg01(Config) when list(Config) -> d("compact_otp5993_msg01 -> entry", []), ?ACQUIRE_NODES(1, Config), compact_otp5993_msg_1(compact_otp5993_msg01(), ok, ok).compact_otp5993_msg02(suite) -> [];compact_otp5993_msg02(Config) when list(Config) -> d("compact_otp5993_msg02 -> entry", []), ?ACQUIRE_NODES(1, Config), compact_otp5993_msg_1(compact_otp5993_msg02(), ok, ok).compact_otp5993_msg03(suite) -> [];compact_otp5993_msg03(Config) when list(Config) -> d("compact_otp5993_msg03 -> entry", []), ?ACQUIRE_NODES(1, Config), compact_otp5993_msg_1(compact_otp5993_msg03(), ok, ok).compact_otp5993_msg_1(Msg1, EncodeExpect, DecodeExpect) -> case encode_message(megaco_compact_text_encoder, [], Msg1) of {ok, Bin} when EncodeExpect == ok -> io:format(" encoded", []), %% io:format(" encoded:~n~s~n", [binary_to_list(Bin)]), case decode_message(megaco_compact_text_encoder, false, [], Bin) of {ok, Msg1} when DecodeExpect == ok -> io:format(", decoded - equal:", []), ok; {ok, Msg3} when DecodeExpect == error -> M = binary_to_list(Bin), io:format(", decoded:", []), exit({unexpected_decode_success, M, Msg1, Msg3}); Else when DecodeExpect == ok -> M = binary_to_list(Bin), io:format(", decode failed ", []), exit({unexpected_decode_failure, Msg1, M, Else}); _Else when DecodeExpect == error -> io:format(", decode failed ", []), ok end; {ok, Bin} when EncodeExpect == error -> M = binary_to_list(Bin), io:format(" encoded", []), exit({unexpected_encode_success, Msg1, M}); _Else when EncodeExpect == error -> io:format(" encode failed ", []), ok; Else when EncodeExpect == ok -> io:format(" encode failed ", []), exit({unexpected_encode_result, Else}) end.compact_otp5993_msg01() -> MT = h221, T = #megaco_term_id{id = ?A4444}, TL = [T], MD = #'MuxDescriptor'{muxType = MT, termList = TL}, compact_otp5993_msg(MD).compact_otp5993_msg02() -> MT = h223, T1 = #megaco_term_id{id = ?A4445}, T2 = #megaco_term_id{id = ?A5556}, TL = [T1, T2], MD = #'MuxDescriptor'{muxType = MT, termList = TL}, compact_otp5993_msg(MD).compact_otp5993_msg(MD) when is_record(MD, 'MuxDescriptor') -> AmmDesc = {muxDescriptor, MD}, AmmReq = #'AmmRequest'{terminationID = [hd(MD#'MuxDescriptor'.termList)], descriptors = [AmmDesc]}, Cmd = {addReq, AmmReq}, CmdReq = #'CommandRequest'{command = Cmd}, ActReq = #'ActionRequest'{contextId = 5993, commandRequests = [CmdReq]}, TransReq = #'TransactionRequest'{transactionId = 3995, actions = [ActReq]}, Trans = {transactionRequest, TransReq}, Body = {transactions, [Trans]}, Msg = #'Message'{version = ?VERSION, mId = ?MG1_MID, messageBody = Body}, #'MegacoMessage'{mess = Msg}.compact_otp5993_msg03() -> T1 = #megaco_term_id{id = ?A4445}, T2 = #megaco_term_id{id = ?A5556}, TIDs = [T1, T2], AudRep = {contextAuditResult, TIDs}, CmdRep = {auditValueReply, AudRep}, ActRep = #'ActionReply'{contextId = 5993, commandReply = [CmdRep]}, TransRes = {actionReplies, [ActRep]}, TransRep = #'TransactionReply'{transactionId = 3995, transactionResult = TransRes}, Trans = {transactionReply, TransRep}, Body = {transactions, [Trans]}, Msg = #'Message'{version = ?VERSION, mId = ?MG1_MID, messageBody = Body}, #'MegacoMessage'{mess = Msg}.%% --------------------------------------------------------------compact_otp6017_msg01(suite) -> [];compact_otp6017_msg01(Config) when list(Config) -> d("compact_otp6017_msg01 -> entry", []), ?ACQUIRE_NODES(1, Config), ok = compact_otp6017(0), ok.compact_otp6017_msg02(suite) -> [];compact_otp6017_msg02(Config) when list(Config) -> d("compact_otp6017_msg02 -> entry", []), ?ACQUIRE_NODES(1, Config), ok = com
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -