public async Task UpdateVirtualMachineTagAsync_ValidParameters_ExpectedResult()
        {
            UpdateTagRequest req = new UpdateTagRequest()
            {
                Value = "testvalue"
            };

            IUKFastECloudClient client = Substitute.For <IUKFastECloudClient>();

            client.PatchAsync <Tag>("/ecloud/v1/vms/123/tags/testkey").Returns(new Tag()
            {
                Value = "testvalue"
            });

            var ops = new VirtualMachineTagOperations <Tag>(client);
            await ops.UpdateVirtualMachineTagAsync(123, "testkey", req);

            await client.Received().PatchAsync("/ecloud/v1/vms/123/tags/testkey", req);
        }
        public async Task UpdateVirtualMachineTagAsync_InvalidTagKey_ThrowsUKFastClientValidationException()
        {
            var ops = new VirtualMachineTagOperations <Tag>(null);

            await Assert.ThrowsExceptionAsync <UKFastClientValidationException>(() => ops.UpdateVirtualMachineTagAsync(123, "", null));
        }