public void WhenGettingCheckListFromMultipleThreadsItIsInitializedOnce() { // Arrange var mockPackageService = new Mock <IPackageService>(); mockPackageService .Setup(x => x.GetAllPackageRegistrations()) .Returns(PacakgeRegistrationsList); var newService = new TyposquattingCheckListCacheService(); // Act int tasksNum = 3; Task[] tasks = new Task[tasksNum]; for (int i = 0; i < tasksNum; i++) { tasks[i] = Task.Factory.StartNew(() => { newService.GetTyposquattingCheckList(_packageIds.Count, TimeSpan.FromHours(24), mockPackageService.Object); newService.GetTyposquattingCheckList(_packageIds.Count, TimeSpan.FromHours(24), mockPackageService.Object); }); } Task.WaitAll(tasks); // Assert mockPackageService.Verify( x => x.GetAllPackageRegistrations(), Times.Once); }
public void WhenNotEqualConfiguredLengthRefreshCheckListCache() { // Arrange var mockPackageService = new Mock <IPackageService>(); mockPackageService .Setup(x => x.GetAllPackageRegistrations()) .Returns(PacakgeRegistrationsList); var newService = new TyposquattingCheckListCacheService(); // Act newService.GetTyposquattingCheckList(_packageIds.Count, TimeSpan.FromHours(24), mockPackageService.Object); newService.GetTyposquattingCheckList(_packageIds.Count - 1, TimeSpan.FromHours(24), mockPackageService.Object); // Assert mockPackageService.Verify( x => x.GetAllPackageRegistrations(), Times.Exactly(2)); }
public void WhenExceedExpireTimeRefreshCheckListCache() { // Arrange var mockPackageService = new Mock <IPackageService>(); mockPackageService .Setup(x => x.GetAllPackageRegistrations()) .Returns(PacakgeRegistrationsList); var newService = new TyposquattingCheckListCacheService(); // Act newService.GetTyposquattingCheckList(_packageIds.Count, TimeSpan.FromHours(0), mockPackageService.Object); Thread.Sleep(1); newService.GetTyposquattingCheckList(_packageIds.Count, TimeSpan.FromHours(0), mockPackageService.Object); // Assert mockPackageService.Verify( x => x.GetAllPackageRegistrations(), Times.Exactly(2)); }
public void CheckNullPackageService() { // Arrange var newService = new TyposquattingCheckListCacheService(); // Act var exception = Assert.Throws <ArgumentNullException>( () => newService.GetTyposquattingCheckList(_packageIds.Count, TimeSpan.FromHours(24), null)); // Assert Assert.Equal("packageService", exception.ParamName); }
public void CheckExpireTimeNotAllowed() { // Arrange var checkListExpireTime = TimeSpan.FromHours(-1); var mockPackageService = new Mock <IPackageService>(); mockPackageService .Setup(x => x.GetAllPackageRegistrations()) .Returns(PacakgeRegistrationsList); var newService = new TyposquattingCheckListCacheService(); // Act var exception = Assert.Throws <ArgumentOutOfRangeException>( () => newService.GetTyposquattingCheckList(_packageIds.Count, checkListExpireTime, mockPackageService.Object)); // Assert Assert.Equal(nameof(checkListExpireTime), exception.ParamName); }
public void CheckConfiguredLengthNotAllowed() { // Arrange var mockPackageService = new Mock <IPackageService>(); mockPackageService .Setup(x => x.GetAllPackageRegistrations()) .Returns(PacakgeRegistrationsList); var checkListConfiguredLength = -1; var newService = new TyposquattingCheckListCacheService(); // Act var exception = Assert.Throws <ArgumentOutOfRangeException>( () => newService.GetTyposquattingCheckList(checkListConfiguredLength, TimeSpan.FromHours(24), mockPackageService.Object)); // Assert Assert.Equal(nameof(checkListConfiguredLength), exception.ParamName); }