Beispiel #1
0
        public void channel_broadcast_has_messages_from_multiple_users()
        {
            IBackStore store = new BackStore();

            store.Subscribe("user-1", "channel-1");
            store.Subscribe("user-2", "channel-1");

            var ret1 = store.PushBroadcast("user-1", "channel-1", "broadcast message 1");
            var ret2 = store.PushBroadcast("user-2", "channel-1", "broadcast message 2");

            Assert.Contains(store.ChannelMessages("channel-1"), itm => itm.Id == ret1.Item2);
            Assert.Contains(store.ChannelMessages("channel-1"), itm => itm.Id == ret2.Item2);
        }
Beispiel #2
0
        public void channel_broadcasts_only_to_subbed_users()
        {
            IBackStore store = new BackStore();

            store.Subscribe("user-1", "channel-1");
            store.Subscribe("user-2", "channel-2");

            var ret = store.PushBroadcast("user-1", "channel-1", "broadcast message");

            Assert.Contains(store.UserMessages("user-1"), itm => itm.Id == ret.Item2);
            Assert.DoesNotContain(store.UserMessages("user-2"), itm => itm.Id == ret.Item2);
        }
Beispiel #3
0
        public void broadcast_creates_message_other_users_can_see()
        {
            IBackStore store = new BackStore();

            store.Subscribe("user-1", "channel-1");
            store.Subscribe("user-2", "channel-1");

            var ret = store.PushBroadcast("user-1", "channel-1", "broadcast message");

            Assert.Contains(store.UserMessages("user-1"), itm => itm.Id == ret.Item2);
            Assert.Contains(store.UserMessages("user-2"), itm => itm.Id == ret.Item2);
        }
Beispiel #4
0
        public void mismatched_broadcast_returns_NotSubscribed(string username_, string channel_)
        {
            IBackStore store = new BackStore();

            Assert.DoesNotContain(username_, store.Users);
            Assert.DoesNotContain(username_, store.ChannelUsers(channel_));

            var ret = store.PushBroadcast(username_, channel_, "broadcast message");

            Assert.DoesNotContain(username_, store.ChannelUsers(channel_));

            Assert.Equal(eOpStatus.NotSubScribed, ret.Item1.code);
        }
Beispiel #5
0
        public void broadcast_into_subbed_chan_returns_Ok(string username_, string channel_)
        {
            IBackStore store = new BackStore();

            Assert.DoesNotContain(username_, store.Users);
            Assert.DoesNotContain(username_, store.ChannelUsers(channel_));

            store.Subscribe(username_, channel_);
            Assert.Contains(username_, store.ChannelUsers(channel_));

            var ret = store.PushBroadcast(username_, channel_, "broadcast message");

            Assert.Equal(eOpStatus.Ok, ret.Item1.code);
        }