public async Task CreateVirtualMachineTagAsync_ExpectedResult()
        {
            CreateTagRequest req = new CreateTagRequest()
            {
                Key   = "testkey",
                Value = "testvalue"
            };

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

            client.PostAsync <Tag>("/ecloud/v1/vms/123/tags", req).Returns(new Tag()
            {
                Key = "testkey"
            });

            var ops    = new VirtualMachineTagOperations <Tag>(client);
            var tagKey = await ops.CreateVirtualMachineTagAsync(123, req);

            Assert.AreEqual("testkey", tagKey);
        }
        public async Task CreateVirtualMachineTagAsync_InvalidVirtualMachineID_ThrowsUKFastClientValidationException()
        {
            var ops = new VirtualMachineTagOperations <Tag>(null);

            await Assert.ThrowsExceptionAsync <UKFastClientValidationException>(() => ops.CreateVirtualMachineTagAsync(0, null));
        }