[tor-commits] [goptlib/master] Add tests for readAuthCookie.
dcf at torproject.org
dcf at torproject.org
Sun Nov 10 03:11:28 UTC 2013
commit 602b719604c0a9935482bcfca5549384d1e57277
Author: David Fifield <david at bamsoftware.com>
Date: Sat Nov 9 17:02:27 2013 -0800
Add tests for readAuthCookie.
---
pt_test.go | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/pt_test.go b/pt_test.go
index ada9ed5..44cfa54 100644
--- a/pt_test.go
+++ b/pt_test.go
@@ -1,5 +1,6 @@
package pt
+import "bytes"
import "os"
import "testing"
@@ -79,3 +80,39 @@ func TestGetManagedTransportVer(t *testing.T) {
}
}
}
+
+func TestReadAuthCookie(t *testing.T) {
+ badTests := [...][]byte{
+ []byte(""),
+ // bad header
+ []byte("! Impostor ORPort Auth Cookie !\x0a0123456789ABCDEF0123456789ABCDEF"),
+ // too short
+ []byte("! Extended ORPort Auth Cookie !\x0a0123456789ABCDEF0123456789ABCDE"),
+ // too long
+ []byte("! Extended ORPort Auth Cookie !\x0a0123456789ABCDEF0123456789ABCDEFX"),
+ }
+ goodTests := [...][]byte{
+ []byte("! Extended ORPort Auth Cookie !\x0a0123456789ABCDEF0123456789ABCDEF"),
+ }
+
+ for _, input := range badTests {
+ var buf bytes.Buffer
+ buf.Write(input)
+ _, err := readAuthCookie(&buf)
+ if err == nil {
+ t.Errorf("%q unexpectedly succeeded", input)
+ }
+ }
+
+ for _, input := range goodTests {
+ var buf bytes.Buffer
+ buf.Write(input)
+ cookie, err := readAuthCookie(&buf)
+ if err != nil {
+ t.Errorf("%q unexpectedly returned an error: %s", input, err)
+ }
+ if !bytes.Equal(cookie, input[32:64]) {
+ t.Errorf("%q â %q (expected %q)", input, cookie, input[:32])
+ }
+ }
+}
More information about the tor-commits
mailing list