< Summary

Class:Azure.AzureKeyCredential
Assembly:Azure.Core
File(s):C:\Git\azure-sdk-for-net\sdk\core\Azure.Core\src\AzureKeyCredential.cs
Covered lines:6
Uncovered lines:0
Coverable lines:6
Total lines:60
Line coverage:100% (6 of 6)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
get_Key()-100%100%
set_Key(...)-100%100%
.ctor(...)-100%100%
Update(...)-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\core\Azure.Core\src\AzureKeyCredential.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License.
 3
 4using System.ComponentModel;
 5using System.Threading;
 6using Azure.Core;
 7
 8namespace Azure
 9{
 10    /// <summary>
 11    /// Key credential used to authenticate to an Azure Service.
 12    /// It provides the ability to update the key without creating a new client.
 13    /// </summary>
 14    public class AzureKeyCredential
 15    {
 16        private string _key;
 17
 18        /// <summary>
 19        /// Key used to authenticate to an Azure service.
 20        /// </summary>
 21        [EditorBrowsable(EditorBrowsableState.Never)]
 22        public string Key
 23        {
 624            get => Volatile.Read(ref _key);
 425            private set => Volatile.Write(ref _key, value);
 26        }
 27
 28        /// <summary>
 29        /// Initializes a new instance of the <see cref="AzureKeyCredential"/> class.
 30        /// </summary>
 31        /// <param name="key">Key to use to authenticate with the Azure service.</param>
 32        /// <exception cref="System.ArgumentNullException">
 33        /// Thrown when the <paramref name="key"/> is null.
 34        /// </exception>
 35        /// <exception cref="System.ArgumentException">
 36        /// Thrown when the <paramref name="key"/> is empty.
 37        /// </exception>
 38#pragma warning disable CS8618 // Non-nullable field is uninitialized. Consider declaring as nullable.
 839        public AzureKeyCredential(string key) => Update(key);
 40#pragma warning restore CS8618 // Non-nullable field is uninitialized. Consider declaring as nullable.
 41
 42        /// <summary>
 43        /// Updates the service key.
 44        /// This is intended to be used when you've regenerated your service key
 45        /// and want to update long lived clients.
 46        /// </summary>
 47        /// <param name="key">Key to authenticate the service against.</param>
 48        /// <exception cref="System.ArgumentNullException">
 49        /// Thrown when the <paramref name="key"/> is null.
 50        /// </exception>
 51        /// <exception cref="System.ArgumentException">
 52        /// Thrown when the <paramref name="key"/> is empty.
 53        /// </exception>
 54        public void Update(string key)
 55        {
 456            Argument.AssertNotNullOrEmpty(key, nameof(key));
 457            Key = key;
 458        }
 59    }
 60}