Inheritance: core.Server.ICommLayer
コード例 #1
0
ファイル: Global.asax.cs プロジェクト: jpere/gswat
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var commLayer = new CommLayer();
            var commHandler = new CommHandler(commLayer);

            /*
            var blah = RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString");
            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(blah);
            GlobalStaticVars.StaticRole = new Core(commHandler);
            ChatMessage msg = new ChatMessage(new DateTime(2012, 12, 18), "Llamautomatic", "This is a test message, generated at server-mock level");
            mockServer.Raise(m => m.MessageSent += null, new ChatEventArgs(msg));
            msg = new ChatMessage(new DateTime(2013, 11, 19), "Webs", "This is another test message");
            mockServer.Raise(m => m.MessageSent += null, new ChatEventArgs(msg));
             */
            commLayer.Connect(Properties.Settings.Default.ServerIP,
                                Properties.Settings.Default.ServerPort,
                                Properties.Settings.Default.ServerPassword);

            GlobalStaticVars.StaticRole = new Core(commHandler);
        }
コード例 #2
0
ファイル: Core.cs プロジェクト: sichinumi/gswat
        /// <summary>
        ///     Constructs an instance of Core
        ///     Registers handlers to catch ChatMessage events
        /// </summary>
        public Core(IPermissionsUtility permsUtility)
        {
            CommLayer = new CommLayer();
            CommLayer.MessageEvents["player.onChat"] = MessageHandler;

            MessageQueue = new Queue<ChatMessageEntity>();
            ServerMessages = new Dictionary<string, DateTime>();

            // Connect to storage
            var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString"));
            var tableClient = storageAccount.CreateCloudTableClient();

            // Create message table if it does not exist
            MessageTable = tableClient.GetTableReference("chatMessages");
            MessageTable.CreateIfNotExists();

            // Create cred table if it does not exist
            CredTable = tableClient.GetTableReference("serverSettings");
            CredTable.CreateIfNotExists();

            // Create role manager if it does not exist
            PermissionsUtil = permsUtility;
            PermissionsUtil.LoadPermissionsFromConfig();

            // Initialize the log utility
            LogUtility.Init();

            // Attempt to load existing connection.
            LoadExistingConnection();
        }
コード例 #3
0
ファイル: CommLayerTest.cs プロジェクト: wrusse3/gswat
        public void CommLayerTest_Constructor_NullParams()
        {
            // Create objects
            var commLayer = new CommLayer(null);

            // Check for empty CommHandler reference in Core
            Assert.AreEqual(commLayer.Server, null);
        }
コード例 #4
0
ファイル: CommLayerTest.cs プロジェクト: jpere/gswat
        public void CommLayerTest_Live_Server()
        {
            // Create objects
            var commLayer = new CommLayer();

            //This test succeeds if it logs in, any actual chat messages are only for
            //ad-hoc debugging.
            commLayer.Connect(Settings.Default.ServerIP,
                              Settings.Default.ServerPort,
                              Settings.Default.ServerPassword);
        }
コード例 #5
0
ファイル: FullCoreTest.cs プロジェクト: wrusse3/gswat
 public void FullCoreTest_SendMessage()
 {
     var mockServer = new Mock<IServerMock>();
     var commLayer = new CommLayer(mockServer.Object);
     var commHandler = new CommHandler(commLayer);
     Core c = new Core(commHandler);
     ChatMessage msg = new ChatMessage(new DateTime(2012, 12, 18), "Llamautomatic", "This is a test message");
     mockServer.Raise(m => m.MessageSent += null, new ChatEventArgs(msg));
     Queue<ChatMessage> msgList = c.GetMessageQueue();
     ChatMessage msgResult = msgList.Dequeue();
     Assert.AreEqual(msgResult.Speaker, msg.Speaker);
     Assert.AreEqual(msgResult.Timestamp, msg.Timestamp);
     Assert.AreEqual(msgResult.Text, msg.Text);
 }
コード例 #6
0
ファイル: CommLayerTest.cs プロジェクト: wrusse3/gswat
        public void CommLayerTest_Constructor_ValidParams()
        {
            // Create objects
            var mockServer = new Mock<IServerMock>();
            var commLayer = new CommLayer(mockServer.Object);

            // Subscribe to CommHandler
            bool raised = false;
            commLayer.CommHandler += delegate { raised = true; };

            // Raise MessageSent event in Server
            ChatMessage msg = new ChatMessage(new DateTime(2012, 12, 18), "Llamautomatic", "This is a test message");
            mockServer.Raise(m => m.MessageSent += null, new ChatEventArgs(msg));

            // Check if CommHandler was successfully raised in response
            Assert.IsTrue(raised);
        }