/* Ċ Ġ* ĠCopyright Ġ@ Ġ 2 0 1 8 Ġ- Ġpresent Ġ 8 x 8 , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . j its i . nl j . transform . node . outgoing Ċ Ċ import Ġio . kot lint est . Isolation Mode Ċ import Ġio . kot lint est . should Ċ import Ġio . kot lint est . shouldBe Ċ import Ġio . kot lint est . should Not Be Ċ import Ġio . kot lint est . specs . Should Spec Ċ import Ġorg . j its i . nl j . Packet Info Ċ import Ġorg . j its i . nl j . resources . logging . Stdout Logger Ċ import Ġorg . j its i . nl j . resources . sr tp _ samples . Sr tp Sample Ċ import Ġorg . j its i . nl j . sr tp . Sr tp Util Ċ import Ġorg . j its i . nl j . test _ utils . matchers . ByteArray Buffer . have Same Content As Ċ import Ġorg . j its i . nl j . test _ utils . matchers . have Same Content As Ċ import Ġorg . j its i . rtp . extensions . byte array . to Hex Ċ import Ġorg . j its i . rtp . rt cp . R tcp Header Ċ import Ġorg . j its i . rtp . rt cp . rt cp fb . transport _ layer _ fb . R tcp Fb N ack Packet Builder Ċ import Ġorg . j its i . rtp . rt cp . rt cp fb . transport _ layer _ fb . Transport Layer R tcp Fb Packet Ċ Ċ internal Ġclass ĠS rtp Encrypt Test Ġ: ĠShould Spec () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġisolation Mode (): ĠI sol ation Mode ? Ġ= ĠI sol ation Mode . Instance Per Leaf ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsr tp Transform ers Ġ= ĠS rtp Util . initialize Transformer ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS rtp Sample . sr tp Profile Information , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS rtp Sample . key ing Material . array (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS rtp Sample . tls Role , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStd out Logger () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ" encrypt ing Ġan ĠR TCP Ġpacket " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" created Ġfrom Ġa Ġbuffer " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpacket Info Ġ= ĠPacket Info ( Sr tp Sample . outgoing Un encrypted R tcp Packet . clone ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsr tp Transform ers . s rt cp Encrypt Transformer . transform ( packet Info ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġencrypted Packet Ġ= Ġpacket Info . packet ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould (" encrypt Ġthe Ġdata Ġcorrectly ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Packet Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Packet Ġshould Ġhave Same Content As ( Sr tp Sample . expected Encrypted R tcp Packet ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" created Ġfrom Ġvalues " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoriginal Packet Ġ= ĠR tcp Fb N ack Packet Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedia Source S src Ġ= Ġ 1 2 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmissing Seq Nums Ġ= Ġ( 1 0 .. 2 0 Ġstep Ġ 2 ). to Sorted Set () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpacket Info Ġ= ĠPacket Info ( original Packet . clone ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsr tp Transform ers . s rt cp Encrypt Transformer . transform ( packet Info ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġencrypted Packet Ġ= Ġpacket Info . packet ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould (" result Ġin Ġall Ġheader Ġfields Ġbeing Ġcorrect ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" original Ġpacket :\ n ${ original Packet . buffer . to Hex () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" packet Ġafter :\ n ${ encrypted Packet . buffer . to Hex () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR tcp Header . get Packet Type ( encrypted Packet . buffer , Ġencrypted Packet . offset ) ĠshouldBe ĠTransport Layer R tcp Fb Packet . PT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" encrypt ing Ġan ĠR TP Ġpacket " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpacket Info Ġ= ĠPacket Info ( Sr tp Sample . outgoing Un encrypted R tp Packet . clone ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsr tp Transform ers . sr tp Encrypt Transformer . transform ( packet Info ) ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġencrypted Packet Ġ= Ġpacket Info . packet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould (" encrypt Ġthe Ġdata Ġcorrectly ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencrypted Packet Ġshould Ġhave Same Content As ( Sr tp Sample . expected Encrypted R tp Packet ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ