public async Task sends() { using var hub = GetHub(); var client = new SMTPImpostorHubClient(); _ = Task.Run(async() => { await hub.ConnectAsync(client); }); await hub.SendMessageAsync(MESSAGE); Assert.AreEqual(MESSAGE_JSON, client.Sent); }
public void connects() { using var hub = GetHub(); IEnumerable <ISMTPImpostorHubClient> clients = null; using (hub.Clients.Subscribe(c => clients = c)) { var client = new SMTPImpostorHubClient(); Task.Run(async() => { await hub.ConnectAsync(client); }); Task.Delay(100).GetAwaiter().GetResult(); Assert.AreEqual(1, clients.Count()); } }
public void receives() { using var hub = GetHub(); SMTPImpostorHubMessage message = null; using (hub.Messages.Subscribe(m => message = m)) { var client = new SMTPImpostorHubClient(); _ = Task.Run(async() => { await hub.ConnectAsync(client); }); client.TriggerReceive(MESSAGE_JSON); Task.Delay(100).GetAwaiter().GetResult(); Assert.AreEqual(MESSAGE_JSON, _serialization.Serialize(message)); } }
public async Task sends_to_particular_client() { using var hub = GetHub(); var clientA = new SMTPImpostorHubClient(); var clientB = new SMTPImpostorHubClient(); _ = Task.Run(async() => { await hub.ConnectAsync(clientA); }); _ = Task.Run(async() => { await hub.ConnectAsync(clientB); }); await hub.SendMessageAsync(MESSAGE, new[] { clientA }); Assert.AreEqual(MESSAGE_JSON, clientA.Sent); Assert.AreEqual(null, clientB.Sent); }