public async void When_sending_data_to_splunk_Then_see_data_in_splunk() { var eventCollectorToken = "f519216f-6641-4468-ba98-52bb614711f5"; // token configured in splunk when setting up the collector var observer = new SplunkObserver(new HttpPoster(new Uri("http://localhost:8088/"), eventCollectorToken), JsonConvert.SerializeObject); await observer.Update(new[] { SplunkObserverTest.CreateMetrics("foo", "bar") }); }
public async void When_using_func_Then_output_can_be_controlled() { var converter = new IsoDateTimeConverter(); converter.DateTimeStyles = DateTimeStyles.AssumeUniversal; var observer = new SplunkObserver(CreateHttpPoster(), metric => new Dictionary <string, object>() { { "name", metric.Name }, { "timeStamp", metric.Timestamp.LocalDateTime }, { "tags", metric.Tags.ToDictionary(x => x.Key, x => x.Value) }, { "values", metric.Values.ToDictionary(x => x.Name, x => x.Value) }, }, x => JsonConvert.SerializeObject(x, converter)); await observer.Update(new[] { CreateMetrics("tag", "name") }); var expected = @"{""event"":" + @"{""name"":""name""," + @"""timeStamp"":""2022-02-03T12:33:44.234Z""," + @"""tags"":{""tag"":""tagvalue"",""tagNoCollision"":""noCollision""}," + @"""values"":{""name"":23,""valueNoCollision"":42}}" + "}"; Assert.Equal(expected, jsonSentToSplunk); }
private SplunkObserver CreateObserver() { var converter = new IsoDateTimeConverter(); converter.DateTimeStyles = DateTimeStyles.AssumeUniversal; var observer = new SplunkObserver(CreateHttpPoster(), x => JsonConvert.SerializeObject(x, converter)); return(observer); }
public async void When_no_measurements_Then_do_not_send_to_splunk() { var httpPoster = Substitute.For <IHttpPoster>(); var observer = new SplunkObserver(httpPoster, JsonConvert.SerializeObject); await observer.Update(new Metric[0]); httpPoster.DidNotReceive().SendToSplunk(Arg.Any <string>()); }