public void TestAtKonfigurationerAddUpdatesKonfigurationer() { var fixture = new Fixture(); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var konfigurationer = new Dictionary <string, object> { { "AntalBogføringslinjer", fixture.Create <int>() }, }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); Assert.That(finansstyringKonfigurationRepository.AntalBogføringslinjer, Is.GreaterThan(0)); var newValue = finansstyringKonfigurationRepository.AntalBogføringslinjer + fixture.Create <int>(); var newKonfigurationer = new Dictionary <string, object> { { "AntalBogføringslinjer", newValue } }; finansstyringKonfigurationRepository.KonfigurationerAdd(newKonfigurationer); Assert.That(finansstyringKonfigurationRepository.AntalBogføringslinjer, Is.EqualTo(newValue)); }
public void TestAtFinansstyringServiceUriKasterIntranetGuiRepositoryExceptionVedInvalidSettingValue() { var fixture = new Fixture(); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var konfigurationer = new Dictionary <string, object> { { "FinansstyringServiceUri", fixture.Create <string>() } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); // ReSharper disable ReturnValueOfPureMethodIsNotUsed var exception = Assert.Throws <IntranetGuiRepositoryException>(() => finansstyringKonfigurationRepository.FinansstyringServiceUri.ToString()); // ReSharper restore ReturnValueOfPureMethodIsNotUsed Assert.That(exception, Is.Not.Null); Assert.That(exception.Message, Is.Not.Null); Assert.That(exception.Message, Is.Not.Empty); Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.InvalidConfigurationSettingValue, "FinansstyringServiceUri"))); Assert.That(exception.InnerException, Is.Not.Null); }
public void TestAtKonfigurationerAddAddsKonfigurationer() { var fixture = new Fixture(); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var konfigurationer = new Dictionary <string, object> { { "FinansstyringServiceUri", "http://www.google.dk" }, { "LokalDataFil", Path.GetTempFileName() }, { "SynkroniseringDataFil", Path.GetTempFileName() }, { "AntalBogføringslinjer", fixture.Create <int>() }, { "DageForNyheder", fixture.Create <int>() } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); Assert.That(finansstyringKonfigurationRepository.FinansstyringServiceUri, Is.Not.Null); Assert.That(finansstyringKonfigurationRepository.LokalDataFil, Is.Not.Null); Assert.That(finansstyringKonfigurationRepository.LokalDataFil, Is.Not.Empty); Assert.That(finansstyringKonfigurationRepository.SynkroniseringDataFil, Is.Not.Null); Assert.That(finansstyringKonfigurationRepository.SynkroniseringDataFil, Is.Not.Empty); Assert.That(finansstyringKonfigurationRepository.AntalBogføringslinjer, Is.GreaterThan(0)); Assert.That(finansstyringKonfigurationRepository.DageForNyheder, Is.GreaterThan(0)); }
public void TestAtKonfigurationerAddKasterArgumentNullExceptionHvisKonfigurationerErNull() { var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); Assert.Throws <ArgumentNullException>(() => finansstyringKonfigurationRepository.KonfigurationerAdd(null)); }
public void TestAtAntalBogføringslinjerKasterIntranetGuiRepositoryExceptionHvisSettingMangler() { var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); // ReSharper disable ReturnValueOfPureMethodIsNotUsed var exception = Assert.Throws <IntranetGuiRepositoryException>(() => finansstyringKonfigurationRepository.AntalBogføringslinjer.ToString(Thread.CurrentThread.CurrentUICulture)); // ReSharper restore ReturnValueOfPureMethodIsNotUsed Assert.That(exception, Is.Not.Null); Assert.That(exception.Message, Is.Not.Null); Assert.That(exception.Message, Is.Not.Empty); Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.MissingConfigurationSetting, "AntalBogføringslinjer"))); Assert.That(exception.InnerException, Is.Null); }
public void TestAtFinansstyringServiceUriKasterIntranetGuiRepositoryExceptionHvisSettingMangler() { var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); // ReSharper disable ReturnValueOfPureMethodIsNotUsed var exception = Assert.Throws <IntranetGuiRepositoryException>(() => finansstyringKonfigurationRepository.FinansstyringServiceUri.ToString()); // ReSharper restore ReturnValueOfPureMethodIsNotUsed Assert.That(exception, Is.Not.Null); Assert.That(exception.Message, Is.Not.Null); Assert.That(exception.Message, Is.Not.Empty); Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.MissingConfigurationSetting, "FinansstyringServiceUri"))); Assert.That(exception.InnerException, Is.Null); }
public void TestAtFinansstyringServiceUriReturnererKonfigurationValue() { var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); const string uri = "http://www.google.dk"; var konfigurationer = new Dictionary <string, object> { { "FinansstyringServiceUri", uri } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); var result = finansstyringKonfigurationRepository.FinansstyringServiceUri; Assert.That(result, Is.Not.Null); Assert.That(result, Is.EqualTo(new Uri(uri))); }
public void TestAtDageForNyhederReturnererKonfigurationValue() { var fixture = new Fixture(); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var dageForNyheder = fixture.Create <int>(); var konfigurationer = new Dictionary <string, object> { { "DageForNyheder", dageForNyheder } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); var result = finansstyringKonfigurationRepository.DageForNyheder; Assert.That(result, Is.EqualTo(dageForNyheder)); }
public void TestAtAntalBogføringslinjerReturnererKonfigurationValue() { var fixture = new Fixture(); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var antalBogføringslinjer = fixture.Create <int>(); var konfigurationer = new Dictionary <string, object> { { "AntalBogføringslinjer", antalBogføringslinjer } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); var result = finansstyringKonfigurationRepository.AntalBogføringslinjer; Assert.That(result, Is.EqualTo(antalBogføringslinjer)); }
public void TestAtSynkroniseringDataFilReturnererKonfigurationValue() { var tempFileName = Path.GetFileName(Path.GetTempFileName()); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var konfigurationer = new Dictionary <string, object> { { "SynkroniseringDataFil", tempFileName } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); var result = finansstyringKonfigurationRepository.SynkroniseringDataFil; Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); Assert.That(result, Is.EqualTo(tempFileName)); }
public void TestAtSynkroniseringDataFilReturnererFileNameUdenDirectoryName() { var tempFileName = Path.GetTempFileName(); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var konfigurationer = new Dictionary <string, object> { { "SynkroniseringDataFil", tempFileName } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); var result = finansstyringKonfigurationRepository.SynkroniseringDataFil; Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); Assert.That(result.Contains(Path.DirectorySeparatorChar), Is.False); }
public void TestAtSynkroniseringDataFilKasterIntranetGuiRepositoryExceptionVedFileNameErInvalid() { var rand = new Random(DateTime.Now.Millisecond); var illegalChars = Path.GetInvalidFileNameChars(); var tempFile = new FileInfo(Path.GetTempFileName()); char illegalChar; do { illegalChar = illegalChars[rand.Next(0, illegalChars.Length - 1)]; } while (illegalChar == Path.DirectorySeparatorChar || illegalChar == Path.VolumeSeparatorChar); var invalidFileName = string.Format("{0}{1}{2}{3}{4}", tempFile.DirectoryName, Path.DirectorySeparatorChar, Path.GetFileNameWithoutExtension(tempFile.Name), Convert.ToString(illegalChar), Path.GetExtension(tempFile.Name)); Debug.WriteLine(string.Format("invalidFileName={0}", invalidFileName)); var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var konfigurationer = new Dictionary <string, object> { { "SynkroniseringDataFil", invalidFileName } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); // ReSharper disable ReturnValueOfPureMethodIsNotUsed var exception = Assert.Throws <IntranetGuiRepositoryException>(() => finansstyringKonfigurationRepository.SynkroniseringDataFil.Clone()); // ReSharper restore ReturnValueOfPureMethodIsNotUsed Assert.That(exception, Is.Not.Null); Assert.That(exception.Message, Is.Not.Null); Assert.That(exception.Message, Is.Not.Empty); Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.InvalidConfigurationSettingValue, "SynkroniseringDataFil"))); Assert.That(exception.InnerException, Is.Not.Null); Assert.That(exception.InnerException, Is.TypeOf <ArgumentException>()); }
public void TestAtSynkroniseringDataFilKasterIntranetGuiRepositoryExceptionVedInvalidSettingValue(string invalidValue) { var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); var konfigurationer = new Dictionary <string, object> { { "SynkroniseringDataFil", invalidValue } }; finansstyringKonfigurationRepository.KonfigurationerAdd(konfigurationer); // ReSharper disable ReturnValueOfPureMethodIsNotUsed var exception = Assert.Throws <IntranetGuiRepositoryException>(() => finansstyringKonfigurationRepository.SynkroniseringDataFil.Clone()); // ReSharper restore ReturnValueOfPureMethodIsNotUsed Assert.That(exception, Is.Not.Null); Assert.That(exception.Message, Is.Not.Null); Assert.That(exception.Message, Is.Not.Empty); Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.InvalidConfigurationSettingValue, "SynkroniseringDataFil"))); Assert.That(exception.InnerException, Is.Null); }
/// <summary> /// Starter baggrundstask, der kan loaded nyheder til finansstyring. /// </summary> /// <param name="taskInstance">Instans af baggrundstasken.</param> public async void Run(IBackgroundTaskInstance taskInstance) { lock (SyncRoot) { if (_isLoading) { return; } _isLoading = true; } BackgroundTaskDeferral deferral = taskInstance.GetDeferral(); try { WindowsRuntimeResourceManager.PatchResourceManagers(); ConfigurationProvider configurationProvider = new ConfigurationProvider(); IDictionary <string, object> finansstyringConfiguration = configurationProvider.Settings .Where(m => FinansstyringKonfigurationRepository.Keys.Contains(m.Key)) .ToDictionary(m => m.Key, m => m.Value); IFinansstyringKonfigurationRepository finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); finansstyringKonfigurationRepository.KonfigurationerAdd(finansstyringConfiguration); IEnumerable <INyhedModel> finansstyringsnyheder; try { IFinansstyringRepository finansstyringRepository = new FinansstyringRepository(finansstyringKonfigurationRepository); finansstyringsnyheder = await FinansstyringsnyhederGetAsync(finansstyringRepository); } catch (IntranetGuiOfflineRepositoryException) { ILocaleDataStorage localeDataStorage = new LocaleDataStorage(finansstyringKonfigurationRepository.LokalDataFil, finansstyringKonfigurationRepository.SynkroniseringDataFil, FinansstyringRepositoryLocale.XmlSchema); localeDataStorage.OnHasLocaleData += LocaleDataStorageHelper.HasLocaleDataEventHandler; localeDataStorage.OnCreateReaderStream += LocaleDataStorageHelper.CreateReaderStreamEventHandler; localeDataStorage.OnCreateWriterStream += LocaleDataStorageHelper.CreateWriterStreamEventHandler; IFinansstyringRepository finansstyringRepository = new FinansstyringRepositoryLocale(finansstyringKonfigurationRepository, localeDataStorage); Task <IEnumerable <INyhedModel> > finansstyringsnyhederGetTask = FinansstyringsnyhederGetAsync(finansstyringRepository); finansstyringsnyhederGetTask.Wait(); finansstyringsnyheder = finansstyringsnyhederGetTask.Result; } UpdateTile(finansstyringsnyheder); } catch (AggregateException aggregateException) { aggregateException.Handle(ex => { Logger.LogError(ex); return(true); }); } catch (Exception ex) { Logger.LogError(ex); } finally { lock (SyncRoot) { _isLoading = false; } deferral.Complete(); } }
public void TestAtConstructorInitiererFinansstyringKonfigurationRepository() { var finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); Assert.That(finansstyringKonfigurationRepository, Is.Not.Null); }
/// <summary> /// Sarter baggrundstask, der kan synkronisere finansstyringsdata til og fra det lokale datalager. /// </summary> /// <param name="taskInstance">Instans af baggrundstasken.</param> public async void Run(IBackgroundTaskInstance taskInstance) { lock (SyncRoot) { if (_isSynchronizing) { return; } _isSynchronizing = true; _cancelRequested = false; } taskInstance.Canceled += CanceledEventHandler; BackgroundTaskDeferral deferral = taskInstance.GetDeferral(); try { WindowsRuntimeResourceManager.PatchResourceManagers(); ConfigurationProvider configurationProvider = new ConfigurationProvider(); IDictionary <string, object> finansstyringConfiguration = configurationProvider.Settings .Where(m => FinansstyringKonfigurationRepository.Keys.Contains(m.Key)) .ToDictionary(m => m.Key, m => m.Value); IFinansstyringKonfigurationRepository finansstyringKonfigurationRepository = new FinansstyringKonfigurationRepository(); finansstyringKonfigurationRepository.KonfigurationerAdd(finansstyringConfiguration); IFinansstyringRepository finansstyringRepository = new FinansstyringRepository(finansstyringKonfigurationRepository); ILocaleDataStorage localeDataStorage = new LocaleDataStorage(finansstyringKonfigurationRepository.LokalDataFil, finansstyringKonfigurationRepository.SynkroniseringDataFil, FinansstyringRepositoryLocale.XmlSchema); localeDataStorage.OnHasLocaleData += LocaleDataStorageHelper.HasLocaleDataEventHandler; localeDataStorage.OnCreateReaderStream += LocaleDataStorageHelper.CreateReaderStreamEventHandler; localeDataStorage.OnCreateWriterStream += LocaleDataStorageHelper.CreateWriterStreamEventHandler; localeDataStorage.PrepareLocaleData += PrepareLocaleDataEventHandler; await SyncData(finansstyringRepository, finansstyringKonfigurationRepository, localeDataStorage); } catch (AggregateException aggregateException) { aggregateException.Handle(ex => { if (ex is IntranetGuiOfflineRepositoryException) { return(true); } Logger.LogError(ex); return(true); }); } catch (Exception ex) { Logger.LogError(ex); } finally { lock (SyncRoot) { _isSynchronizing = false; } deferral.Complete(); } }