Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 3
0
        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");
        }