public static CheckForUpdatesResponse CheckForUpdates(bool verbose = false) { try { CheckForUpdatesResponse response; AppUsageData data = AppSettings.Default.UsageData; data.Reload(); if (data.LastCheckedForUpdates.GetValueOrDefault() < DateTime.Now.AddHours(-1)) { response = WebApiClient.CheckForUpdates(AppSettings.Default.SdkTable.Revision); if (!string.IsNullOrEmpty(response.NewSdkTable) && SerDes.TryXmlStringToObject(response.NewSdkTable, out SdkTable table)) { SerDes.ObjectToXmlFile(table, AppSettings.Default.SdkTableCurrentPath); AppSettings.Default.SdkTable = table; } data.LastCheckedForUpdates = DateTime.Now; data.UpToDate = response.UpToDate; data.NewVersion = response.NewVersion; data.DownloadUrl = response.DownloadUrl; data.Save(); } else { // prevent new Flutnet installations to report // old server responses if (!data.UpToDate && !string.IsNullOrEmpty(data.NewVersion)) { string productVersion = Assembly.GetEntryAssembly().GetProductVersion(); int compare = VersionUtils.Compare(productVersion, data.NewVersion); if (compare >= 0) { data.UpToDate = true; data.Save(); } } response = new CheckForUpdatesResponse { UpToDate = data.UpToDate, NewVersion = data.NewVersion, DownloadUrl = data.DownloadUrl }; } return(response); } catch (Exception ex) { Log.Ex(ex); Console.WriteLine(ex); throw; } }
//[Fact] public async Task Should_Receive_Events_From_Subscription() { //Arrange var serDes = new SerDes(); var stream1 = "teststream-1"; var stream2 = "teststream-2"; var events1 = new List <IEvent> { new TestEvent1 { CreationDate = DateTime.Now, EventId = Guid.NewGuid(), SequenceNumber = 0 }, new TestEvent1 { CreationDate = DateTime.Now, EventId = Guid.NewGuid(), SequenceNumber = 1 } }; var events2 = new List <IEvent> { new TestEvent2 { CreationDate = DateTime.Now, EventId = Guid.NewGuid(), SequenceNumber = 0 } }; var totalEventsCount = events1.Count + events2.Count; var sut = new GetEventStoreSubscriber(serDes, Mock.Of <ILogger <GetEventStoreSubscriber> >()); var pub = new GetEventStoreClient(serDes, Mock.Of <ILogger <GetEventStoreClient> >()); await pub.AppendEventsToStreamAsync(stream1, events1, null, CancellationToken.None); await pub.AppendEventsToStreamAsync(stream2, events2, null, CancellationToken.None); var messagesReceived = 0; var cts = new CancellationTokenSource(); //Act await sut.SubscribeToAllAsync(message => { messagesReceived++; if (messagesReceived >= totalEventsCount) { cts.Cancel(); } return(Task.CompletedTask); }, cts.Token); //Assert messagesReceived.Should().Be(totalEventsCount); }