(t *testing.T)
| 41 | } |
| 42 | |
| 43 | func TestAttackDuration(t *testing.T) { |
| 44 | t.Parallel() |
| 45 | server := httptest.NewServer( |
| 46 | http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}), |
| 47 | ) |
| 48 | defer server.Close() |
| 49 | |
| 50 | tr := NewStaticTargeter(Target{Method: "GET", URL: server.URL}) |
| 51 | atk := NewAttacker() |
| 52 | rate := Rate{Freq: 100, Per: time.Second} |
| 53 | |
| 54 | var m Metrics |
| 55 | for res := range atk.Attack(tr, rate, rate.Per, "") { |
| 56 | m.Add(res) |
| 57 | } |
| 58 | m.Close() |
| 59 | |
| 60 | if got, want := m.Requests, uint64(rate.Freq); got != want { |
| 61 | t.Errorf("got %v hits, want: %v", got, want) |
| 62 | } else if got, want := m.Duration.Round(time.Second), time.Second; got != want { |
| 63 | t.Errorf("got duration %s, want %s", got, want) |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | func TestTLSConfig(t *testing.T) { |
| 68 | atk := NewAttacker() |
nothing calls this directly
no test coverage detected