Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Setup: Removing all previous Loopback interfaces");
            Loopback.RemoveAll(onlyLoopbackNetIfaces: false);
            Console.WriteLine($"Done.");


            // 1. Manual creation and removal
            string loopbackName = "loopy";

            Console.WriteLine($"Creating Loopback named '{loopbackName}'");
            var loop1 = LoopbackNET.Loopback.Create(loopbackName);

            Console.WriteLine($"Done! New interface ID: {loop1.NetworkInterface.Id}");
            Console.WriteLine($"Removing Loopback named '{loopbackName}'");
            loop1.Remove();
            Console.WriteLine($"Done.");



            // 2. Creation and removal in a 'Using' scope
            using (LoopbackInterface loop2 = Loopback.Create())
            {
                Console.WriteLine($"Temporary loopback created. Name: '{loop2.NetworkInterface.Name}'");
                Console.WriteLine($"Disposing of temporary loopback.");
            } // Dispose removes the interface
            Console.WriteLine($"Done.");



            Console.WriteLine("Clean up: Making sure no Loopback interfaces are left behind");
            Loopback.RemoveAll(onlyLoopbackNetIfaces: false);
            Console.ReadLine();
        }
Example #2
0
        public void Remove_InterfaceRemoved()
        {
            // Arrange

            //Act
            LoopbackInterface res            = LoopbackNET.Loopback.Create();
            string            createdIFaceId = res.NetworkInterface.Id;

            res.Remove();

            // Assert
            Assert.IsFalse(NetworkInterface.GetAllNetworkInterfaces().Any(iface => iface.Id == createdIFaceId),
                           "Expected NO interfaces with the created interface id, but found at least 1");
        }
Example #3
0
        public void CreateNamed_CreateTwice_SameLoopbackReturned()
        {
            // Arrange
            Random r         = new Random();
            string ifaceName = "TestInterface" + r.Next();


            //Act
            LoopbackInterface loop1 = LoopbackNET.Loopback.Create(ifaceName);
            LoopbackInterface loop2 = LoopbackNET.Loopback.Create(ifaceName);

            // Assert
            Assert.AreEqual(loop1.NetworkInterface.Id, loop2.NetworkInterface.Id,
                            $"Expected Network Interfaces IDs to be the same.");
        }
Example #4
0
        public void Create_InterfaceCreated()
        {
            // Arrange

            //Act
            LoopbackInterface res            = LoopbackNET.Loopback.Create();
            string            createdIFaceId = res.NetworkInterface.Id;

            // Assert
            Assert.IsNotNull(res);
            Assert.IsNotNull(res.NetworkInterface);
            int amountOfMatchingIfaces =
                NetworkInterface.GetAllNetworkInterfaces().Count(iface => iface.Id == createdIFaceId);

            Assert.IsTrue(amountOfMatchingIfaces == 1,
                          $"Expected exactly ONE interface with the created interface id, but found {amountOfMatchingIfaces}");
        }
Example #5
0
        public void Create_WithName_InterfaceCreated()
        {
            // Arrange
            Random r         = new Random();
            string ifaceName = "TestInterface" + r.Next();

            //Act
            LoopbackInterface res            = LoopbackNET.Loopback.Create(ifaceName);
            string            createdIFaceId = res.NetworkInterface.Id;

            // Assert
            Assert.IsNotNull(res);
            Assert.IsNotNull(res.NetworkInterface);
            Assert.AreEqual(res.NetworkInterface.Name, ifaceName);
            int amountOfMatchingIfaces =
                NetworkInterface.GetAllNetworkInterfaces().Count(iface => iface.Id == createdIFaceId);

            Assert.IsTrue(amountOfMatchingIfaces == 1,
                          $"Expected exactly ONE interface with the created interface id, but found {amountOfMatchingIfaces}");
        }
Example #6
0
        public void RemoveNamed_TwoLoopbacksExist_OtherLoopbackNotRemoved()
        {
            // Arrange
            Random r          = new Random();
            string ifaceName1 = "TestInterface" + r.Next();
            string ifaceName2 = "TestInterface" + r.Next();
            //  Creating the interfaces
            LoopbackInterface loop1 = LoopbackNET.Loopback.Create(ifaceName1);
            LoopbackInterface loop2 = LoopbackNET.Loopback.Create(ifaceName2);


            //Act
            loop1.Remove();
            LoopbackInterface loop3 = LoopbackNET.Loopback.Create(ifaceName2); // should return same as loop2



            // Assert
            Assert.IsNotNull(loop3);
            Assert.IsNotNull(loop3.NetworkInterface);
            Assert.AreEqual(loop3.NetworkInterface.Id, loop2.NetworkInterface.Id,
                            $"Expected Network Interfaces ID of new interface '2' to be the same as one retrieved before removal of '1'");
        }