//[Fact]
        //[Category("Default")]
        public void TestMemory2()
        {
            GC.Collect();

            GetRequestMessage message = new GetRequestMessage(0x4bed, VersionCode.V2, new OctetString("public"), new List <Variable> {
                new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0"))
            });

            {
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                //IMPORTANT: test against an agent that doesn't exist.
                Assert.Throws <SocketException>(
                    () =>
                    message.BeginGetResponse(
                        new IPEndPoint(IPAddress.Loopback, 80),
                        new UserRegistry(),
                        socket,
                        ar =>
                {
                    var response = message.EndGetResponse(ar);
                },
                        null));

                socket.Close();
                socket = null;
            }

            GC.Collect();
            var memoryCheckPoint1 = dotMemory.Check();

            for (int i = 0; i < 100; i++)
            {
                //Thread.Sleep(100);
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                Assert.Throws <SocketException>(
                    () =>
                    message.BeginGetResponse(
                        new IPEndPoint(IPAddress.Loopback, 80),
                        new UserRegistry(),
                        socket,
                        ar =>
                {
                    var response = message.EndGetResponse(ar);
                },
                        null));

                socket.Close();
                socket = null;
            }

            message = null;

            GC.Collect();
            dotMemory.Check(memory =>
            {
                Assert.True(memory.GetDifference(memoryCheckPoint1)
                            .GetNewObjects().ObjectsCount <= 31);
            });
        }
Ejemplo n.º 2
0
        public void TestTimeOutAsync()
        {
            // IMPORTANT: this test case requires a local SNMP agent such as
            //   #SNMP Agent (snmpd),
            //   Windows SNMP agent service,
            //   Net-SNMP agent, or
            //   snmp4j agent.
            Socket            socket  = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            GetRequestMessage message = new GetRequestMessage(0x4bed, VersionCode.V2, new OctetString("public"), new List <Variable> {
                new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0"))
            });

            var users    = new UserRegistry();
            var ar2      = message.BeginGetResponse(new IPEndPoint(IPAddress.Loopback, 161), users, socket, null, null);
            var response = message.EndGetResponse(ar2);

            Assert.AreEqual(SnmpType.ResponsePdu, response.TypeCode());
        }
Ejemplo n.º 3
0
 public void TestTimeOutAsync()
 {
     // IMPORTANT: this test case requires a local SNMP agent such as 
     //   #SNMP Agent (snmpd), 
     //   Windows SNMP agent service, 
     //   Net-SNMP agent, or 
     //   snmp4j agent.
     Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
     GetRequestMessage message = new GetRequestMessage(0x4bed, VersionCode.V2, new OctetString("public"), new List<Variable> { new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0")) });
     
     var users = new UserRegistry();
     var ar2 = message.BeginGetResponse(new IPEndPoint(IPAddress.Loopback, 161), users, socket, null, null);
     var response = message.EndGetResponse(ar2);
     Assert.AreEqual(SnmpType.ResponsePdu, response.TypeCode());
 }
        //[Test]
        //[Category("Default")]
        public void TestMemory2()
        {
            GC.Collect();
            
            GetRequestMessage message = new GetRequestMessage(0x4bed, VersionCode.V2, new OctetString("public"), new List<Variable> { new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0")) });
            {
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                //IMPORTANT: test against an agent that doesn't exist.
                Assert.Throws<SocketException>(
                    () =>
                    message.BeginGetResponse(
                        new IPEndPoint(IPAddress.Loopback, 80),
                        new UserRegistry(),
                        socket,
                        ar =>
                            {
                                var response = message.EndGetResponse(ar);
                                Console.WriteLine(response);
                            },
                        null));

                socket.Close();
                socket = null;
            }

            GC.Collect();
            var memoryCheckPoint1 = dotMemory.Check();

            for (int i = 0; i < 100; i++)
            {
                //Thread.Sleep(100);
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                Assert.Throws<SocketException>(
                    () =>
                    message.BeginGetResponse(
                        new IPEndPoint(IPAddress.Loopback, 80),
                        new UserRegistry(),
                        socket,
                        ar =>
                        {
                            var response = message.EndGetResponse(ar);
                            Console.WriteLine(response);
                        },
                        null));

                socket.Close();
                socket = null;
            }

            message = null;

            GC.Collect();
            dotMemory.Check(memory =>
            {
                Assert.That(memory.GetDifference(memoryCheckPoint1)
                    .GetNewObjects().ObjectsCount, Is.LessThanOrEqualTo(31));
            });
        }