|
| 1 | +using Microsoft.Azure.Management.NetApp.Models; |
| 2 | +using Microsoft.Azure.Commands.NetAppFiles.Helpers; |
| 3 | +using Xunit; |
| 4 | +using Microsoft.Azure.Commands.NetAppFiles.Models; |
| 5 | + |
| 6 | +namespace Microsoft.Azure.Commands.NetAppFiles.UnitTest |
| 7 | +{ |
| 8 | + public class AccountExtensionTest |
| 9 | + { |
| 10 | + [Fact] |
| 11 | + public void AccountShouldNotError() |
| 12 | + { |
| 13 | + string jsonAccountBody = @"{ |
| 14 | + ""id"": ""/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/someGroup/providers/Microsoft.NetApp/netAppAccounts/someAccount"", |
| 15 | + ""name"": ""KTBNetAppProduction"", |
| 16 | + ""type"": ""Microsoft.NetApp/netAppAccounts"", |
| 17 | + ""etag"": ""W/\""datetime'2023-05-30T18%3A08%3A22.2706822Z'\"""", |
| 18 | + ""location"": ""eastus2"", |
| 19 | + ""tags"": { |
| 20 | + ""App"": ""Azure NetApp Files"", |
| 21 | + ""Env"": ""PRD"", |
| 22 | + ""FunctionalArea"": ""Datacenter"", |
| 23 | + ""Region"": ""AMER"", |
| 24 | + ""SubWorkstream"": ""OPS"", |
| 25 | + ""Workstream"": ""INF"" |
| 26 | + }, |
| 27 | + ""properties"": { |
| 28 | + ""provisioningState"": ""Succeeded"", |
| 29 | + ""activeDirectories"": [ |
| 30 | + { |
| 31 | + ""backupOperators"": [ |
| 32 | + ""svc-ANF"" |
| 33 | + ], |
| 34 | + ""activeDirectoryId"": ""*********-****-****-****-************"", |
| 35 | + ""username"": ""svc-ANF"", |
| 36 | + ""password"": ""****************"", |
| 37 | + ""domain"": ""fk.fakebrand.com"", |
| 38 | + ""dns"": ""10.16.0.11,10.16.0.12"", |
| 39 | + ""status"": ""InUse"", |
| 40 | + ""smbServerName"": ""smbServer"", |
| 41 | + ""organizationalUnit"": ""OU=AzureNetAppFiles,OU=Servers,OU=fk"" |
| 42 | + } |
| 43 | + ], |
| 44 | + ""encryption"": { |
| 45 | + ""keySource"": ""Microsoft.NetApp"" |
| 46 | + } |
| 47 | + } |
| 48 | +}"; |
| 49 | + |
| 50 | + |
| 51 | + Newtonsoft.Json.JsonSerializerSettings DeserializationSettings = new Newtonsoft.Json.JsonSerializerSettings |
| 52 | + { |
| 53 | + DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, |
| 54 | + DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, |
| 55 | + NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, |
| 56 | + ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, |
| 57 | + ContractResolver = new Microsoft.Rest.Serialization.ReadOnlyJsonContractResolver(), |
| 58 | + Converters = new System.Collections.Generic.List<Newtonsoft.Json.JsonConverter> |
| 59 | + { |
| 60 | + new Microsoft.Rest.Serialization.Iso8601TimeSpanConverter() |
| 61 | + } |
| 62 | + }; |
| 63 | + |
| 64 | + DeserializationSettings.Converters.Add(new Microsoft.Rest.Serialization.TransformationJsonConverter()); |
| 65 | + DeserializationSettings.Converters.Add(new Microsoft.Rest.Azure.CloudErrorJsonConverter()); |
| 66 | + |
| 67 | + NetAppAccount netAppAccount = Microsoft.Rest.Serialization.SafeJsonConvert.DeserializeObject<NetAppAccount>(jsonAccountBody, DeserializationSettings); |
| 68 | + PSNetAppFilesAccount pSNetAppFilesAccount = netAppAccount.ConvertToPs(); |
| 69 | + Assert.NotNull(pSNetAppFilesAccount); |
| 70 | + } |
| 71 | + } |
| 72 | +} |
0 commit comments