< Summary

Class:Microsoft.Azure.Search.IndexesOperationsExtensions
Assembly:Microsoft.Azure.Search.Service
File(s):C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Service\src\Customizations\Indexes\IndexesOperationsExtensions.Customization.cs
C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Service\src\Generated\IndexesOperationsExtensions.cs
Covered lines:34
Uncovered lines:8
Coverable lines:42
Total lines:558
Line coverage:80.9% (34 of 42)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
CreateOrUpdate(...)-100%100%
CreateOrUpdateAsync()-100%100%
Exists(...)-100%100%
ExistsAsync()-100%100%
ListNames(...)-100%100%
ListNamesAsync()-0%100%
GetIndexNames(...)-100%100%
Create(...)-100%100%
CreateAsync()-100%100%
List(...)-100%100%
ListAsync()-100%100%
CreateOrUpdate(...)-0%100%
CreateOrUpdateAsync()-0%100%
Delete(...)-100%100%
DeleteAsync()-100%100%
Get(...)-100%100%
GetAsync()-100%100%
GetStatistics(...)-100%100%
GetStatisticsAsync()-100%100%
Analyze(...)-100%100%
AnalyzeAsync()-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Service\src\Customizations\Indexes\IndexesOperationsExtensions.Customization.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License. See License.txt in the project root for
 3// license information.
 4
 5namespace Microsoft.Azure.Search
 6{
 7    using System.Collections.Generic;
 8    using System.Linq;
 9    using System.Threading;
 10    using System.Threading.Tasks;
 11    using Microsoft.Azure.Search.Models;
 12    using Microsoft.Rest.Azure;
 13
 14    /// <summary>
 15    /// Operations for managing indexes.
 16    /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/index-operations">Index o
 17    /// </summary>
 18    public static partial class IndexesOperationsExtensions
 19    {
 20        /// <summary>
 21        /// Creates a new search index or updates an index if it already exists.
 22        /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/update-index">Update 
 23        /// </summary>
 24        /// <param name='operations'>
 25        /// The operations group for this extension method.
 26        /// </param>
 27        /// <param name='index'>
 28        /// The definition of the index to create or update.
 29        /// </param>
 30        /// <param name='allowIndexDowntime'>
 31        /// Allows new analyzers, tokenizers, token filters, or char filters
 32        /// to be added to an index by taking the index offline for at least
 33        /// a few seconds. This temporarily causes indexing and query
 34        /// requests to fail. Performance and write availability of the index
 35        /// can be impaired for several minutes after the index is updated,
 36        /// or longer for very large indexes.
 37        /// </param>
 38        /// <param name='searchRequestOptions'>
 39        /// Additional parameters for the operation.
 40        /// </param>
 41        /// <param name='accessCondition'>
 42        /// Additional parameters for the operation.
 43        /// </param>
 44        /// <returns>
 45        /// The index that was created or updated.
 46        /// </returns>
 47        public static Index CreateOrUpdate(this IIndexesOperations operations, Index index, bool? allowIndexDowntime = d
 48        {
 4249            return operations.CreateOrUpdateAsync(index, allowIndexDowntime, searchRequestOptions, accessCondition).GetA
 50        }
 51
 52        /// <summary>
 53        /// Creates a new search index or updates an index if it already exists.
 54        /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/update-index">Update 
 55        /// </summary>
 56        /// <param name='operations'>
 57        /// The operations group for this extension method.
 58        /// </param>
 59        /// <param name='index'>
 60        /// The definition of the index to create or update.
 61        /// </param>
 62        /// <param name='allowIndexDowntime'>
 63        /// Allows new analyzers, tokenizers, token filters, or char filters
 64        /// to be added to an index by taking the index offline for at least
 65        /// a few seconds. This temporarily causes indexing and query
 66        /// requests to fail. Performance and write availability of the index
 67        /// can be impaired for several minutes after the index is updated,
 68        /// or longer for very large indexes.
 69        /// </param>
 70        /// <param name='searchRequestOptions'>
 71        /// Additional parameters for the operation.
 72        /// </param>
 73        /// <param name='accessCondition'>
 74        /// Additional parameters for the operation.
 75        /// </param>
 76        /// <param name='cancellationToken'>
 77        /// The cancellation token.
 78        /// </param>
 79        /// <returns>
 80        /// The index that was created or updated.
 81        /// </returns>
 82        public static async Task<Index> CreateOrUpdateAsync(this IIndexesOperations operations, Index index, bool? allow
 83        {
 4284            using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(index, allowIndexDowntime, searchR
 85            {
 3486                return _result.Body;
 87            }
 3488        }
 89
 90        /// <summary>
 91        /// Determines whether or not the given index exists in the search service.
 92        /// </summary>
 93        /// <param name='operations'>
 94        /// The operations group for this extension method.
 95        /// </param>
 96        /// <param name="indexName">
 97        /// The name of the index.
 98        /// </param>
 99        /// <param name='searchRequestOptions'>
 100        /// Additional parameters for the operation.
 101        /// </param>
 102        /// <returns>
 103        /// <c>true</c> if the index exists; <c>false</c> otherwise.
 104        /// </returns>
 105        public static bool Exists(
 106            this IIndexesOperations operations,
 107            string indexName,
 108            SearchRequestOptions searchRequestOptions = default(SearchRequestOptions))
 109        {
 6110            return operations.ExistsAsync(indexName, searchRequestOptions).GetAwaiter().GetResult();
 111        }
 112
 113        /// <summary>
 114        /// Determines whether or not the given index exists in the search service.
 115        /// </summary>
 116        /// <param name='operations'>
 117        /// The operations group for this extension method.
 118        /// </param>
 119        /// <param name="indexName">
 120        /// The name of the index.
 121        /// </param>
 122        /// <param name='searchRequestOptions'>
 123        /// Additional parameters for the operation.
 124        /// </param>
 125        /// <param name='cancellationToken'>
 126        /// The cancellation token.
 127        /// </param>
 128        /// <returns>
 129        /// <c>true</c> if the index exists; <c>false</c> otherwise.
 130        /// </returns>
 131        public static async Task<bool> ExistsAsync(
 132            this IIndexesOperations operations,
 133            string indexName,
 134            SearchRequestOptions searchRequestOptions = default(SearchRequestOptions),
 135            CancellationToken cancellationToken = default(CancellationToken))
 136        {
 6137            AzureOperationResponse<bool> result = await operations.ExistsWithHttpMessagesAsync(indexName, searchRequestO
 6138            return result.Body;
 6139        }
 140
 141        /// <summary>
 142        /// Lists the names of all indexes available for a search
 143        /// service. Use this instead of List() when you only need index
 144        /// names. It will save bandwidth and resource utilization, especially
 145        /// if your Search Service has many indexes.
 146        /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/list-indexes">List In
 147        /// </summary>
 148        /// <param name='operations'>
 149        /// The operations group for this extension method.
 150        /// </param>
 151        /// <param name='searchRequestOptions'>
 152        /// Additional parameters for the operation.
 153        /// </param>
 154        /// <returns>
 155        /// The list of all index names for the search service.
 156        /// </returns>
 157        public static IList<string> ListNames(
 158            this IIndexesOperations operations,
 159            SearchRequestOptions searchRequestOptions = default(SearchRequestOptions))
 160        {
 2161            return GetIndexNames(operations.List(select: "name", searchRequestOptions: searchRequestOptions));
 162        }
 163
 164        /// <summary>
 165        /// Lists the names of all indexes available for a search
 166        /// service. Use this instead of List() when you only need index
 167        /// names. It will save bandwidth and resource utilization, especially
 168        /// if your Search Service has many indexes.
 169        /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/list-indexes">List In
 170        /// </summary>
 171        /// <param name='operations'>
 172        /// The operations group for this extension method.
 173        /// </param>
 174        /// <param name='searchRequestOptions'>
 175        /// Additional parameters for the operation.
 176        /// </param>
 177        /// <param name='cancellationToken'>
 178        /// The cancellation token.
 179        /// </param>
 180        /// <returns>
 181        /// The list of all index names for the search service.
 182        /// </returns>
 183        public static async Task<IList<string>> ListNamesAsync(
 184            this IIndexesOperations operations,
 185            SearchRequestOptions searchRequestOptions = default(SearchRequestOptions),
 186            CancellationToken cancellationToken = default(CancellationToken))
 187        {
 0188            IndexListResult indexList =
 0189                await operations.ListAsync(select: "name", searchRequestOptions: searchRequestOptions, cancellationToken
 0190            return GetIndexNames(indexList);
 0191        }
 192
 193        private static IList<string> GetIndexNames(IndexListResult indexListResult)
 194        {
 6195            return indexListResult.Indexes.Select(index => index.Name).ToList();
 196        }
 197    }
 198}

C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Service\src\Generated\IndexesOperationsExtensions.cs

#LineLine coverage
 1// <auto-generated>
 2// Copyright (c) Microsoft Corporation. All rights reserved.
 3// Licensed under the MIT License. See License.txt in the project root for
 4// license information.
 5//
 6// Code generated by Microsoft (R) AutoRest Code Generator.
 7// Changes may cause incorrect behavior and will be lost if the code is
 8// regenerated.
 9// </auto-generated>
 10
 11namespace Microsoft.Azure.Search
 12{
 13    using Microsoft.Rest;
 14    using Microsoft.Rest.Azure;
 15    using Models;
 16    using System.Threading;
 17    using System.Threading.Tasks;
 18
 19    /// <summary>
 20    /// Extension methods for IndexesOperations.
 21    /// </summary>
 22    public static partial class IndexesOperationsExtensions
 23    {
 24            /// <summary>
 25            /// Creates a new search index.
 26            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/create-index">Cre
 27            /// </summary>
 28            /// <param name='operations'>
 29            /// The operations group for this extension method.
 30            /// </param>
 31            /// <param name='index'>
 32            /// The definition of the index to create.
 33            /// </param>
 34            /// <param name='searchRequestOptions'>
 35            /// Additional parameters for the operation
 36            /// </param>
 37            public static Index Create(this IIndexesOperations operations, Index index, SearchRequestOptions searchReque
 38            {
 54839                return operations.CreateAsync(index, searchRequestOptions).GetAwaiter().GetResult();
 40            }
 41
 42            /// <summary>
 43            /// Creates a new search index.
 44            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/create-index">Cre
 45            /// </summary>
 46            /// <param name='operations'>
 47            /// The operations group for this extension method.
 48            /// </param>
 49            /// <param name='index'>
 50            /// The definition of the index to create.
 51            /// </param>
 52            /// <param name='searchRequestOptions'>
 53            /// Additional parameters for the operation
 54            /// </param>
 55            /// <param name='cancellationToken'>
 56            /// The cancellation token.
 57            /// </param>
 58            public static async Task<Index> CreateAsync(this IIndexesOperations operations, Index index, SearchRequestOp
 59            {
 54860                using (var _result = await operations.CreateWithHttpMessagesAsync(index, searchRequestOptions, null, can
 61                {
 54662                    return _result.Body;
 63                }
 54664            }
 65
 66            /// <summary>
 67            /// Lists all indexes available for a search service.
 68            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/list-indexes">Lis
 69            /// </summary>
 70            /// <param name='operations'>
 71            /// The operations group for this extension method.
 72            /// </param>
 73            /// <param name='select'>
 74            /// Selects which properties of the index definitions to retrieve. Specified as
 75            /// a comma-separated list of JSON property names, or '*' for all properties.
 76            /// The default is all properties.
 77            /// </param>
 78            /// <param name='searchRequestOptions'>
 79            /// Additional parameters for the operation
 80            /// </param>
 81            public static IndexListResult List(this IIndexesOperations operations, string select = default(string), Sear
 82            {
 483                return operations.ListAsync(select, searchRequestOptions).GetAwaiter().GetResult();
 84            }
 85
 86            /// <summary>
 87            /// Lists all indexes available for a search service.
 88            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/list-indexes">Lis
 89            /// </summary>
 90            /// <param name='operations'>
 91            /// The operations group for this extension method.
 92            /// </param>
 93            /// <param name='select'>
 94            /// Selects which properties of the index definitions to retrieve. Specified as
 95            /// a comma-separated list of JSON property names, or '*' for all properties.
 96            /// The default is all properties.
 97            /// </param>
 98            /// <param name='searchRequestOptions'>
 99            /// Additional parameters for the operation
 100            /// </param>
 101            /// <param name='cancellationToken'>
 102            /// The cancellation token.
 103            /// </param>
 104            public static async Task<IndexListResult> ListAsync(this IIndexesOperations operations, string select = defa
 105            {
 4106                using (var _result = await operations.ListWithHttpMessagesAsync(select, searchRequestOptions, null, canc
 107                {
 4108                    return _result.Body;
 109                }
 4110            }
 111
 112            /// <summary>
 113            /// Creates a new search index or updates an index if it already exists.
 114            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/update-index">Upd
 115            /// </summary>
 116            /// <param name='operations'>
 117            /// The operations group for this extension method.
 118            /// </param>
 119            /// <param name='indexName'>
 120            /// The definition of the index to create or update.
 121            /// </param>
 122            /// <param name='index'>
 123            /// The definition of the index to create or update.
 124            /// </param>
 125            /// <param name='allowIndexDowntime'>
 126            /// Allows new analyzers, tokenizers, token filters, or char filters to be
 127            /// added to an index by taking the index offline for at least a few seconds.
 128            /// This temporarily causes indexing and query requests to fail. Performance
 129            /// and write availability of the index can be impaired for several minutes
 130            /// after the index is updated, or longer for very large indexes.
 131            /// </param>
 132            /// <param name='searchRequestOptions'>
 133            /// Additional parameters for the operation
 134            /// </param>
 135            /// <param name='accessCondition'>
 136            /// Additional parameters for the operation
 137            /// </param>
 138            public static Index CreateOrUpdate(this IIndexesOperations operations, string indexName, Index index, bool? 
 139            {
 0140                return operations.CreateOrUpdateAsync(indexName, index, allowIndexDowntime, searchRequestOptions, access
 141            }
 142
 143            /// <summary>
 144            /// Creates a new search index or updates an index if it already exists.
 145            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/update-index">Upd
 146            /// </summary>
 147            /// <param name='operations'>
 148            /// The operations group for this extension method.
 149            /// </param>
 150            /// <param name='indexName'>
 151            /// The definition of the index to create or update.
 152            /// </param>
 153            /// <param name='index'>
 154            /// The definition of the index to create or update.
 155            /// </param>
 156            /// <param name='allowIndexDowntime'>
 157            /// Allows new analyzers, tokenizers, token filters, or char filters to be
 158            /// added to an index by taking the index offline for at least a few seconds.
 159            /// This temporarily causes indexing and query requests to fail. Performance
 160            /// and write availability of the index can be impaired for several minutes
 161            /// after the index is updated, or longer for very large indexes.
 162            /// </param>
 163            /// <param name='searchRequestOptions'>
 164            /// Additional parameters for the operation
 165            /// </param>
 166            /// <param name='accessCondition'>
 167            /// Additional parameters for the operation
 168            /// </param>
 169            /// <param name='cancellationToken'>
 170            /// The cancellation token.
 171            /// </param>
 172            public static async Task<Index> CreateOrUpdateAsync(this IIndexesOperations operations, string indexName, In
 173            {
 0174                using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(indexName, index, allowIndexDo
 175                {
 0176                    return _result.Body;
 177                }
 0178            }
 179
 180            /// <summary>
 181            /// Deletes a search index and all the documents it contains.
 182            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/delete-index">Del
 183            /// </summary>
 184            /// <param name='operations'>
 185            /// The operations group for this extension method.
 186            /// </param>
 187            /// <param name='indexName'>
 188            /// The name of the index to delete.
 189            /// </param>
 190            /// <param name='searchRequestOptions'>
 191            /// Additional parameters for the operation
 192            /// </param>
 193            /// <param name='accessCondition'>
 194            /// Additional parameters for the operation
 195            /// </param>
 196            public static void Delete(this IIndexesOperations operations, string indexName, SearchRequestOptions searchR
 197            {
 36198                operations.DeleteAsync(indexName, searchRequestOptions, accessCondition).GetAwaiter().GetResult();
 32199            }
 200
 201            /// <summary>
 202            /// Deletes a search index and all the documents it contains.
 203            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/delete-index">Del
 204            /// </summary>
 205            /// <param name='operations'>
 206            /// The operations group for this extension method.
 207            /// </param>
 208            /// <param name='indexName'>
 209            /// The name of the index to delete.
 210            /// </param>
 211            /// <param name='searchRequestOptions'>
 212            /// Additional parameters for the operation
 213            /// </param>
 214            /// <param name='accessCondition'>
 215            /// Additional parameters for the operation
 216            /// </param>
 217            /// <param name='cancellationToken'>
 218            /// The cancellation token.
 219            /// </param>
 220            public static async Task DeleteAsync(this IIndexesOperations operations, string indexName, SearchRequestOpti
 221            {
 36222                (await operations.DeleteWithHttpMessagesAsync(indexName, searchRequestOptions, accessCondition, null, ca
 32223            }
 224
 225            /// <summary>
 226            /// Retrieves an index definition.
 227            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/get-index">Get In
 228            /// </summary>
 229            /// <param name='operations'>
 230            /// The operations group for this extension method.
 231            /// </param>
 232            /// <param name='indexName'>
 233            /// The name of the index to retrieve.
 234            /// </param>
 235            /// <param name='searchRequestOptions'>
 236            /// Additional parameters for the operation
 237            /// </param>
 238            public static Index Get(this IIndexesOperations operations, string indexName, SearchRequestOptions searchReq
 239            {
 16240                return operations.GetAsync(indexName, searchRequestOptions).GetAwaiter().GetResult();
 241            }
 242
 243            /// <summary>
 244            /// Retrieves an index definition.
 245            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/get-index">Get In
 246            /// </summary>
 247            /// <param name='operations'>
 248            /// The operations group for this extension method.
 249            /// </param>
 250            /// <param name='indexName'>
 251            /// The name of the index to retrieve.
 252            /// </param>
 253            /// <param name='searchRequestOptions'>
 254            /// Additional parameters for the operation
 255            /// </param>
 256            /// <param name='cancellationToken'>
 257            /// The cancellation token.
 258            /// </param>
 259            public static async Task<Index> GetAsync(this IIndexesOperations operations, string indexName, SearchRequest
 260            {
 16261                using (var _result = await operations.GetWithHttpMessagesAsync(indexName, searchRequestOptions, null, ca
 262                {
 14263                    return _result.Body;
 264                }
 14265            }
 266
 267            /// <summary>
 268            /// Returns statistics for the given index, including a document count and
 269            /// storage usage.
 270            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/get-index-statist
 271            /// </summary>
 272            /// <param name='operations'>
 273            /// The operations group for this extension method.
 274            /// </param>
 275            /// <param name='indexName'>
 276            /// The name of the index for which to retrieve statistics.
 277            /// </param>
 278            /// <param name='searchRequestOptions'>
 279            /// Additional parameters for the operation
 280            /// </param>
 281            public static IndexGetStatisticsResult GetStatistics(this IIndexesOperations operations, string indexName, S
 282            {
 2283                return operations.GetStatisticsAsync(indexName, searchRequestOptions).GetAwaiter().GetResult();
 284            }
 285
 286            /// <summary>
 287            /// Returns statistics for the given index, including a document count and
 288            /// storage usage.
 289            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/get-index-statist
 290            /// </summary>
 291            /// <param name='operations'>
 292            /// The operations group for this extension method.
 293            /// </param>
 294            /// <param name='indexName'>
 295            /// The name of the index for which to retrieve statistics.
 296            /// </param>
 297            /// <param name='searchRequestOptions'>
 298            /// Additional parameters for the operation
 299            /// </param>
 300            /// <param name='cancellationToken'>
 301            /// The cancellation token.
 302            /// </param>
 303            public static async Task<IndexGetStatisticsResult> GetStatisticsAsync(this IIndexesOperations operations, st
 304            {
 2305                using (var _result = await operations.GetStatisticsWithHttpMessagesAsync(indexName, searchRequestOptions
 306                {
 2307                    return _result.Body;
 308                }
 2309            }
 310
 311            /// <summary>
 312            /// Shows how an analyzer breaks text into tokens.
 313            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/test-analyzer">An
 314            /// </summary>
 315            /// <param name='operations'>
 316            /// The operations group for this extension method.
 317            /// </param>
 318            /// <param name='indexName'>
 319            /// The name of the index for which to test an analyzer.
 320            /// </param>
 321            /// <param name='request'>
 322            /// The text and analyzer or analysis components to test.
 323            /// </param>
 324            /// <param name='searchRequestOptions'>
 325            /// Additional parameters for the operation
 326            /// </param>
 327            public static AnalyzeResult Analyze(this IIndexesOperations operations, string indexName, AnalyzeRequest req
 328            {
 218329                return operations.AnalyzeAsync(indexName, request, searchRequestOptions).GetAwaiter().GetResult();
 330            }
 331
 332            /// <summary>
 333            /// Shows how an analyzer breaks text into tokens.
 334            /// For more information, see <see href="https://docs.microsoft.com/rest/api/searchservice/test-analyzer">An
 335            /// </summary>
 336            /// <param name='operations'>
 337            /// The operations group for this extension method.
 338            /// </param>
 339            /// <param name='indexName'>
 340            /// The name of the index for which to test an analyzer.
 341            /// </param>
 342            /// <param name='request'>
 343            /// The text and analyzer or analysis components to test.
 344            /// </param>
 345            /// <param name='searchRequestOptions'>
 346            /// Additional parameters for the operation
 347            /// </param>
 348            /// <param name='cancellationToken'>
 349            /// The cancellation token.
 350            /// </param>
 351            public static async Task<AnalyzeResult> AnalyzeAsync(this IIndexesOperations operations, string indexName, A
 352            {
 218353                using (var _result = await operations.AnalyzeWithHttpMessagesAsync(indexName, request, searchRequestOpti
 354                {
 218355                    return _result.Body;
 356                }
 218357            }
 358
 359    }
 360}