package snmp


import (
	"git.loafle.net/overflow/overflow_probe/matcher/packet"
	"net"
	"testing"
)

func TestSNMP3(t *testing.T) {

	m := NewSNMPv3Matcher()

	conn, err := net.Dial("udp", "192.168.1.15:161")
	if err != nil {
		t.Error(err)
		return
	}
	defer conn.Close()

	for i := 0; i < m.PacketCount(); i++ {

		pack := m.Packet(i)
		conn.Write(pack.Buffer)
		bytes := make([]byte, 1024)
		n, _ := conn.Read(bytes)
		p := packet.NewPacket(bytes, n)

		if m.Match(i, p, nil) {
			t.Log("SNMP found")
			return
		}

		t.Error("SNMP not found")
	}

}
