public async Task FullTextMetaData_WithoutItemTypesThrowsTimeoutException_SqlTimeoutExceptionThrown() { // Arrange var searchCriteria = new FullTextSearchCriteria { Query = "test", ProjectIds = new[] { 1 } }; var sqlException = SqlExceptionCreator.NewSqlException(-2); var itemSearchRepository = CreateFullTextSearchRepositoryWithException <MetaDataSearchResult>(sqlException); SqlTimeoutException sqlTimeoutException = null; // Act try { await itemSearchRepository.FullTextMetaData(UserId, searchCriteria); } catch (SqlTimeoutException exception) { sqlTimeoutException = exception; } // Assert Assert.IsNotNull(sqlTimeoutException, "sqlTimeoutException != null"); Assert.IsTrue(sqlTimeoutException.ErrorCode == ErrorCodes.Timeout, "Timeout exception should occur"); }
public async Task SearchName_WithSqlTimeoutException_SqlTimeoutExceptionOccurs() { // Arrange const int userId = 1; var searchCriteria = new SearchCriteria { Query = "test" }; const int resultCount = 1; const string separatorString = "/"; Exception sqlException = SqlExceptionCreator.NewSqlException(ErrorCodes.SqlTimeoutNumber); var projectSearchRepository = CreateRepositoryWithExceptionExpectation <ProjectSearchResult>(sqlException); SqlTimeoutException sqlTimeoutException = null; // Act try { await projectSearchRepository.SearchName(userId, searchCriteria, resultCount, separatorString); } catch (SqlTimeoutException exception) { sqlTimeoutException = exception; } // Assert Assert.IsNotNull(sqlTimeoutException, "sqlTimeoutException != null"); Assert.IsTrue(sqlTimeoutException.ErrorCode == ErrorCodes.Timeout, "Timeout exception should occur"); }
public async Task SearchName_WithPredefinedTypeIdsWithSqlTimeoutException_SqlTimeoutExceptionOccurs() { // Arrange var searchCriteria = new ItemNameSearchCriteria { Query = "test", ProjectIds = new[] { 1 }, PredefinedTypeIds = new[] { 4104 } }; var permissionsDictionary = new Dictionary <int, RolePermissions> { { 0, RolePermissions.Read } }; var mockArtifactPermissionsRepository = new Mock <IArtifactPermissionsRepository>(); mockArtifactPermissionsRepository.Setup(r => r.GetArtifactPermissions(new List <int> { 0 }, UserId, false, int.MaxValue, true, null)).ReturnsAsync(permissionsDictionary); Exception sqlException = SqlExceptionCreator.NewSqlException(ErrorCodes.SqlTimeoutNumber); var itemSearchRepository = CreateItemNameRepositoryWithExceptionExpectation <ItemNameSearchResult>(mockArtifactPermissionsRepository.Object, null, sqlException); SqlTimeoutException sqlTimeoutException = null; // Act try { await itemSearchRepository.SearchName(UserId, searchCriteria, StartOffset, PageSize); } catch (SqlTimeoutException exception) { sqlTimeoutException = exception; } // Assert Assert.IsNotNull(sqlTimeoutException, "sqlTimeoutException != null"); Assert.IsTrue(sqlTimeoutException.ErrorCode == ErrorCodes.Timeout, "Timeout exception should occur"); }