e2etest/GuestProxyAgentTest/TestCases/EnableProxyAgentCase.cs (55 lines of code) (raw):

using Azure.ResourceManager.Compute.Models; using GuestProxyAgentTest.Models; using GuestProxyAgentTest.Settings; using GuestProxyAgentTest.TestScenarios; using Newtonsoft.Json; namespace GuestProxyAgentTest.TestCases { internal class EnableProxyAgentCase : TestCaseBase { public EnableProxyAgentCase() : this("EnableProxyAgentCase", true) { } public EnableProxyAgentCase(string testCaseName) : this(testCaseName, true) { } public EnableProxyAgentCase(string testCaseName, bool enableProxyAgent) : base(testCaseName) { EnableProxyAgent = enableProxyAgent; } internal bool EnableProxyAgent { get; set; } public override async Task StartAsync(TestCaseExecutionContext context) { var vmr = context.VirtualMachineResource; var patch = new VirtualMachinePatch() { SecurityProfile = new SecurityProfile { ProxyAgentSettings = new ProxyAgentSettings { Enabled = EnableProxyAgent } } }; if (EnableProxyAgent) { patch.SecurityProfile.ProxyAgentSettings.WireServer = new HostEndpointSettings { InVmAccessControlProfileReferenceId = TestSetting.Instance.InVmWireServerAccessControlProfileReferenceId }; patch.SecurityProfile.ProxyAgentSettings.Imds = new HostEndpointSettings { InVmAccessControlProfileReferenceId = TestSetting.Instance.InVmIMDSAccessControlProfileReferenceId }; } await vmr.UpdateAsync(Azure.WaitUntil.Completed, patch, cancellationToken: context.CancellationToken); var iv = await vmr.InstanceViewAsync(); context.TestResultDetails = new TestCaseResultDetails { CustomOut = JsonConvert.SerializeObject(iv), StdOut = "Enable ProxyAgent succeed.", StdErr = "", Succeed = true, FromBlob = false, }; } } }