Наследование: global::System.ComponentModel.INotifyPropertyChanged
        public void ShouldCreateOneVMNetwork()
        {
            Guid VNetLogicalNetworkId = Guid.NewGuid();
            Guid StampId= Guid.NewGuid();

            var mockChannel = new MockRequestChannel();

            var vmNetworkToCreate = new VMNetwork()
            {
                Name = vNetName,
                Description = vNetDescription,
                LogicalNetworkId = VNetLogicalNetworkId,
                StampId = StampId,            
            };

            var vmNetworkToReturn = new VMNetwork()
            {
                Name = vNetName,
                Description = vNetDescription,
                LogicalNetworkId = VNetLogicalNetworkId,
                StampId = StampId,            
            };

            mockChannel.AddReturnObject(vmNetworkToReturn, new WebHeaderCollection { "x-ms-request-id:" + Guid.NewGuid() });

            Guid? jobOut;
            var VMNetworkOperations = new VMNetworkOperations(new WebClientFactory(new Subscription(), mockChannel));
            var createdVMNetwork = VMNetworkOperations.Create(vmNetworkToCreate, out jobOut);

            Assert.IsNotNull(createdVMNetwork);
            Assert.IsInstanceOfType(createdVMNetwork, typeof(VMNetwork));
            Assert.AreEqual(vmNetworkToReturn.Name, vmNetworkToCreate.Name);
            Assert.AreEqual(vmNetworkToReturn.Description, vmNetworkToCreate.Description);
            Assert.AreEqual(vmNetworkToReturn.LogicalNetworkId, vmNetworkToCreate.LogicalNetworkId);
            Assert.AreEqual(vmNetworkToReturn.StampId, vmNetworkToCreate.StampId);

            var requestList = mockChannel.ClientRequests;
            Assert.AreEqual(1, requestList.Count);
            Assert.AreEqual(HttpMethod.Post.ToString(), requestList[0].Item1.Method);

            // Check the URI
            Assert.AreEqual(baseURI, mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
        }
Пример #2
0
        public override void ExecuteCmdlet()
        {
            var vmNetwork = new VMNetwork()
            {
                Name = this.Name,
                Description = this.Description,
                LogicalNetworkId = this.LogicalNetwork.ID,
                StampId = this.LogicalNetwork.StampId,            
            };

            Guid? jobId = Guid.Empty;
            var vmNetworkOperations = new VMNetworkOperations(this.WebClientFactory);
            var createdVmNetwork = vmNetworkOperations.Create(vmNetwork, out jobId);
            WaitForJobCompletion(jobId);

            createdVmNetwork = vmNetworkOperations.Read(createdVmNetwork.ID);
            var results = new List<VMNetwork>() { createdVmNetwork };
            this.GenerateCmdletOutput(results);
        }
        public void ShouldReturnOneVMNetworkByID()
        {
            var mockChannel = new MockRequestChannel();

            var vmNetworkToReturn = new VMNetwork()
            {
                Name = vNetName,
                Description = vNetDescription,
                LogicalNetworkId = Guid.Empty,
                StampId = Guid.Empty,
            };
            mockChannel.AddReturnObject(vmNetworkToReturn);

            var VMNetworkOperations = new VMNetworkOperations(new WebClientFactory(new Subscription(), mockChannel));
            var readVMNetwork = VMNetworkOperations.Read(Guid.Empty);
            Assert.Equal(Guid.Empty, readVMNetwork.ID);

            // Check the URI
            var requestList = mockChannel.ClientRequests;
            Assert.Equal(1, requestList.Count);
            Assert.Equal(baseURI, mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
        }
        public void ShouldDeleteStaticVMNetwork()
        {
            var mockChannel = new MockRequestChannel();

            var existingVmNetwork = new VMNetwork()
            {
                Name = vNetName,
                Description = vNetDescription,
                LogicalNetworkId = Guid.Empty,
                StampId = Guid.Empty,
            };
            mockChannel.AddReturnObject(new Cloud() { StampId = Guid.NewGuid() });
            mockChannel.AddReturnObject(existingVmNetwork, new WebHeaderCollection { "x-ms-request-id:" + Guid.NewGuid() });

            Guid? jobOut;
            var VMNetworkOperations = new VMNetworkOperations(new WebClientFactory(new Subscription(), mockChannel));
            VMNetworkOperations.Delete(Guid.Empty, out jobOut);

            Assert.Equal(2, mockChannel.ClientRequests.Count);
            Assert.Equal(HttpMethod.Delete.ToString(), mockChannel.ClientRequests[1].Item1.Method);

            // Check the URI
            var requestURI = mockChannel.ClientRequests[1].Item1.Address.AbsolutePath;
            Assert.Equal("/Clouds", mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
            Assert.Equal(baseURI, mockChannel.ClientRequests[1].Item1.Address.AbsolutePath.Substring(1).Remove(requestURI.IndexOf('(') - 1));
        }
        public void ShouldReturnOneVMNetworkByName()
        {
            var mockChannel = new MockRequestChannel();

            var vmNetworkToReturn = new VMNetwork()
            {
                Name = vNetName,
                Description = vNetDescription,
                LogicalNetworkId = Guid.Empty,
                StampId = Guid.Empty,
            };
            mockChannel.AddReturnObject(vmNetworkToReturn);

            var filter = new Dictionary<string, string>()
            {
                {"Name", vNetName}
            };
            var VMNetworkOperations = new VMNetworkOperations(new WebClientFactory(new Subscription(), mockChannel));
            var readVMNetwork = VMNetworkOperations.Read(filter);
            Assert.AreEqual(1, readVMNetwork.Count);
            Assert.AreEqual(vNetName, readVMNetwork.First().Name);

            // Check the URI
            var requestList = mockChannel.ClientRequests;
            Assert.AreEqual(1, requestList.Count);
            Assert.AreEqual(baseURI, mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
        }