From 0653103234ab372060c04a1e49d06b73b2064d20 Mon Sep 17 00:00:00 2001 From: Sascha Steinbiss Date: Fri, 23 Aug 2019 01:11:42 +0200 Subject: [PATCH] add tests for pcap parsing --- pcap_flowtuple_source_test.go | 28 ++++++++++++++++++++++++++++ testdata/icmp.pcap | Bin 0 -> 1104 bytes testdata/icmp6.pcap | Bin 0 -> 5356 bytes testdata/ipv6.pcap | Bin 0 -> 1828 bytes testdata/sctp.pcap | Bin 0 -> 69024 bytes testdata/tcp.pcap | Bin 0 -> 1114 bytes testdata/udp.pcap | Bin 0 -> 372 bytes 7 files changed, 28 insertions(+) create mode 100644 pcap_flowtuple_source_test.go create mode 100644 testdata/icmp.pcap create mode 100644 testdata/icmp6.pcap create mode 100644 testdata/ipv6.pcap create mode 100644 testdata/sctp.pcap create mode 100644 testdata/tcp.pcap create mode 100644 testdata/udp.pcap diff --git a/pcap_flowtuple_source_test.go b/pcap_flowtuple_source_test.go new file mode 100644 index 0000000..f0b86b1 --- /dev/null +++ b/pcap_flowtuple_source_test.go @@ -0,0 +1,28 @@ +package gommunityid + +import ( + "log" + "path/filepath" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestPcapFlowTupleSource(t *testing.T) { + testfiles, err := filepath.Glob("testdata/*.pcap") + if err != nil { + t.Fatal(err) + } + i := 0 + for _, testfile := range testfiles { + ftChan, err := PcapFlowTupleSource(testfile) + if err != nil { + log.Fatal(err) + } + for _ = range ftChan { + i++ + } + log.Printf("read %s with %d packets", testfile, i) + assert.Greater(t, i, 0) + } +} diff --git a/testdata/icmp.pcap b/testdata/icmp.pcap new file mode 100644 index 0000000000000000000000000000000000000000..037606d1beff5b19ce4a44395a490a44e623b2f5 GIT binary patch literal 1104 zcmca|c+)~A1{MYw`2U}Qff2|t|IY4rJdT0E3&;jx2A*@mI~Oo0#oN!A$id*sz+iLC zj)9?p@zeDKD;Oeyn303QDTaxGlOZuFIVCkMJtH$KJ0~|Uzo4+FxTLhK94-tp`7zB* z7R*C(GuX8dmm}Q#pRpL^W=4>^foh3zvjx!2*W!^(#taQ-aA;gYgoY!~WG;fC0Ww)A zkya+(FF-OGGc;Tbh~7 YS&rmp%+LV385kNMH$y|iohUa00Mh7JB>(^b literal 0 HcmV?d00001 diff --git a/testdata/icmp6.pcap b/testdata/icmp6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..99e7cde9cfb8c1d02193fc8e4d54345be710c25d GIT binary patch literal 5356 zcmc(jZA=_R7{{O8z4xVXq}xbo#Y+_%8;mq4jZ}||LTj{Yt)|shlWT(s5K@i6Y2`x? zA_vk&;|J0YT5a+0lN2S^_}W}jLu%8AiAIg7X>F^ZmcD$j#F%hC&+OdX-0sQIgTN-U zdo#21d;ar0v-5J_A0Iiaf&)_5w{8FhGv`l?SAW{)hOPLU5`+)9oBjldIio+vehE`a zpe8vTr5^w)#FEokBl6(`$!UDQ2O7VmdTY6YCWu5<9Q)ny2);wfEH!O$D1 zyQi=Z*484=t@gs!-cS}R6G(sT^IUNdG_G0XIo;L=UY?2rS!wwqR~)QVkr#0|y(}U3 zfmo3IS59i zUgJuVYfUA$J&{96EqNE9L}jzp$9u0>y|2NE0SZi*ZnKNd+hA-CI#e?{x2!XjB!?D3 z$va?7o^x^~-EWvmUK?8kC5ON$J?`R4wtZkKIltdG^N0;nbV}gndU8Hqsy#Z#8mJ;n zx7kJKFc_Un-I^Jl%g^}Oh#k4Q2ucRPSQhtiB~P6)m24@~7v3lDg3-9g%au5O6!`BJwfUyVNKQz7PrEMh$7- z-R)w}&HWP9zE=8c)>|pon0G=vgQ_BZRlP*Duk*9gTH6!}C_uDz_q*7$c%MYgQ)@7T zsv&)NwM5NR>tHMrP=RP;FV*q7cv*{Soe7bh!4Bfj+h$?lOk z?8S?a{$zO}1aUx8s;a^pt`X9i$RnLr_&84D8`7nAL;E($`;petpg{zGQ(`oJrr>9v zkVNCVF$+zJ!G`h>xIF;vl>pjAYBx;Z4uJEt<_IOA`cjl7EJ=-js-KZkuS(d&;CLIw7jQkMDUTK4(nf#u8zbh}S+e0Y?8gy}X~{5#DY za(&8ksk1KJf)A4}QVm z(MI|6`I4-RTuNKXa`KqP*WU}De0DaA72MCWQA<`P zFMF?loyj==N8zSON5K3t>dxvw)bT44)joFR72$tQO`T9?qrUQ&K4+~*TRH*?)A;@$ zrq-7(O4K~Hew0C7fgZT^8;NS4BV-Sx*KdnoSM+t@IzzO&Q#yOzGbT~<)LNQBU5WH# zKT6a*weE;^1T-L;`h(7%Cx4Qtd1~FBLA?>_oxe)dJhdLdk>voQ4V}^1v+JBh%~R`8 v2DJ?7k(i!i{TBb4@UKAR`IxZ%AIQs7s}@;-SM?n0x0NdL+-fgm{}1OsOUo7J literal 0 HcmV?d00001 diff --git a/testdata/ipv6.pcap b/testdata/ipv6.pcap new file mode 100644 index 0000000000000000000000000000000000000000..eeeeb1f27cd21ed4e1b918e6596bd5375a421ff2 GIT binary patch literal 1828 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 literal 0 HcmV?d00001 diff --git a/testdata/tcp.pcap b/testdata/tcp.pcap new file mode 100644 index 0000000000000000000000000000000000000000..92a5e9803bc3ae14b887709a853eae886362976a GIT binary patch literal 1114 zcmca|c+)~A1{MYwNB}Yzf%pa6eS5(q>|YSGI7y2tR_l`T_}%3HPPKQL_t3@H!(f6Sid+;FE6zuJ}JLKFFi9& z!6PIDWS{R*CWH^r!^Wfm95zde(ZVKU-{~J^4FZx14+S9h0bQQ~3>R6Di5D&~fqn3b z73c#r6It&xFoHsR-YHxr-gQPb5$MbSeM3D%1tS9k1%Gc|E|i}L765$!PnT#uU@&Q52Kit~0jdwAw81_QlvKFogX#m2 z8wDkq5hh}W@&vFOA7gQ&PJcK)e(vuZoBBmQzz;4V(bE6K>jpd+}cS{TI K#tLA{(*poB##N92 literal 0 HcmV?d00001 diff --git a/testdata/udp.pcap b/testdata/udp.pcap new file mode 100644 index 0000000000000000000000000000000000000000..169c924e4acb4785be65e15813dbe406174b3bb4 GIT binary patch literal 372 zcmca|c+)~A1{MYcU}0bca-t*MgTGGaWN-trLD=KRX0`jCyTE{h!Igo*B5f}NLxUg_ z&w&+;CLBO;)sn%KLB*w?ff=YDWCRefrRV3T=cFB29yI~h