2018-10-12 01:06:43 +00:00
|
|
|
package http
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"net/http/httptest"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/influxdata/platform"
|
|
|
|
"github.com/influxdata/platform/inmem"
|
|
|
|
platformtesting "github.com/influxdata/platform/testing"
|
|
|
|
)
|
|
|
|
|
2018-12-17 14:07:38 +00:00
|
|
|
func initScraperService(f platformtesting.TargetFields, t *testing.T) (platform.ScraperTargetStoreService, string, func()) {
|
2018-10-12 01:06:43 +00:00
|
|
|
t.Helper()
|
|
|
|
svc := inmem.NewService()
|
|
|
|
svc.IDGenerator = f.IDGenerator
|
|
|
|
|
|
|
|
ctx := context.Background()
|
|
|
|
for _, target := range f.Targets {
|
|
|
|
if err := svc.PutTarget(ctx, target); err != nil {
|
|
|
|
t.Fatalf("failed to populate scraper targets")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
handler := NewScraperHandler()
|
|
|
|
handler.ScraperStorageService = svc
|
|
|
|
server := httptest.NewServer(handler)
|
|
|
|
client := ScraperService{
|
2018-12-17 14:07:38 +00:00
|
|
|
Addr: server.URL,
|
|
|
|
OpPrefix: inmem.OpPrefix,
|
2018-10-12 01:06:43 +00:00
|
|
|
}
|
|
|
|
done := server.Close
|
|
|
|
|
2018-12-17 14:07:38 +00:00
|
|
|
return &client, inmem.OpPrefix, done
|
2018-10-12 01:06:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestScraperService(t *testing.T) {
|
|
|
|
platformtesting.ScraperService(initScraperService, t)
|
|
|
|
}
|