Skip to content

Commit 857da33

Browse files
Client location spector scenarios (Azure#51959)
* Adopt client-location specs * Add hierachy building tests
1 parent bc87848 commit 857da33

File tree

3 files changed

+114
-0
lines changed

3 files changed

+114
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
using NUnit.Framework;
5+
using System.Threading.Tasks;
6+
using _Specs_.Azure.ClientGenerator.Core.ClientLocation;
7+
8+
namespace TestProjects.Spector.Tests.Http.Azure.ClientGeneratorCore.ClientLocation
9+
{
10+
public class ClientLocationTests : SpectorTestBase
11+
{
12+
[SpectorTest]
13+
public Task Azure_ClientGenerator_Core_ClientLocation_MoveToExistingSubClient() => Test(async (host) =>
14+
{
15+
var response1 = await new ClientLocationClient(host, null).GetMoveToExistingSubClient().GetMoveToExistingSubClientUserOperationsClient().GetUserAsync();
16+
Assert.AreEqual(204, response1.Status);
17+
18+
var response2 = await new ClientLocationClient(host, null).GetMoveToExistingSubClient().GetMoveToExistingSubClientAdminOperationsClient().DeleteUserAsync();
19+
Assert.AreEqual(204, response2.Status);
20+
21+
var response3 = await new ClientLocationClient(host, null).GetMoveToExistingSubClient().GetMoveToExistingSubClientAdminOperationsClient().GetAdminInfoAsync();
22+
Assert.AreEqual(204, response3.Status);
23+
});
24+
25+
[SpectorTest]
26+
public Task Azure_ClientGenerator_Core_ClientLocation_MoveToNewSubClient() => Test(async (host) =>
27+
{
28+
var response1 = await new ClientLocationClient(host, null).GetMoveToNewSubClient().GetMoveToNewSubClientProductOperationsClient().GetProductsAsync();
29+
Assert.AreEqual(204, response1.Status);
30+
31+
var response2 = await new ClientLocationClient(host, null).GetArchiveOperationsClient().ArchiveProductAsync();
32+
Assert.AreEqual(204, response2.Status);
33+
});
34+
35+
[SpectorTest]
36+
public Task Azure_ClientGenerator_Core_ClientLocation_MoveToRootClient() => Test(async (host) =>
37+
{
38+
var response1 = await new ClientLocationClient(host, null).GetMoveToRootClient().GetMoveToRootClientResourceOperationsClient().GetResourceAsync();
39+
Assert.AreEqual(204, response1.Status);
40+
41+
var response2 = await new ClientLocationClient(host, null).GetHealthStatusAsync();
42+
Assert.AreEqual(204, response2.Status);
43+
});
44+
}
45+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
using NUnit.Framework;
5+
using System.Threading.Tasks;
6+
using _Specs_.Azure.ClientGenerator.Core.HierarchyBuilding;
7+
8+
namespace TestProjects.Spector.Tests.Http.Azure.ClientGeneratorCore.HierarchyBuilding
9+
{
10+
public class HierarchyBuilding : SpectorTestBase
11+
{
12+
[SpectorTest]
13+
[Ignore("https://github.com/Azure/azure-sdk-for-net/issues/51958")]
14+
public Task Azure_ClientGenerator_Core_HierarchyBuilding_UpdateDogAsAnimal() => Test(async (host) =>
15+
{
16+
var dog = new Dog("Rex", true, "German Shepherd");
17+
var response1 = await new HierarchyBuildingClient(host, null).UpdatePetAsync(dog);
18+
dog = response1.Value as Dog;
19+
Assert.IsNotNull(dog);
20+
Assert.AreEqual("Rex", dog!.Name);
21+
Assert.AreEqual("German Shepherd", dog.Breed);
22+
Assert.IsTrue(dog.Trained);
23+
Assert.AreEqual(200, response1.GetRawResponse().Status);
24+
});
25+
26+
[SpectorTest]
27+
[Ignore("https://github.com/Azure/azure-sdk-for-net/issues/51958")]
28+
public Task Azure_ClientGenerator_Core_HierarchyBuilding_UpdatePetAsAnimal() => Test(async (host) =>
29+
{
30+
var pet = new Pet("Buddy", true);
31+
var response1 = await new HierarchyBuildingClient(host, null).UpdatePetAsync(pet);
32+
pet = response1.Value as Pet;
33+
Assert.IsNotNull(pet);
34+
Assert.AreEqual("Buddy", pet!.Name);
35+
Assert.IsTrue(pet.Trained);
36+
Assert.AreEqual(200, response1.GetRawResponse().Status);
37+
});
38+
39+
[SpectorTest]
40+
[Ignore("https://github.com/Azure/azure-sdk-for-net/issues/51958")]
41+
public Task Azure_ClientGenerator_Core_HierarchyBuilding_UpdateDogAsDog() => Test(async (host) =>
42+
{
43+
var dog = new Dog("Rex", true, "German Shepherd");
44+
var response1 = await new HierarchyBuildingClient(host, null).UpdateDogAsync(dog);
45+
dog = response1.Value as Dog;
46+
Assert.IsNotNull(dog);
47+
Assert.AreEqual("Rex", dog!.Name);
48+
Assert.AreEqual("German Shepherd", dog.Breed);
49+
Assert.IsTrue(dog.Trained);
50+
Assert.AreEqual(200, response1.GetRawResponse().Status);
51+
});
52+
53+
[SpectorTest]
54+
[Ignore("https://github.com/Azure/azure-sdk-for-net/issues/51958")]
55+
public Task Azure_ClientGenerator_Core_HierarchyBuilding_UpdateDogAsPet() => Test(async (host) =>
56+
{
57+
var dog = new Dog("Rex", true, "German Shepherd");
58+
var response1 = await new HierarchyBuildingClient(host, null).UpdatePetAsync(dog);
59+
dog = response1.Value as Dog;
60+
Assert.IsNotNull(dog);
61+
Assert.AreEqual("Rex", dog!.Name);
62+
Assert.AreEqual("German Shepherd", dog.Breed);
63+
Assert.IsTrue(dog.Trained);
64+
Assert.AreEqual(200, response1.GetRawResponse().Status);
65+
});
66+
}
67+
}

eng/packages/http-client-csharp/generator/TestProjects/Spector.Tests/TestProjects.Spector.Tests.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
<ProjectReference Include="..\Spector\http\azure\client-generator-core\api-version\query\src\_Specs_.Azure.ClientGenerator.Core.ApiVersion.Query.csproj" />
2222
<ProjectReference Include="..\Spector\http\azure\client-generator-core\flatten-property\src\_Specs_.Azure.ClientGenerator.Core.FlattenProperty.csproj" />
2323
<ProjectReference Include="..\Spector\http\azure\client-generator-core\usage\src\_Specs_.Azure.ClientGenerator.Core.Usage.csproj" />
24+
<ProjectReference Include="..\Spector\http\azure\client-generator-core\client-location\src\_Specs_.Azure.ClientGenerator.Core.ClientLocation.csproj" />
25+
<ProjectReference Include="..\Spector\http\azure\client-generator-core\hierarchy-building\src\_Specs_.Azure.ClientGenerator.Core.HierarchyBuilding.csproj" />
2426
<ProjectReference Include="..\Spector\http\azure\special-headers\client-request-id\src\Azure.SpecialHeaders.XmsClientRequestId.csproj" />
2527
<ProjectReference Include="..\Spector\http\azure\core\lro\standard\src\_Specs_.Azure.Core.Lro.Standard.csproj" />
2628
<ProjectReference Include="..\Spector\http\azure\core\lro\rpc\src\_Specs_.Azure.Core.Lro.Rpc.csproj" />

0 commit comments

Comments
 (0)