//[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); }); }
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()); }
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)); }); }