public void AddApplication() { VolatileDataset store = new VolatileDataset(); Mock <IErrorsReportingContext> context = new Mock <IErrorsReportingContext>(); Mock <GenericRepository <ErrorReportApplication> > mockApplicationRepository = new Mock <GenericRepository <ErrorReportApplication> >(context.Object); mockApplicationRepository.Setup(r => r.Insert(It.IsAny <ErrorReportApplication>())) .Callback <ErrorReportApplication>((app) => { app.Id = 5; app.RowVersion = new byte[] { 0, 0, 0, 0, 0, 0, 0, 1 }; store.Applications.Add(app); }).Verifiable(); this.repository = mockApplicationRepository.Object; ErrorReportApplication application = new ErrorReportApplication { Name = "Application 3", Version = "1.0.0.0", FirstRunDate = new DateTime(2017, 1, 1) }; this.repository.Insert(application); mockApplicationRepository.Verify(r => r.Insert(It.IsAny <ErrorReportApplication>()), Times.Once()); Assert.AreEqual(5, store.Applications.Count); Assert.AreEqual(5, store.Applications.Last().Id); }
public async Task CreateApplicationAsync() { VolatileErrorsReportingDataset store = new VolatileErrorsReportingDataset(); Mock <IErrorsReportingService> mockService = new Mock <IErrorsReportingService>(); mockService.Setup(s => s.CreateApplicationAsync(It.IsAny <string>(), It.IsAny <string>())) .Callback <string, string>((name, version) => { store.Applications.Add(new ErrorReportApplication { Id = store.Applications.Count + 1, Name = name, Version = version, FirstRunDate = DateTime.Now, RowVersion = new byte[] { 0, 0, 0, 0, 0, 0, 0, 1 }, Exceptions = new List <ErrorReportException>() }); }) .Returns <string, string>((name, version) => Task.FromResult <ErrorReportApplication>(store.Applications.Last())); IErrorsReportingService service = mockService.Object; ErrorReportApplication application = await service.CreateApplicationAsync("TestApplication", "1.0.0.0"); Assert.AreEqual(5, store.Applications.Count); Assert.AreEqual(store.Applications.Last().Id, application.Id); Assert.AreEqual(store.Applications.Last().FirstRunDate, application.FirstRunDate); Assert.AreEqual(store.Applications.Last().Name, application.Name); }
public ErrorReportApplication GetApplication(string name, string version) { ErrorReportApplication application = this.applicationsRepository .Get(el => el.Name == name && el.Version == version) .SingleOrDefault(); return(application); }
public void Db_Repository_GetApplicationById() { ErrorReportApplication application = this.repository.GetByID(this.addApplication.Id); Assert.IsNotNull(application); Assert.AreEqual(this.addApplication.Name, application.Name); Assert.AreEqual(this.addApplication.FirstRunDate, application.FirstRunDate); Assert.AreEqual(this.addApplication.RowVersion, application.RowVersion); }
public async Task Db_ErrorsReportingService_GetApplicationAsync() { using (IUnityContainer childContainer = this.container.CreateChildContainer()) { IErrorsReportingService service = childContainer.Resolve <IErrorsReportingService>(); ErrorReportApplication application = await service.GetApplicationAsync("TestApplicationAlreadyExisting", "a.a.a.a"); Assert.Greater(application.Id, 0); Assert.AreEqual(new DateTime(2000, 1, 1), application.FirstRunDate); } }
public async Task Db_ErrorsReportingService_CreateApplicationAsync() { using (IUnityContainer childContainer = this.container.CreateChildContainer()) { IErrorsReportingService service = childContainer.Resolve <IErrorsReportingService>(); ErrorReportApplication result = await service.CreateApplicationAsync("TestApplication", "a.a.a.a"); Assert.IsNotNull(result); Assert.Greater(result.Id, 0); this.dataSet.ApplicationsIds.Add(result.Id); } }
public async Task Db_ErrorsReportingService_GetApplicationAsync() { using (ThreadScopedLifestyle.BeginScope(container)) { ErrorsReportingService service = container.GetInstance <ErrorsReportingService>(); ErrorReportApplication application = await service.GetApplicationAsync("TestApplicationAlreadyExisting", "a.a.a.a"); Assert.IsNotNull(application); Assert.Greater(application.Id, 0); Assert.AreEqual(new DateTime(2000, 1, 1), application.FirstRunDate); } }
public void Db_ErrorsReportingService_GetApplicationAsync_NotExisting() { using (IUnityContainer childContainer = this.container.CreateChildContainer()) { IErrorsReportingService service = childContainer.Resolve <IErrorsReportingService>(); ErrorReportApplication application = null; Assert.That(async() => { application = await service.GetApplicationAsync("TestApplicationAlreadyExisting", "z.z.z.z"); }, Throws.Nothing); Assert.IsNull(application); } }
public async Task Db_ErrorsReportingService_CreateApplicationAsync() { using (ThreadScopedLifestyle.BeginScope(container)) { ErrorsReportingService service = container.GetInstance <ErrorsReportingService>(); ErrorReportApplication result = await service.CreateApplicationAsync("TestApplicationAsync", "a.a.a.a"); Assert.IsNotNull(result); Assert.Greater(result.Id, 0); this.dataSet.ApplicationsIds.Add(result.Id); } }
public void GetApplicationById_DoesntExist() { VolatileDataset store = new VolatileDataset(); Mock <IErrorsReportingContext> context = new Mock <IErrorsReportingContext>(); Mock <GenericRepository <ErrorReportApplication> > mockApplicationRepository = new Mock <GenericRepository <ErrorReportApplication> >(context.Object); mockApplicationRepository.Setup(r => r.GetByID(It.IsNotIn <int>(1, 2, 3, 4))) .Returns <ErrorReportApplication>(null); this.repository = mockApplicationRepository.Object; ErrorReportApplication application = this.repository.GetByID(10); Assert.AreEqual(null, application); }
public async Task LogErrorAsync(Exception exception, AssemblyName assemblyName, string errorCode) { string applicationName = assemblyName.Name; string applicationVersion = assemblyName.Version.ToString(); ErrorReportApplication application = await this.reportingService.GetApplicationAsync(applicationName, applicationVersion); if (application == null) { application = await this.reportingService.CreateApplicationAsync(applicationName, applicationVersion); } await this.reportingService.LogExceptionAsync(application.Id, exception, errorCode); }
public ErrorReportApplication CreateApplication(string name, string version) { ErrorReportApplication application = new ErrorReportApplication { Name = name, Version = version, FirstRunDate = DateTime.Now }; this.applicationsRepository.Insert(application); int result = this.Save(); return(result == 1 ? application : null); }
public void Db_Repository_AddApplication() { this.addApplication = new ErrorReportApplication { Name = "TestApplication", Version = "1.0.0.0", FirstRunDate = DateTime.Now }; repository.Insert(this.addApplication); int result = this.context.SaveChanges(); Assert.AreEqual(1, result); }
public async Task <ErrorReportApplication> CreateApplicationAsync(string name, string version) { ErrorReportApplication application = new ErrorReportApplication { Name = name, Version = version, FirstRunDate = DateTime.Now }; this.applicationsRepository.Insert(application); SaveResult result = await base.SaveAsync(base.policy); return(result.AlteredObjectsCount == 1 ? application : null); }
public void Db_ErrorsReportingService_GetApplicationAsync_NotExisting() { using (ThreadScopedLifestyle.BeginScope(container)) { ErrorsReportingService service = container.GetInstance <ErrorsReportingService>(); ErrorReportApplication application = null; Assert.That(async() => { application = await service.GetApplicationAsync("TestApplicationAlreadyExisting", "z.z.z.z"); }, Throws.Nothing); Assert.IsNull(application); } }
public void GetApplication() { VolatileDataset store = new VolatileDataset(); Mock <IErrorsReportingService> mockService = new Mock <IErrorsReportingService>(); mockService.Setup(s => s.GetApplication(It.IsAny <string>(), It.IsAny <string>())) .Returns <string, string>((name, version) => store.Applications.Single(a => a.Name == name && a.Version == version)); IErrorsReportingService service = mockService.Object; ErrorReportApplication application = service.GetApplication("TestApplicationAlreadyExisting", "1.0.0.0"); Assert.AreEqual(1, application.Id); Assert.AreEqual(new DateTime(2000, 1, 1), application.FirstRunDate); }
public void GetApplicationById() { VolatileDataset store = new VolatileDataset(); Mock <IErrorsReportingContext> context = new Mock <IErrorsReportingContext>(); Mock <GenericRepository <ErrorReportApplication> > mockApplicationRepository = new Mock <GenericRepository <ErrorReportApplication> >(context.Object); mockApplicationRepository.Setup(r => r.GetByID(It.IsInRange <int>(1, 4, Range.Inclusive))) .Returns <int>(id => store.Applications.Find(el => el.Id == id)); this.repository = mockApplicationRepository.Object; ErrorReportApplication application = this.repository.GetByID(1); ErrorReportApplication storedApplication = store.Applications.Single(el => el.Id == 1); Assert.AreEqual(application.Name, storedApplication.Name); Assert.AreEqual(application.Version, storedApplication.Version); Assert.AreEqual(application.FirstRunDate, storedApplication.FirstRunDate); }
public void Db_Repository_DeleteById() { ErrorReportApplication application = new ErrorReportApplication { Name = "TestApplicationForDeletion", Version = "1.0.0.0", FirstRunDate = DateTime.Now }; this.repository.Insert(application); this.context.SaveChanges(); this.repository.Delete(application.Id); this.context.SaveChanges(); ErrorReportApplication deletedApplication = this.repository.GetByID(application.Id); Assert.IsNull(deletedApplication); }
public void DeleteApplication() { VolatileDataset store = new VolatileDataset(); Mock <IErrorsReportingContext> context = new Mock <IErrorsReportingContext>(); Mock <GenericRepository <ErrorReportApplication> > mockApplicationRepository = new Mock <GenericRepository <ErrorReportApplication> >(context.Object); mockApplicationRepository.Setup(r => r.Delete(It.IsAny <ErrorReportApplication>())) .Callback((ErrorReportApplication app) => { store.Applications.Remove(app); }).Verifiable(); this.repository = mockApplicationRepository.Object; ErrorReportApplication application = store.Applications.ElementAt(3); this.repository.Delete(application); mockApplicationRepository.Verify(r => r.Delete(It.IsAny <ErrorReportApplication>()), Times.Once()); Assert.AreEqual(3, store.Applications.Count); }
public void GetApplication_NotExisting() { VolatileDataset store = new VolatileDataset(); Mock <IErrorsReportingService> mockService = new Mock <IErrorsReportingService>(); mockService.Setup(s => s.GetApplication(It.IsNotIn <string>(store.Applications.Select(a => a.Name)), It.IsAny <string>())) .Returns <string, string>(null); IErrorsReportingService service = mockService.Object; ErrorReportApplication application = null; Assert.That(() => { application = service.GetApplication("TestApplicationNotExisting", "1.0.0.0"); }, Throws.Nothing); Assert.IsNull(application); }
public void GetApplicationAsync_NotExisting() { VolatileErrorsReportingDataset store = new VolatileErrorsReportingDataset(); Mock <IErrorsReportingService> mockService = new Mock <IErrorsReportingService>(); mockService.Setup(s => s.GetApplicationAsync(It.IsNotIn <string>(store.Applications.Select(a => a.Name)), It.IsAny <string>())) .Returns <string, string>((name, version) => Task.FromResult <ErrorReportApplication>(null)); IErrorsReportingService service = mockService.Object; ErrorReportApplication application = null; Assert.That(async() => { application = await service.GetApplicationAsync("TestApplicationNotExisting", "1.0.0.0"); }, Throws.Nothing); Assert.IsNull(application); }
public void UpdateApplication() { VolatileDataset store = new VolatileDataset(); Mock <IErrorsReportingContext> context = new Mock <IErrorsReportingContext>(); Mock <GenericRepository <ErrorReportApplication> > mockApplicationRepository = new Mock <GenericRepository <ErrorReportApplication> >(context.Object); mockApplicationRepository.Setup(r => r.Update(It.IsAny <ErrorReportApplication>())) .Callback <ErrorReportApplication>((app) => { var index = store.Applications.FindIndex(el => el.Id == app.Id); store.Applications[index] = app; }).Verifiable(); this.repository = mockApplicationRepository.Object; ErrorReportApplication application = store.Applications.ElementAt(2); string newName = application.Name = "Application 4"; string newVersion = application.Version = "1.0.0.0"; this.repository.Update(application); mockApplicationRepository.Verify(r => r.Update(It.IsAny <ErrorReportApplication>()), Times.Once()); Assert.AreEqual(newName, store.Applications.ElementAt(2).Name); Assert.AreEqual(newVersion, store.Applications.ElementAt(2).Version); }
public void Db_Repository_GetApplicationById_DoesntExist() { ErrorReportApplication application = this.repository.GetByID(0); Assert.AreEqual(null, application); }