public async Task IntegrationTestUploadToInara() { var logEventSource = new LogBurstPlayer(new SavedGamesDirectoryHelper().Directory, 5); var logCounter = new LogEventTypeCounter(); var stateRecorder = new PlayerStateRecorder(); var inaraRestClient = new ThrottlingRestClient.Factory().CreateRestClient("https://inara.cz/inapi/v1/"); var inaraConverter = new InaraEventConverter(stateRecorder); var inaraApiFacade = new InaraApiFacade(inaraRestClient, TestCredentials.Inara.ApiKey, TestCredentials.UserName); // Populate the state recorder to avoid missing ships/starsystems data foreach (var ev in logEventSource.Events) { stateRecorder.OnNext(ev); } var convertedEvents = logEventSource .Events .SelectMany(inaraConverter.Convert) .ToArray(); var results = await inaraApiFacade.ApiCall(convertedEvents); results = results .Where(e => e.EventStatus != 200) .Where(e => !ignoredErrors.Contains(e.EventStatusText)) .ToList(); CollectionAssert.IsEmpty(results); Assert.Pass("Uploaded {0} events", convertedEvents.Length); }
public async Task IntegrationTestUploadToEddn() { var restClient = new ThrottlingRestClient.Factory().CreateRestClient("https://eddn.edcd.io:4430/upload/"); var facade = new EddnApiFacade(restClient); var @event = new TestEddnEvent(); @event.Header = new Dictionary <string, string> { { "uploaderID", TestCredentials.UserName }, { "softwareName", AppInfo.Name }, { "softwareVersion", AppInfo.Version } }; var message = @event.Message; message.Add("timestamp", DateTime.UtcNow); message.Add("event", "FSDJump"); message.Add("StarSystem", "Sol"); message.Add("SystemAddress", 12345678901234567890); message.Add("StarPos", new JArray(new[] { 0, 0, 0 })); Assert.IsTrue(new EventSchemaValidator().ValidateSchema(@event)); await facade.PostEventAsync(@event); }