public void TestRemoteRestart() { Timer t = new Timer(Timeout, null, 0, 500); int spi = 123333; new SecurityPolicy(spi, "Rijndael", "SHA1", true); SecurityOverlord so0 = CreateValidSO("valid0"); SecurityOverlord so1 = CreateValidSO("valid1"); MockSender ms0 = new MockSender(null, null, so1, 0); MockSender ms1 = new MockSender(ms0, null, so0, 0); ms0.ReturnPath = ms1; SecurityAssociation sa0 = so0.CreateSecurityAssociation(ms0, spi, true); SecurityAssociation sa1 = so1.CreateSecurityAssociation(ms1, spi, true); Assert.AreEqual(sa0.State, SecurityAssociation.SAState.Active, "sa0 should be active!"); Assert.AreEqual(sa1.State, SecurityAssociation.SAState.Active, "sa1 should be active!"); Assert.AreEqual(so0.SACount, 1, "so0 should contain just one!"); Assert.AreEqual(so1.SACount, 1, "so1 should contain just one!"); sa0.GarbageCollect(); sa0.GarbageCollect(); Assert.AreEqual(so0.SACount, 0, "so0 should contain just zero!"); sa1.GarbageCollect(); Assert.AreEqual(so1.SACount, 1, "so1 should contain just one!"); sa1.Send(MemBlock.Reference(new byte[] { 0, 1, 2, 3 })); Assert.AreEqual(so0.SACount, 1, "so0 should contain just one!"); Assert.AreEqual(so1.SACount, 1, "so1 should contain just one!"); t.Dispose(); }
public void test_observer_notifyEvent() { MockSender s = new MockSender(); MyEventSubject subject = new MyEventSubject(); MyEventObserver[] observers = new MyEventObserver[] { new MyEventObserver(), new MyEventObserver() }; foreach (MyEventObserver o in observers) { subject.attach(o); } subject.notify(new MockEvent_Test01(s)); foreach (MyEventObserver o in observers) { Assert.IsFalse(o.hasBeenNotified); } subject.notify(new MockEvent_Test00(s)); foreach (MyEventObserver o in observers) { Assert.IsTrue(o.hasBeenNotified); } }
public void TestWithPreExchangedKeys() { Timer t = new Timer(Timeout, null, 0, 500); int spi = 123333; new SecurityPolicy(spi, "Rijndael", "SHA1", true); PeerSecOverlord so0 = CreateValidSO("valid0"); PeerSecOverlord so1 = CreateValidSO("valid1"); MockSender ms0 = new MockSender(null, null, so1, 0); MockSender ms1 = new MockSender(ms0, null, so0, 0); ms0.ReturnPath = ms1; SecurityAssociation sa0 = so0.CreateSecurityAssociation(ms0, spi); Assert.IsFalse((sa0 as PeerSecAssociation).Start(), "Cannot start SA again"); SecurityAssociation sa1 = so1.CreateSecurityAssociation(ms1, spi); Assert.AreEqual(sa0.State, SecurityAssociation.States.Active, "sa0 should be active!"); Assert.AreEqual(sa1.State, SecurityAssociation.States.Active, "sa1 should be active!"); Assert.AreEqual(so0.SACount, 1, "so0 should contain just one!"); Assert.AreEqual(so1.SACount, 1, "so1 should contain just one!"); t.Dispose(); }
public void test_eventhandler_handleEvent() { MockEventHandler handler = new MockEventHandler(); MockSender sender = new MockSender(); Assert.IsTrue(handler.handleEvent(new MockEvent_Test01(sender))); Assert.IsFalse(handler.handleEvent(new MockEvent_Test02(sender))); }
public void SHUpdateTest() { callback_count = 0; int spi = SecurityPolicy.DefaultSPI; MockSender sender1 = new MockSender(null, null, null, 2); MockSender sender2 = new MockSender(null, null, null, 2); SecurityAssociation sa1 = new SecurityAssociation(sender1, spi); sa1.StateChange += StateChange; sender2.Receiver = sa1; MockDataHandler mdh1 = new MockDataHandler(); sa1.Subscribe(mdh1, null); SecurityAssociation sa2 = new SecurityAssociation(sender2, spi); sender1.Receiver = sa2; MockDataHandler mdh2 = new MockDataHandler(); sa2.Subscribe(mdh2, null); Setup(ref sa1, ref sa2); sa1.RequestUpdate += Callback; sa2.RequestUpdate += Callback; byte[] b = null; Random rand = new Random(); MemBlock mb = null; int current_epoch = sa1.CurrentEpoch; for (int i = 0; i < 80; i++) { b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sa1.Send(mb); Assert.IsTrue(mdh2.Contains(mb), "Contains" + i); if (i % 20 == 0 && i != 0) { Assert.AreEqual(callback_count, 1, "Callback count " + i); callback_count = 0; Thread.Sleep(SecurityAssociation.TIMEOUT * 2 + 5); Setup(ref sa1, ref sa2); } else { if (i % 20 == 1 && i != 1) { Assert.IsFalse(current_epoch == sa1.CurrentEpoch, "Current epoch " + i); current_epoch = sa1.CurrentEpoch; } Assert.AreEqual(current_epoch, sa1.CurrentEpoch, "Current epoch " + i); } } }
public void does_not_blow_up_if_metric_command_throws() { var metric = MockRepository.GenerateStub <Counting>(); metric.Stub(x => x.Command).Throw(new Exception()); var sender = new MockSender(); sender.Send(metric); Assert.Pass(); }
public async Task TestDeserializeCalledWithResponseBodyAsync() { var response = new Response(0, Encoding.ASCII.GetBytes("Hello, World!")); var mockSender = new MockSender(response); var deserializer = new FakeDeserializer(null); var client = new Client(mockSender, deserializer); await client.SendAsync(new Lookup("1", "2")); Assert.AreEqual(response.Payload, deserializer.Payload); }
public void TestDeserializeCalledWithResponseBody() { var response = new Response(0, Encoding.ASCII.GetBytes("Hello, world!")); var sender = new MockSender(response); var deserializer = new FakeDeserializer(null); var client = new Client(sender, deserializer); client.Send(new Lookup()); Assert.AreEqual(response.Payload, deserializer.Payload); }
public async Task TestDeserializeCalledWithResponseBodyAsync() { var response = new Response(0, Encoding.ASCII.GetBytes("Hello, World!")); var mockSender = new MockSender(response); var sender = new URLPrefixSender("http://localhost/", mockSender); var deserializer = new FakeDeserializer(new Result()); var client = new Client(sender, deserializer); await client.SendAsync(new Lookup("1")); Assert.AreEqual(response.Payload, deserializer.Payload); }
public void does_not_send_anything() { var metric = new Counting() { Name = "testMetric", ValueAsInt = 5 }; var sender = new MockSender(); sender.Send(metric); _udp.AssertWasNotCalled(x => x.Send(Arg <string> .Is.Anything)); }
public void TestResultCorrectlyAssignedToCorrespondingLookup() { var expectedResult = new Result(); var lookup = new Lookup("Hello, World!"); var sender = new MockSender(new Response(0, Encoding.ASCII.GetBytes("[]"))); var deserializer = new FakeDeserializer(expectedResult); var client = new Client(sender, deserializer); client.Send(lookup); Assert.AreEqual(expectedResult, lookup.Result); }
public void Test() { int spi = SecurityPolicy.DefaultSPI; MockSender sender1 = new MockSender(null, null, null, 2); MockSender sender2 = new MockSender(null, null, null, 2); PeerSecAssociation sa1 = new PeerSecAssociation(sender1, null, spi); sa1.StateChangeEvent += StateChange; sender2.Receiver = sa1; MockDataHandler mdh1 = new MockDataHandler(); sa1.Subscribe(mdh1, null); PeerSecAssociation sa2 = new PeerSecAssociation(sender2, null, spi); sender1.Receiver = sa2; MockDataHandler mdh2 = new MockDataHandler(); sa2.Subscribe(mdh2, null); byte[] b = null; Random rand = new Random(); MemBlock mb = null; int current_epoch = sa1.CurrentEpoch; for (int i = 0; i < 5; i++) { Setup(sa1, sa2); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sa1.Send(mb); Assert.IsTrue(mdh2.Contains(mb), "Contains" + i); Assert.AreEqual(state, sa1.State, "State == Active" + i); Assert.IsFalse(current_epoch == sa1.CurrentEpoch, "Current epoch " + i); current_epoch = sa1.CurrentEpoch; } sa1.CheckState(); sa1.CheckState(); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); try { sa1.Send(mb); } catch {} Assert.IsTrue(!mdh2.Contains(mb), "Failed!"); Assert.AreEqual(state, sa1.State, "State == Failed"); }
public async Task TestResultCorrectlyAssignedToLookupAsync() { var lookup = new Lookup("1"); var expectedResult = new Result(); var mockSender = new MockSender(new Response(0, Encoding.ASCII.GetBytes("{[]}"))); var sender = new URLPrefixSender("http://localhost/", mockSender); var deserializer = new FakeDeserializer(expectedResult); var client = new Client(sender, deserializer); await client.SendAsync(lookup); Assert.AreEqual(expectedResult.Suggestions, lookup.Result); }
public async Task TestCandidatesCorrectlyAssignedToLookupAsync() { var expectedCandidates = new List <Candidate> { new Candidate(), new Candidate() }; var lookup = new Lookup("1", "2"); var mockSender = new MockSender(new Response(0, Encoding.ASCII.GetBytes("[]"))); var deserializer = new FakeDeserializer(expectedCandidates); var client = new Client(mockSender, deserializer); await client.SendAsync(lookup); Assert.AreEqual(expectedCandidates[0], lookup.Result[0]); Assert.AreEqual(expectedCandidates[1], lookup.Result[1]); }
public void TestCandidatesCorrectlyAssignedToLookup() { var expectedCandidates = new Candidate[2]; expectedCandidates[0] = new Candidate(); expectedCandidates[1] = new Candidate(); var lookup = new Lookup("1", "2"); var mockSender = new MockSender(new Response(0, Encoding.ASCII.GetBytes("[]"))); var deserializer = new FakeDeserializer(expectedCandidates); var client = new Client(mockSender, deserializer); client.Send(lookup); Assert.AreEqual(expectedCandidates[0], lookup.Result[0]); Assert.AreEqual(expectedCandidates[1], lookup.Result[1]); }
public void test_eventdispatch_dispatch() { EventDispatch dispatch = new EventDispatch(); MockEventHandler_Test00 handler = new MockEventHandler_Test00(); dispatch.subscribe(handler); dispatch.subscribe(new MockEventHandler_Test01()); dispatch.subscribe(new MockEventHandler_Test02()); MockSender s = new MockSender(); Assert.IsTrue(dispatch.dispatch(new MockEvent_Test00(s))); dispatch.unsubscribe(handler); Assert.IsFalse(dispatch.dispatch(new MockEvent_Test00(s))); }
public void TestCandidatesCorrectlyAssignedToCorrespondingLookup() { var expectedCandidates = new List <Candidate> { new Candidate(0), new Candidate(1), new Candidate(1) }; var batch = new Batch { new Lookup(), new Lookup() }; var sender = new MockSender(new Response(0, new byte[0])); var deserializer = new FakeDeserializer(expectedCandidates); var client = new Client(sender, deserializer); client.Send(batch); Assert.AreEqual(expectedCandidates[0], batch[0].Result[0]); Assert.AreEqual(expectedCandidates[1], batch[1].Result[0]); Assert.AreEqual(expectedCandidates[2], batch[1].Result[1]); }
public async Task TestCandidatesCorrectlyAssignedToCorrespondingLookupAsync() { var expectedResults = new Result[2]; expectedResults[0] = new Result(); expectedResults[1] = new Result(); var batch = new Batch { new Lookup(), new Lookup() }; var sender = new MockSender(new Response(0, new byte[0])); var deserializer = new FakeDeserializer(expectedResults); var client = new Client(sender, deserializer); await client.SendAsync(batch); Assert.AreEqual(expectedResults[0], batch[0].Result); Assert.AreEqual(expectedResults[1], batch[1].Result); }
public void TestCandidatesCorrectlyAssignedToCorrespondingLookup() { var expectedResults = new Result[2]; expectedResults[0] = new Result(); expectedResults[1] = new Result(); var batch = new Batch(); batch.Add(new Lookup()); batch.Add(new Lookup()); var sender = new MockSender(new Response(0, new byte[0])); var deserializer = new FakeDeserializer(expectedResults); var client = new Client("/", sender, deserializer); client.Send(batch); Assert.AreEqual(expectedResults[0], batch[0].Result); Assert.AreEqual(expectedResults[1], batch[1].Result); }
public async Task TestCandidatesCorrectlyAssignedToCorrespondingLookupAsync() { var expectedCandidates = new Candidate[3]; expectedCandidates[0] = new Candidate(0); expectedCandidates[1] = new Candidate(1); expectedCandidates[2] = new Candidate(1); var batch = new Batch(); batch.Add(new Lookup()); batch.Add(new Lookup()); var sender = new MockSender(new Response(0, new Byte[0])); var deserializer = new FakeDeserializer(expectedCandidates); var client = new Client("/", sender, deserializer); await client.SendAsync(batch); Assert.AreEqual(expectedCandidates[0], batch[0].Result[0]); Assert.AreEqual(expectedCandidates[1], batch[1].Result[0]); Assert.AreEqual(expectedCandidates[2], batch[1].Result[1]); }
public DtlsOverlordClientServer(bool threaded, bool good_client, bool good_server, double noisy) { var server_ch = new OpenSslCertificateHandler(); if (good_server) { server_ch.AddSignedCertificate(X509); } server_ch.AddCACertificate(X509); Server = new DtlsOverlord(Rsa, server_ch, PType); ServerIn = new MockDataHandler(); Server.Subscribe(ServerIn, null); var client_ch = new OpenSslCertificateHandler(); if (good_client) { client_ch.AddCACertificate(X509); } client_ch.AddSignedCertificate(X509); Client = new DtlsOverlord(Rsa, client_ch, PType); ClientIn = new MockDataHandler(); Client.Subscribe(ClientIn, null); if (threaded) { ToServer = new ThreadedMockSender(null, null, Server, 1, noisy); ToClient = new ThreadedMockSender(ToServer, null, Client, 1, noisy); } else { ToServer = new MockSender(null, null, Server, 1, noisy); ToClient = new MockSender(ToServer, null, Client, 1, noisy); } ToServer.ReturnPath = ToClient; }
public void Test() { Timer t = new Timer(Timeout, null, 0, 500); SecurityOverlord so0 = CreateValidSO("valid0"); SecurityOverlord so1 = CreateValidSO("valid1"); //Test block one { MockSender ms0 = new MockSender(null, null, so1, 0); MockSender ms1 = new MockSender(ms0, null, so0, 0); ms0.ReturnPath = ms1; SecurityAssociation sa0 = so0.CreateSecurityAssociation(ms0, true); SecurityAssociation sa1 = so1.CreateSecurityAssociation(ms1, true); Assert.AreEqual(sa0.State, SecurityAssociation.SAState.Active, "sa0 should be active!"); Assert.AreEqual(sa1.State, SecurityAssociation.SAState.Active, "sa1 should be active!"); Assert.AreEqual(so0.SACount, 1, "so0 should contain just one!"); Assert.AreEqual(so1.SACount, 1, "so1 should contain just one!"); Random rand = new Random(); byte[] b = new byte[128]; rand.NextBytes(b); MemBlock mb = MemBlock.Reference(b); sa1.Send(mb); new SecurityPolicy(12345, "DES", "MD5"); sa0 = so0.CreateSecurityAssociation(ms0, 12345, true); Assert.AreEqual(sa0.State, SecurityAssociation.SAState.Active, "sa0 should be active!"); Assert.AreEqual(so0.SACount, 2, "so0 should contain just one!"); Assert.AreEqual(so1.SACount, 2, "so1 should contain just one!"); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sa0.Send(mb); } // create ~250 valid SAs for one guy... for (int i = 2; i < 250; i++) { SecurityOverlord so = CreateValidSO("valid" + i); MockSender msa = new MockSender(null, null, so, 0); MockSender msb = new MockSender(msa, null, so0, 0); msa.ReturnPath = msb; SecurityAssociation sab = so.CreateSecurityAssociation(msb, true); Assert.AreEqual(sab.State, SecurityAssociation.SAState.Active, "sab should be active! " + i); SecurityAssociation saa = so0.CreateSecurityAssociation(msa, true); Assert.AreEqual(saa.State, SecurityAssociation.SAState.Active, "saa should be active! " + i); MockDataHandler mdha = new MockDataHandler(); saa.Subscribe(mdha, null); MockDataHandler mdhb = new MockDataHandler(); sab.Subscribe(mdhb, null); Random rand = new Random(); byte[] b = new byte[128]; rand.NextBytes(b); MemBlock mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdhb Contains " + i); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdha Contains " + i); } for (int i = 250; i < 500; i++) { int ij = (250 % 3) + 1; SecurityOverlord so = CreateInvalidSO("valid" + i, ij); MockSender msa = new MockSender(null, null, so, 0); MockSender msb = new MockSender(msa, null, so0, 0); msa.ReturnPath = msb; SecurityAssociation sab = so.CreateSecurityAssociation(msb, true); SecurityAssociation saa = so0.CreateSecurityAssociation(msa, true); Assert.AreEqual(sab.State, SecurityAssociation.SAState.Waiting, "sab should be waiting! " + i); Assert.AreEqual(saa.State, SecurityAssociation.SAState.Waiting, "saa should be waiting! " + i); } // create ~250 valid SAs for one guy... for (int i = 500; i < 750; i++) { SecurityOverlord so = CreateValidSO("valid" + i); MockSender msa = new MockSender(null, null, so, 0); MockSender msb = new MockSender(msa, null, so0, 0); msa.ReturnPath = msb; SecurityAssociation sab = so.CreateSecurityAssociation(msb, true); Assert.AreEqual(sab.State, SecurityAssociation.SAState.Active, "sab should be active! " + i); SecurityAssociation saa = so0.CreateSecurityAssociation(msa, true); Assert.AreEqual(saa.State, SecurityAssociation.SAState.Active, "saa should be active! " + i); MockDataHandler mdha = new MockDataHandler(); saa.Subscribe(mdha, null); MockDataHandler mdhb = new MockDataHandler(); sab.Subscribe(mdhb, null); Random rand = new Random(); byte[] b = new byte[128]; rand.NextBytes(b); MemBlock mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdhb Contains " + i); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdha Contains " + i); } Random randr = new Random(); byte[] br = new byte[128]; randr.NextBytes(br); MemBlock mbr = MemBlock.Reference(br); foreach (Dictionary <ISender, SecurityAssociation> sender_to_sa in so0.SPI.Values) { foreach (SecurityAssociation sa in sender_to_sa.Values) { sa.Send(mbr); } } Thread.Sleep(SecurityAssociation.TIMEOUT * 5); so0.SAGarbageCollect(); Assert.AreEqual(500, so0.SACount, "Count!"); so0.SAGarbageCollect(); Assert.AreEqual(0, so0.SACount, "Count!"); t.Dispose(); }
public void Test() { Timer t = new Timer(Timeout, null, 0, 500); PeerSecOverlord so0 = CreateValidSO("valid0"); PeerSecOverlord so1 = CreateValidSO("valid1"); //Test block one { MockSender ms0 = new MockSender(null, null, so1, 0); MockSender ms1 = new MockSender(ms0, null, so0, 0); ms0.ReturnPath = ms1; SecurityAssociation sa0 = so0.CreateSecurityAssociation(ms0); SecurityAssociation sa1 = so1.CreateSecurityAssociation(ms1); Assert.AreEqual(sa0.State, SecurityAssociation.States.Active, "sa0 should be active!"); Assert.AreEqual(sa1.State, SecurityAssociation.States.Active, "sa1 should be active!"); Assert.AreEqual(so0.SACount, 1, "so0 should contain just one!"); Assert.AreEqual(so1.SACount, 1, "so1 should contain just one!"); Random rand = new Random(); byte[] b = new byte[128]; rand.NextBytes(b); MemBlock mb = MemBlock.Reference(b); sa1.Send(mb); new SecurityPolicy(12345, "DES", "MD5"); sa0 = so0.CreateSecurityAssociation(ms0, 12345); Assert.AreEqual(sa0.State, SecurityAssociation.States.Active, "sa0 should be active!"); Assert.AreEqual(so0.SACount, 2, "so0 should contain just one!"); Assert.AreEqual(so1.SACount, 2, "so1 should contain just one!"); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sa0.Send(mb); } // create ~250 valid SAs for one guy... for (int i = 2; i < 250; i++) { PeerSecOverlord so = CreateValidSO("valid" + i); MockSender msa = new MockSender(null, null, so, 0); MockSender msb = new MockSender(msa, null, so0, 0); msa.ReturnPath = msb; SecurityAssociation sab = so.CreateSecurityAssociation(msb); Assert.AreEqual(sab.State, SecurityAssociation.States.Active, "sab should be active! " + i); SecurityAssociation saa = so0.CreateSecurityAssociation(msa); Assert.AreEqual(saa.State, SecurityAssociation.States.Active, "saa should be active! " + i); MockDataHandler mdha = new MockDataHandler(); saa.Subscribe(mdha, null); MockDataHandler mdhb = new MockDataHandler(); sab.Subscribe(mdhb, null); Random rand = new Random(); byte[] b = new byte[128]; rand.NextBytes(b); MemBlock mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdhb Contains " + i); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdha Contains " + i); } for (int i = 250; i < 500; i++) { int ij = (250 % 3) + 1; PeerSecOverlord so = CreateInvalidSO("valid" + i, ij); MockSender msa = new MockSender(null, null, so, 0); MockSender msb = new MockSender(msa, null, so0, 0); msa.ReturnPath = msb; SecurityAssociation sab = so.CreateSecurityAssociation(msb); SecurityAssociation saa = so0.CreateSecurityAssociation(msa); Assert.AreEqual(sab.State, SecurityAssociation.States.Waiting, "sab should be waiting! " + i); Assert.AreEqual(saa.State, SecurityAssociation.States.Waiting, "saa should be waiting! " + i); } // create ~250 valid SAs for one guy... for (int i = 500; i < 750; i++) { PeerSecOverlord so = CreateValidSO("valid" + i); MockSender msa = new MockSender(null, null, so, 0); MockSender msb = new MockSender(msa, null, so0, 0); msa.ReturnPath = msb; SecurityAssociation sab = so.CreateSecurityAssociation(msb); Assert.AreEqual(sab.State, SecurityAssociation.States.Active, "sab should be active! " + i); SecurityAssociation saa = so0.CreateSecurityAssociation(msa); Assert.AreEqual(saa.State, SecurityAssociation.States.Active, "saa should be active! " + i); MockDataHandler mdha = new MockDataHandler(); saa.Subscribe(mdha, null); MockDataHandler mdhb = new MockDataHandler(); sab.Subscribe(mdhb, null); Random rand = new Random(); byte[] b = new byte[128]; rand.NextBytes(b); MemBlock mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdhb Contains " + i); b = new byte[128]; rand.NextBytes(b); mb = MemBlock.Reference(b); sab.Send(mb); Assert.IsTrue(mdha.Contains(mb), "mdha Contains " + i); } Random randr = new Random(); byte[] br = new byte[128]; randr.NextBytes(br); MemBlock mbr = MemBlock.Reference(br); // New logic requires that we call this first, to set all SAs to not // running, the following for loop sets all "Active" SAs back to _running // Thus keeping the original intent of this test. The new logic only // affects testing paths. so0.CheckSAs(DateTime.UtcNow); foreach (Dictionary <ISender, PeerSecAssociation> sender_to_sa in so0.SPI.Values) { foreach (SecurityAssociation sa in sender_to_sa.Values) { if (sa.State == SecurityAssociation.States.Active) { sa.Send(mbr); } } } so0.CheckSAs(DateTime.UtcNow); Assert.AreEqual(500, so0.SACount, "Count!"); so0.CheckSAs(DateTime.UtcNow); Assert.AreEqual(0, so0.SACount, "Count!"); t.Dispose(); }
public void SetUp() { buffer = new RingBuffer(); sender = new MockSender(); }
//-------------------------------------------------------------------------------------- public MockEvent_Test00(MockSender s) : base(s) { }