func TestOctetString(t *testing.T) { expStr := "Test" expBuf := []byte{0x04, 0x04, 0x54, 0x65, 0x73, 0x74} var v snmpclient2.Variable = snmpclient2.NewOctetString([]byte(expStr)) //_, err := v.BigInt() //if err == nil { // t.Errorf("Failed to call BigInt()") //} exceptedError(t, v) x, _ := hex.DecodeString(v.ToString()) if expStr != string(x) { t.Errorf("ToString() - expected [%s], actual[%s]", expStr, v.ToString()) } buf, err := v.Marshal() if err != nil { t.Errorf("Marshal(): %v", err) } if !bytes.Equal(expBuf, buf) { t.Errorf("Marshal() - expected [%s], actual [%s]", snmpclient2.ToHexStr(expBuf, " "), snmpclient2.ToHexStr(buf, " ")) } var w snmpclient2.OctetString rest, err := (&w).Unmarshal(buf) if len(rest) != 0 || err != nil { t.Errorf("Unmarshal() - len[%d] err[%v]", len(rest), err) } x, _ = hex.DecodeString(w.ToString()) if expStr != string(x) { t.Errorf("Unmarshal() - expected [%s], actual [%s]", expStr, w.ToString()) } buf = append(buf, 0x00) rest, err = (&w).Unmarshal(buf) if len(rest) != 1 || err != nil { t.Errorf("Unmarshal() with rest - len[%d] err[%v]", len(rest), err) } x, _ = hex.DecodeString(w.ToString()) if expStr != string(x) { t.Errorf("Unmarshal() with rest - expected [%s], actual [%s]", expStr, w.ToString()) } }
func TestCounter64(t *testing.T) { expInt := uint64(18446744073709551615) expStr := "18446744073709551615" expBuf := []byte{0x46, 0x09, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff} var v snmpclient2.Variable = snmpclient2.NewCounter64(expInt) if expInt != v.Uint() { t.Errorf("BigInt() - expected [%d], actual [%d]", expInt, v.Uint()) } if expStr != v.ToString() { t.Errorf("ToString() - expected [%s], actual [%s]", expStr, v.ToString()) } buf, err := v.Marshal() if err != nil { t.Errorf("Marshal(): %v", err) } if !bytes.Equal(expBuf, buf) { t.Errorf("Marshal() - expected [%s], actual [%s]", snmpclient2.ToHexStr(expBuf, " "), snmpclient2.ToHexStr(buf, " ")) } var w snmpclient2.Counter64 rest, err := (&w).Unmarshal(buf) if len(rest) != 0 || err != nil { t.Errorf("Unmarshal() - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() - expected [%s], actual [%s]", expStr, w.ToString()) } buf = append(buf, 0x00) rest, err = (&w).Unmarshal(buf) if len(rest) != 1 || err != nil { t.Errorf("Unmarshal() with rest - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() with rest - expected [%s], actual [%s]", expStr, w.ToString()) } }
func TestTimeTicks(t *testing.T) { expInt := int64(4294967295) expStr := "4294967295" expBuf := []byte{0x43, 0x05, 0x00, 0xff, 0xff, 0xff, 0xff} var v snmpclient2.Variable = snmpclient2.NewTimeTicks(uint32(expInt)) if expInt != v.Int() { t.Errorf("BigInt() - expected [%d], actual [%d]", expInt, v.Int()) } if expStr != v.ToString() { t.Errorf("ToString() - expected [%s], actual [%s]", expStr, v.ToString()) } buf, err := v.Marshal() if err != nil { t.Errorf("Marshal(): %v", err) } if !bytes.Equal(expBuf, buf) { t.Errorf("Marshal() - expected [%s], actual [%s]", snmpclient2.ToHexStr(expBuf, " "), snmpclient2.ToHexStr(buf, " ")) } var w snmpclient2.TimeTicks rest, err := (&w).Unmarshal(buf) if len(rest) != 0 || err != nil { t.Errorf("Unmarshal() - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() - expected [%s], actual [%s]", expStr, w.ToString()) } buf = append(buf, 0x00) rest, err = (&w).Unmarshal(buf) if len(rest) != 1 || err != nil { t.Errorf("Unmarshal() with rest - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() with rest - expected [%s], actual [%s]", expStr, w.ToString()) } }
func TestIpaddress(t *testing.T) { expStr := "192.168.1.1" expInt := int64(3232235777) expBuf := []byte{0x40, 0x04, 0xc0, 0xa8, 0x01, 0x01} var v snmpclient2.Variable = snmpclient2.NewIpaddress(0xc0, 0xa8, 0x01, 0x01) if expInt != v.Int() { t.Errorf("BigInt() - expected [%d], actual [%d]", expInt, v.Int()) } if expStr != v.ToString() { t.Errorf("ToString() - expected [%s], actual[%s]", expStr, v.ToString()) } buf, err := v.Marshal() if err != nil { t.Errorf("Marshal(): %v", err) } if !bytes.Equal(expBuf, buf) { t.Errorf("Marshal() - expected [%s], actual [%s]", snmpclient2.ToHexStr(expBuf, " "), snmpclient2.ToHexStr(buf, " ")) } var w snmpclient2.Ipaddress rest, err := (&w).Unmarshal(buf) if len(rest) != 0 || err != nil { t.Errorf("Unmarshal() - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() - expected [%s], actual [%s]", expStr, w.ToString()) } buf = append(buf, 0x00) rest, err = (&w).Unmarshal(buf) if len(rest) != 1 || err != nil { t.Errorf("Unmarshal() with rest - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() with rest - expected [%s], actual [%s]", expStr, w.ToString()) } }
func TestInteger(t *testing.T) { expInt := int64(2147483647) expStr := "2147483647" expBuf := []byte{0x02, 0x04, 0x7f, 0xff, 0xff, 0xff} var v snmpclient2.Variable = snmpclient2.NewInteger(int32(expInt)) if expInt != v.Int() { t.Errorf("BigInt() - expected [%d], actual [%d]", expInt, v.Int()) } if expStr != v.ToString() { t.Errorf("ToString() - expected [%s], actual [%s]", expStr, v.ToString()) } buf, err := v.Marshal() if err != nil { t.Errorf("Marshal(): %v", err) } if !bytes.Equal(expBuf, buf) { t.Errorf("Marshal() - expected [%s], actual [%s]", snmpclient2.ToHexStr(expBuf, " "), snmpclient2.ToHexStr(buf, " ")) } var w snmpclient2.Integer rest, err := (&w).Unmarshal(buf) if len(rest) != 0 || err != nil { t.Errorf("Unmarshal() - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() - expected [%s], actual [%s]", expStr, w.ToString()) } buf = append(buf, 0x00) rest, err = (&w).Unmarshal(buf) if len(rest) != 1 || err != nil { t.Errorf("Unmarshal() with rest - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() with rest - expected [%s], actual [%s]", expStr, w.ToString()) } }
func TestEndOfMibView(t *testing.T) { expStr := "" expBuf := []byte{0x82, 0x00} var v snmpclient2.Variable = snmpclient2.NewEndOfMibView() exceptedError(t, v) if expStr != v.ToString() { t.Errorf("ToString() - expected [%s], actual[%s]", expStr, v.ToString()) } buf, err := v.Marshal() if err != nil { t.Errorf("Marshal(): %v", err) } if !bytes.Equal(expBuf, buf) { t.Errorf("Marshal() - expected [%s], actual [%s]", snmpclient2.ToHexStr(expBuf, " "), snmpclient2.ToHexStr(buf, " ")) } var w snmpclient2.EndOfMibView rest, err := (&w).Unmarshal(buf) if len(rest) != 0 || err != nil { t.Errorf("Unmarshal() - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() - expected [%s], actual [%s]", expStr, w.ToString()) } buf = append(buf, 0x00) rest, err = (&w).Unmarshal(buf) if len(rest) != 1 || err != nil { t.Errorf("Unmarshal() with rest - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() with rest - expected [%s], actual [%s]", expStr, w.ToString()) } }
func TestOpaque(t *testing.T) { expStr := "54:65:73:74" expBuf := []byte{0x44, 0x04, 0x54, 0x65, 0x73, 0x74} var v snmpclient2.Variable = snmpclient2.NewOpaque(expBuf[2:]) exceptedError(t, v) if expStr != v.ToString() { t.Errorf("ToString() - expected [%s], actual[%s]", expStr, v.ToString()) } buf, err := v.Marshal() if err != nil { t.Errorf("Marshal(): %v", err) } if !bytes.Equal(expBuf, buf) { t.Errorf("Marshal() - expected [%s], actual [%s]", snmpclient2.ToHexStr(expBuf, " "), snmpclient2.ToHexStr(buf, " ")) } var w snmpclient2.Opaque rest, err := (&w).Unmarshal(buf) if len(rest) != 0 || err != nil { t.Errorf("Unmarshal() - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() - expected [%s], actual [%s]", expStr, w.ToString()) } buf = append(buf, 0x00) rest, err = (&w).Unmarshal(buf) if len(rest) != 1 || err != nil { t.Errorf("Unmarshal() with rest - len[%d] err[%v]", len(rest), err) } if expStr != w.ToString() { t.Errorf("Unmarshal() with rest - expected [%s], actual [%s]", expStr, w.ToString()) } }