]> Sergey Matveev's repositories - btrtrc.git/blobdiff - iplist/packed_test.go
Add packed IP list
[btrtrc.git] / iplist / packed_test.go
diff --git a/iplist/packed_test.go b/iplist/packed_test.go
new file mode 100644 (file)
index 0000000..d6235db
--- /dev/null
@@ -0,0 +1,35 @@
+package iplist
+
+import (
+       "bytes"
+       "strings"
+       "testing"
+
+       "github.com/stretchr/testify/require"
+)
+
+// The active ingredients in the sample P2P blocklist file contents `sample`,
+// for reference:
+//
+// a:1.2.4.0-1.2.4.255
+// b:1.2.8.0-1.2.8.255
+// eff:1.2.8.2-1.2.8.2
+// something:more detail:86.59.95.195-86.59.95.195
+// eff:127.0.0.0-127.0.0.1`
+
+func TestWritePacked(t *testing.T) {
+       l, err := NewFromReader(strings.NewReader(sample))
+       require.NoError(t, err)
+       var buf bytes.Buffer
+       err = l.WritePacked(&buf)
+       require.NoError(t, err)
+       require.Equal(t,
+               "\x05\x00\x00\x00\x00\x00\x00\x00"+
+                       "\x01\x02\x04\x00\x01\x02\x04\xff"+"\x00\x00\x00\x00\x00\x00\x00\x00"+"\x01\x00\x00\x00"+
+                       "\x01\x02\x08\x00\x01\x02\x08\xff"+"\x01\x00\x00\x00\x00\x00\x00\x00"+"\x01\x00\x00\x00"+
+                       "\x01\x02\x08\x02\x01\x02\x08\x02"+"\x02\x00\x00\x00\x00\x00\x00\x00"+"\x03\x00\x00\x00"+
+                       "\x56\x3b\x5f\xc3\x56\x3b\x5f\xc3"+"\x05\x00\x00\x00\x00\x00\x00\x00"+"\x15\x00\x00\x00"+
+                       "\x7f\x00\x00\x00\x7f\x00\x00\x01"+"\x02\x00\x00\x00\x00\x00\x00\x00"+"\x03\x00\x00\x00"+
+                       "abeffsomething:more detail",
+               buf.String())
+}