⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 megaco_codec_v1_test.erl

📁 OTP是开放电信平台的简称
💻 ERL
📖 第 1 页 / 共 5 页
字号:
	}       ]      }     }    }.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 + -