예제 #1
0
        public void TestPrefixMessageRaisesOnPrefix(string prefix, string uriString)
        {
            var           e             = new ManualResetEvent(false);
            var           wasCalled     = false;
            var           uri           = new Uri(uriString);
            var           msg           = String.Format("[1,\"{0}\",\"{1}\"]", prefix, uri);
            PrefixMessage prefixMessage = null;

            _wampCommsHandler.Start(config =>
            {
                config.OnPrefix = m =>
                {
                    e.Set();
                    prefixMessage = m;
                    wasCalled     = true;
                };
            });

            _connMock.Object.OnMessage(msg);
            e.WaitOne(1000);
            Assert.True(wasCalled);
            Assert.IsNotNull(prefixMessage);
            Assert.AreEqual(prefix, prefixMessage.Prefix);
            Assert.AreEqual(uri, prefixMessage.Uri);
        }
예제 #2
0
        public void TestAddRemovePrefix()
        {
            const string prefix = "calc";
            var          uri    = new Uri("http://example.com/simple/calc#");

            var msg = new PrefixMessage {
                Prefix = prefix, Uri = uri
            };

            _wampServer.Start(config => { });

            var connMock = _connections.First();

            connMock.Object.OnPrefix(msg);

            Assert.IsTrue(_wampServer.Prefixes.ContainsKey(connMock.Object));
            Assert.IsTrue(_wampServer.Prefixes[connMock.Object].ContainsKey(prefix));
            Assert.AreEqual(uri, _wampServer.Prefixes[connMock.Object][prefix]);

            connMock.Object.OnClose();

            Assert.IsFalse(_wampServer.Prefixes.ContainsKey(connMock.Object));
        }
예제 #3
0
 public void Init()
 {
     message = new PrefixMessage(curie, uri);
 }