Skip to content

Commit 4fd93d5

Browse files
authored
Merge pull request Azure#9976 from poadhika/master
Bug fix regarding Get-AzHealthcareApisService not showing accurate fhir type
2 parents ba5b6df + bd391b9 commit 4fd93d5

File tree

7 files changed

+53
-38
lines changed

7 files changed

+53
-38
lines changed

src/HealthcareApis/HealthcareApis.Test/ScenarioTests/HealthcareApisServiceTests.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ function Test-AzRmHealthcareApisService{
4747
# Assert
4848
Assert-AreEqual $actual.Name $rname
4949
Assert-AreEqual $actual.Properties.CosmosDbConfiguration.OfferThroughput $offerThroughput
50+
Assert-AreEqual $actual.Kind $kind
5051
#Update using parameters
5152
$newOfferThroughput = $offerThroughput - 600
5253
$updated = Set-AzHealthcareApisService -ResourceId $actual.Id -CosmosOfferThroughput $newOfferThroughput;

src/HealthcareApis/HealthcareApis.Test/SessionRecords/Microsoft.Azure.Commands.HealthcareApisService.Test.ScenarioTests.HealthcareApisServiceTests/TestAzRmHealthcareApisService.json

Lines changed: 14 additions & 14 deletions
Large diffs are not rendered by default.

src/HealthcareApis/HealthcareApis/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
* Added Error Handling in all cmdlets
2323
* Fixed few typos
2424
* Enable Set-AzHealthcareApisService to allow updating tags.
25+
* Fixed bug around inaccurate kind
2526

2627
## Version 0.1.0
2728

src/HealthcareApis/HealthcareApis/Common/HealthcareApisBaseCmdlet.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// ----------------------------------------------------------------------------------
1414

1515
using Microsoft.Azure.Commands.HealthcareApis.Models;
16+
using Microsoft.Azure.Commands.HealthcareApis.Properties;
1617
using Microsoft.Azure.Commands.ResourceManager.Common;
1718
using Microsoft.Azure.Graph.RBAC.Version1_6.ActiveDirectory;
1819
using Microsoft.Azure.Management.HealthcareApis;
@@ -193,5 +194,25 @@ public static ErrorRecord WriteErrorforBadrequest(ErrorDetailsException ex)
193194
return new ErrorRecord(emptyEx, "Response object was empty", ErrorCategory.OpenError, emptyEx);
194195
}
195196
}
197+
198+
public static Kind ParseKind(string kind)
199+
{
200+
if (kind.Equals("fhir", StringComparison.OrdinalIgnoreCase))
201+
{
202+
return Management.HealthcareApis.Models.Kind.Fhir;
203+
}
204+
else if (kind.Equals("fhir-stu3", StringComparison.OrdinalIgnoreCase) || kind.Equals("stu3", StringComparison.OrdinalIgnoreCase))
205+
{
206+
return Management.HealthcareApis.Models.Kind.FhirStu3;
207+
}
208+
else if (kind.Equals("fhir-r4", StringComparison.OrdinalIgnoreCase) || kind.Equals("r4", StringComparison.OrdinalIgnoreCase))
209+
{
210+
return Management.HealthcareApis.Models.Kind.FhirR4;
211+
}
212+
else
213+
{
214+
throw new PSArgumentException(Resources.createService_InvalidKindMessage);
215+
}
216+
}
196217
}
197218
}

src/HealthcareApis/HealthcareApis/HealthcareApis/NewAzureRmHealthcareApisService.cs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -248,26 +248,6 @@ private Kind ParseKindFromVersion(string fhirVersion)
248248
return ParseKind(FhirVersion);
249249
}
250250

251-
private Kind ParseKind(string kind)
252-
{
253-
if (kind.Equals("fhir", StringComparison.OrdinalIgnoreCase))
254-
{
255-
return Management.HealthcareApis.Models.Kind.Fhir;
256-
}
257-
else if (kind.Equals("fhir-stu3", StringComparison.OrdinalIgnoreCase) || kind.Equals("stu3", StringComparison.OrdinalIgnoreCase))
258-
{
259-
return Management.HealthcareApis.Models.Kind.FhirStu3;
260-
}
261-
else if (kind.Equals("fhir-r4", StringComparison.OrdinalIgnoreCase) || kind.Equals("r4", StringComparison.OrdinalIgnoreCase))
262-
{
263-
return Management.HealthcareApis.Models.Kind.FhirR4;
264-
}
265-
else
266-
{
267-
throw new PSArgumentException(Resources.createService_InvalidKindMessage);
268-
}
269-
}
270-
271251
private int? GetCosmosDBThroughput()
272252
{
273253
if (CosmosOfferThroughput == null)

src/HealthcareApis/HealthcareApis/HealthcareApis/SetAzureRmHealthcareApisService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ private ServicesDescription InputObjectToServiceDescription(ServicesDescription
345345
},
346346
AccessPolicies = accessPolicies
347347
},
348-
Kind = InputObject.Kind,
348+
Kind = ParseKind(InputObject.Kind),
349349
Tags = InputObject.Tags
350350
};
351351
}

src/HealthcareApis/HealthcareApis/Models/PSHealthcareApisService.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public PSHealthcareApisService(ServicesDescription serviceDescription)
3030
this.Tags = serviceDescription.Tags;
3131
this.Properties = new PSHealthcareApisServiceConfig(serviceDescription.Properties);
3232
this.Etag = serviceDescription.Etag;
33-
this.Kind = serviceDescription.Kind;
33+
this.Kind = GetKindValue(serviceDescription.Kind);
3434
}
3535

3636
public string ResourceGroupName { get; private set; }
@@ -43,7 +43,7 @@ public PSHealthcareApisService(ServicesDescription serviceDescription)
4343

4444
public string ResourceType { get; private set; }
4545

46-
public Kind Kind { get; private set; }
46+
public string Kind { get; private set; }
4747

4848
public IDictionary<string, string> Tags { get; private set; }
4949

@@ -68,6 +68,18 @@ private static string ParseResourceGroupFromId(string idFromServer)
6868
return null;
6969
}
7070

71-
71+
private static string GetKindValue(Kind kind)
72+
{
73+
switch (kind)
74+
{
75+
case Management.HealthcareApis.Models.Kind.Fhir:
76+
return "fhir";
77+
case Management.HealthcareApis.Models.Kind.FhirStu3:
78+
return "fhir-Stu3";
79+
case Management.HealthcareApis.Models.Kind.FhirR4:
80+
return "fhir-R4";
81+
}
82+
return null;
83+
}
7284
}
7385
}

0 commit comments

Comments
 (0)