func main() { configFilePath := flag.String("config", "config/datadog-firehose-nozzle.json", "Location of the nozzle config json file") flag.Parse() config, err := nozzleconfig.Parse(*configFilePath) if err != nil { log.Fatalf("Error parsing config: %s", err.Error()) } tokenFetcher := &uaatokenfetcher.UAATokenFetcher{ UaaUrl: config.UAAURL, Username: config.Username, Password: config.Password, InsecureSSLSkipVerify: config.InsecureSSLSkipVerify, } threadDumpChan := registerGoRoutineDumpSignalChannel() defer close(threadDumpChan) go dumpGoRoutine(threadDumpChan) datadog_nozzle := datadogfirehosenozzle.NewDatadogFirehoseNozzle(config, tokenFetcher) datadog_nozzle.Start() }
tokenFetcher := &uaatokenfetcher.UAATokenFetcher{ UaaUrl: fakeUAA.URL(), } config = &nozzleconfig.NozzleConfig{ UAAURL: fakeUAA.URL(), FlushDurationSeconds: 10, DataDogURL: fakeDatadogAPI.URL(), TrafficControllerURL: strings.Replace(fakeFirehose.URL(), "http:", "ws:", 1), DisableAccessControl: false, MetricPrefix: "datadog.nozzle.", } logOutput = gbytes.NewBuffer() log.SetOutput(logOutput) nozzle = datadogfirehosenozzle.NewDatadogFirehoseNozzle(config, tokenFetcher) }) AfterEach(func() { fakeUAA.Close() fakeFirehose.Close() fakeDatadogAPI.Close() }) It("receives data from the firehose", func(done Done) { defer close(done) for i := 0; i < 10; i++ { envelope := events.Envelope{ Origin: proto.String("origin"), Timestamp: proto.Int64(1000000000),