Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
            }
        }
Ejemplo n.º 3
0
        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));
            }
        }
Ejemplo n.º 4
0
        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);
        }