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); }
/// <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(); }
public void CommLayerTest_Constructor_NullParams() { // Create objects var commLayer = new CommLayer(null); // Check for empty CommHandler reference in Core Assert.AreEqual(commLayer.Server, null); }
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); }
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); }
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); }