From 54c32f71559b203dc0ea7bfa4aec00ba6bab012d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Senart?= Date: Sat, 17 Aug 2013 15:02:58 +0200 Subject: [PATCH] Test targets parsing and shuffling --- targets_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 targets_test.go diff --git a/targets_test.go b/targets_test.go new file mode 100644 index 0000000..10dc2b9 --- /dev/null +++ b/targets_test.go @@ -0,0 +1,39 @@ +package main + +import ( + "bytes" + "net/http" + "testing" +) + +func TestNewTargets(t *testing.T) { + text := "GET http://lolcathost:9999/\n\nHEAD http://lolcathost:9999/\n" + targets, err := NewTargets(bytes.NewBufferString(text)) + if err != nil { + t.Fatalf("Couldn't parse valid source: %s", err) + } + for i, method := range []string{"GET", "HEAD"} { + if targets[i].Method != method || + targets[i].URL.String() != "http://lolcathost:9999/" { + t.Fatalf("Request was parsed incorrectly. Got: %s %s", + targets[i].Method, targets[i].URL.String()) + } + } +} + +func TestShuffle(t *testing.T) { + targets := make(Targets, 50) + for i := 0; i < 50; i++ { + targets[i], _ = http.NewRequest("GET", "http://lolcathost:9999/", nil) + } + targetsCopy := make(Targets, 50) + copy(targetsCopy, targets) + + targets.Shuffle(0) + for i, target := range targets { + if targetsCopy[i] != target { + return + } + } + t.Fatal("Targets were not shuffled correctly") +}