Fix up client. (#815)

* Aoe Warnings Fix-Up

* Freeze Timers NPE Fix

* Slayer Chat Lookup NPE && Fixing up Access levels.

* Raids Thieving NPE Fix && Fixing up Access levels.

* Revert "Fix copy paste error"

This reverts commit 26c88101b682eb76b98a8a0d88fc8a47c9f104d3.

* Revert "Fix checkstyle"

This reverts commit abf7fec004148897585bc0389bb5e0420e3d03cb.

* Revert "Convert game thread events to singletons"

This reverts commit b33048d7ee0481b17c5849d2d862e75c91e5a36c.

* Various Fixes
This commit is contained in:
Ganom
2019-06-29 12:31:23 -04:00
committed by Kyleeld
parent d0591362d7
commit 701d809f78
120 changed files with 383 additions and 920 deletions

View File

@@ -93,14 +93,14 @@ public class AttackStylesPluginTest
when(client.getVar(VarPlayer.ATTACK_STYLE)).thenReturn(AttackStyle.ACCURATE.ordinal());
// verify that earning xp in a warned skill will display red text on the widget
attackPlugin.onVarbitChanged(VarbitChanged.INSTANCE);
attackPlugin.onVarbitChanged(new VarbitChanged());
assertTrue(attackPlugin.isWarnedSkillSelected());
// Switch to attack style that doesn't give attack xp
when(client.getVar(VarPlayer.ATTACK_STYLE)).thenReturn(AttackStyle.AGGRESSIVE.ordinal());
// Verify the widget will now display white text
attackPlugin.onVarbitChanged(VarbitChanged.INSTANCE);
attackPlugin.onVarbitChanged(new VarbitChanged());
warnedSkills = attackPlugin.getWarnedSkills();
assertTrue(warnedSkills.contains(Skill.ATTACK));
assertFalse(attackPlugin.isWarnedSkillSelected());
@@ -129,7 +129,7 @@ public class AttackStylesPluginTest
// equip type_4 weapon type on player
when(client.getVar(Varbits.EQUIPPED_WEAPON_TYPE)).thenReturn(WeaponType.TYPE_4.ordinal());
attackPlugin.onVarbitChanged(VarbitChanged.INSTANCE);
attackPlugin.onVarbitChanged(new VarbitChanged());
// Verify there is a warned skill
Set<Skill> warnedSkills = attackPlugin.getWarnedSkills();

View File

@@ -71,7 +71,7 @@ public class CerberusPluginTest
mockNpc(new LocalPoint(2, 5)),
mockNpc(new LocalPoint(1, 5))
));
cerberusPlugin.onGameTick(GameTick.INSTANCE);
cerberusPlugin.onGameTick(new GameTick());
// Expected sort is by lowest y first, then by lowest x
assertEquals(ghosts.get(0).getLocalLocation(), new LocalPoint(0, 0));

View File

@@ -83,7 +83,7 @@ public class ChatNotificationsPluginTest
MessageNode messageNode = mock(MessageNode.class);
when(messageNode.getValue()).thenReturn("Deathbeam, Deathbeam OSRS");
ChatMessage chatMessage = ChatMessage.INSTANCE;
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PUBLICCHAT);
chatMessage.setMessageNode(messageNode);

View File

@@ -118,7 +118,7 @@ public class CookingPluginTest
when(config.fermentTimer()).thenReturn(true);
when(client.getLocalPlayer()).thenReturn(player);
SpotAnimationChanged graphicChanged = SpotAnimationChanged.INSTANCE;
SpotAnimationChanged graphicChanged = new SpotAnimationChanged();
graphicChanged.setActor(player);
cookingPlugin.onSpotAnimationChanged(graphicChanged);

View File

@@ -73,7 +73,7 @@ public class EmojiPluginTest
when(client.createIndexedSprite()).thenReturn(mock(IndexedSprite.class));
// Trip emoji loading
GameStateChanged gameStateChanged = GameStateChanged.INSTANCE;
GameStateChanged gameStateChanged = new GameStateChanged();
gameStateChanged.setGameState(GameState.LOGGED_IN);
emojiPlugin.onGameStateChanged(gameStateChanged);
@@ -81,7 +81,7 @@ public class EmojiPluginTest
// With chat recolor, message may be wrapped in col tags
when(messageNode.getValue()).thenReturn("<col=ff0000>:) :) :)</col>");
ChatMessage chatMessage = ChatMessage.INSTANCE;
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PUBLICCHAT);
chatMessage.setMessageNode(messageNode);
@@ -98,14 +98,14 @@ public class EmojiPluginTest
when(client.createIndexedSprite()).thenReturn(mock(IndexedSprite.class));
// Trip emoji loading
GameStateChanged gameStateChanged = GameStateChanged.INSTANCE;
GameStateChanged gameStateChanged = new GameStateChanged();
gameStateChanged.setGameState(GameState.LOGGED_IN);
emojiPlugin.onGameStateChanged(gameStateChanged);
MessageNode messageNode = mock(MessageNode.class);
when(messageNode.getValue()).thenReturn("<gt>:D<lt>");
ChatMessage chatMessage = ChatMessage.INSTANCE;
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PUBLICCHAT);
chatMessage.setMessageNode(messageNode);

View File

@@ -132,13 +132,13 @@ public class IdleNotifierPluginTest
public void checkAnimationIdle()
{
when(player.getAnimation()).thenReturn(AnimationID.WOODCUTTING_BRONZE);
AnimationChanged animationChanged = AnimationChanged.INSTANCE;
AnimationChanged animationChanged = new AnimationChanged();
animationChanged.setActor(player);
plugin.onAnimationChanged(animationChanged);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
when(player.getAnimation()).thenReturn(AnimationID.IDLE);
plugin.onAnimationChanged(animationChanged);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
verify(notifier).notify("[" + PLAYER_NAME + "] is now idle!");
}
@@ -146,16 +146,16 @@ public class IdleNotifierPluginTest
public void checkAnimationReset()
{
when(player.getAnimation()).thenReturn(AnimationID.WOODCUTTING_BRONZE);
AnimationChanged animationChanged = AnimationChanged.INSTANCE;
AnimationChanged animationChanged = new AnimationChanged();
animationChanged.setActor(player);
plugin.onAnimationChanged(animationChanged);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
when(player.getAnimation()).thenReturn(AnimationID.LOOKING_INTO);
plugin.onAnimationChanged(animationChanged);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
when(player.getAnimation()).thenReturn(AnimationID.IDLE);
plugin.onAnimationChanged(animationChanged);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
verify(notifier, times(0)).notify(any());
}
@@ -163,14 +163,14 @@ public class IdleNotifierPluginTest
public void checkAnimationLogout()
{
when(player.getAnimation()).thenReturn(AnimationID.WOODCUTTING_BRONZE);
AnimationChanged animationChanged = AnimationChanged.INSTANCE;
AnimationChanged animationChanged = new AnimationChanged();
animationChanged.setActor(player);
plugin.onAnimationChanged(animationChanged);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
// Logout
when(client.getGameState()).thenReturn(GameState.LOGIN_SCREEN);
GameStateChanged gameStateChanged = GameStateChanged.INSTANCE;
GameStateChanged gameStateChanged = new GameStateChanged();
gameStateChanged.setGameState(GameState.LOGIN_SCREEN);
plugin.onGameStateChanged(gameStateChanged);
@@ -182,7 +182,7 @@ public class IdleNotifierPluginTest
// Tick
when(player.getAnimation()).thenReturn(AnimationID.IDLE);
plugin.onAnimationChanged(animationChanged);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
verify(notifier, times(0)).notify(any());
}
@@ -190,16 +190,11 @@ public class IdleNotifierPluginTest
public void checkCombatIdle()
{
when(player.getInteracting()).thenReturn(monster);
InteractingChanged event = InteractingChanged.INSTANCE;
event.setSource(player);
event.setTarget(monster);
plugin.onInteractingChanged(event);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onInteractingChanged(new InteractingChanged(player, monster));
plugin.onGameTick(new GameTick());
when(player.getInteracting()).thenReturn(null);
event.setSource(player);
event.setTarget(null);
plugin.onInteractingChanged(event);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onInteractingChanged(new InteractingChanged(player, null));
plugin.onGameTick(new GameTick());
verify(notifier).notify("[" + PLAYER_NAME + "] is now out of combat!");
}
@@ -207,37 +202,27 @@ public class IdleNotifierPluginTest
public void checkCombatReset()
{
when(player.getInteracting()).thenReturn(monster);
InteractingChanged event = InteractingChanged.INSTANCE;
event.setSource(player);
event.setTarget(monster);
plugin.onInteractingChanged(event);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onInteractingChanged(new InteractingChanged(player, monster));
plugin.onGameTick(new GameTick());
when(player.getInteracting()).thenReturn(randomEvent);
event.setSource(player);
event.setTarget(randomEvent);
plugin.onInteractingChanged(event);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onInteractingChanged(new InteractingChanged(player, randomEvent));
plugin.onGameTick(new GameTick());
when(player.getInteracting()).thenReturn(null);
event.setSource(player);
event.setTarget(null);
plugin.onInteractingChanged(event);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onInteractingChanged(new InteractingChanged(player, null));
plugin.onGameTick(new GameTick());
verify(notifier, times(0)).notify(any());
}
@Test
public void checkCombatLogout()
{
InteractingChanged event = InteractingChanged.INSTANCE;
event.setSource(player);
event.setTarget(monster);
plugin.onInteractingChanged(event);
plugin.onInteractingChanged(new InteractingChanged(player, monster));
when(player.getInteracting()).thenReturn(monster);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
// Logout
when(client.getGameState()).thenReturn(GameState.LOGIN_SCREEN);
GameStateChanged gameStateChanged = GameStateChanged.INSTANCE;
GameStateChanged gameStateChanged = new GameStateChanged();
gameStateChanged.setGameState(GameState.LOGIN_SCREEN);
plugin.onGameStateChanged(gameStateChanged);
@@ -248,10 +233,8 @@ public class IdleNotifierPluginTest
// Tick
when(player.getInteracting()).thenReturn(null);
event.setSource(player);
event.setTarget(null);
plugin.onInteractingChanged(event);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onInteractingChanged(new InteractingChanged(player, null));
plugin.onGameTick(new GameTick());
verify(notifier, times(0)).notify(any());
}
@@ -262,11 +245,11 @@ public class IdleNotifierPluginTest
when(client.getMouseIdleTicks()).thenReturn(80_000);
// But player is being damaged (is in combat)
final HitsplatApplied hitsplatApplied = HitsplatApplied.INSTANCE;
final HitsplatApplied hitsplatApplied = new HitsplatApplied();
hitsplatApplied.setActor(player);
hitsplatApplied.setHitsplat(new Hitsplat(Hitsplat.HitsplatType.DAMAGE, 0, 0));
plugin.onHitsplatApplied(hitsplatApplied);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
verify(notifier, times(0)).notify(any());
}
@@ -279,8 +262,8 @@ public class IdleNotifierPluginTest
when(client.getKeyboardIdleTicks()).thenReturn(80_000);
when(client.getMouseIdleTicks()).thenReturn(14_500);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
plugin.onGameTick(new GameTick());
verify(notifier, times(1)).notify(any());
}
@@ -290,11 +273,11 @@ public class IdleNotifierPluginTest
when(config.getSpecEnergyThreshold()).thenReturn(50);
when(client.getVar(Matchers.eq(VarPlayer.SPECIAL_ATTACK_PERCENT))).thenReturn(400); // 40%
plugin.onGameTick(GameTick.INSTANCE); // once to set lastSpecEnergy to 400
plugin.onGameTick(new GameTick()); // once to set lastSpecEnergy to 400
verify(notifier, never()).notify(any());
when(client.getVar(Matchers.eq(VarPlayer.SPECIAL_ATTACK_PERCENT))).thenReturn(500); // 50%
plugin.onGameTick(GameTick.INSTANCE);
plugin.onGameTick(new GameTick());
verify(notifier).notify(Matchers.eq("[" + PLAYER_NAME + "] has restored spec energy!"));
}
}

View File

@@ -115,13 +115,13 @@ public class MotherlodePluginTest
public void testOreCounter()
{
// set inMlm
GameStateChanged gameStateChanged = GameStateChanged.INSTANCE;
GameStateChanged gameStateChanged = new GameStateChanged();
gameStateChanged.setGameState(GameState.LOGGED_IN);
motherlodePlugin.onGameStateChanged(gameStateChanged);
// Initial sack count
when(client.getVar(Varbits.SACK_NUMBER)).thenReturn(42);
motherlodePlugin.onVarbitChanged(VarbitChanged.INSTANCE);
motherlodePlugin.onVarbitChanged(new VarbitChanged());
// Create before inventory
ItemContainer inventory = mock(ItemContainer.class);
@@ -140,7 +140,7 @@ public class MotherlodePluginTest
// Withdraw 20
when(client.getVar(Varbits.SACK_NUMBER)).thenReturn(22);
motherlodePlugin.onVarbitChanged(VarbitChanged.INSTANCE);
motherlodePlugin.onVarbitChanged(new VarbitChanged());
inventory = mock(ItemContainer.class);
// +1 rune, +4 nugget, +2 coal, +1 addy
@@ -162,9 +162,7 @@ public class MotherlodePluginTest
when(client.getItemContainer(InventoryID.INVENTORY)).thenReturn(inventory);
// Trigger comparison
ItemContainerChanged event = ItemContainerChanged.INSTANCE;
event.setItemContainer(inventory);
motherlodePlugin.onItemContainerChanged(event);
motherlodePlugin.onItemContainerChanged(new ItemContainerChanged(inventory));
verify(motherlodeSession).updateOreFound(ItemID.RUNITE_ORE, 1);
verify(motherlodeSession).updateOreFound(ItemID.GOLDEN_NUGGET, 4);

View File

@@ -175,11 +175,11 @@ public class ScreenshotPluginTest
assertEquals("Hitpoints(99)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL));
WidgetLoaded event = WidgetLoaded.INSTANCE;
WidgetLoaded event = new WidgetLoaded();
event.setGroupId(LEVEL_UP_GROUP_ID);
screenshotPlugin.onWidgetLoaded(event);
GameTick tick = GameTick.INSTANCE;
GameTick tick = new GameTick();
screenshotPlugin.onGameTick(tick);
verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class));
@@ -198,11 +198,11 @@ public class ScreenshotPluginTest
assertEquals("Firemaking(9)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL));
WidgetLoaded event = WidgetLoaded.INSTANCE;
WidgetLoaded event = new WidgetLoaded();
event.setGroupId(LEVEL_UP_GROUP_ID);
screenshotPlugin.onWidgetLoaded(event);
GameTick tick = GameTick.INSTANCE;
GameTick tick = new GameTick();
screenshotPlugin.onGameTick(tick);
verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class));
@@ -221,11 +221,11 @@ public class ScreenshotPluginTest
assertEquals("Attack(70)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_LEVEL));
WidgetLoaded event = WidgetLoaded.INSTANCE;
WidgetLoaded event = new WidgetLoaded();
event.setGroupId(LEVEL_UP_GROUP_ID);
screenshotPlugin.onWidgetLoaded(event);
GameTick tick = GameTick.INSTANCE;
GameTick tick = new GameTick();
screenshotPlugin.onGameTick(tick);
verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class));
@@ -244,11 +244,11 @@ public class ScreenshotPluginTest
assertEquals("Hunter(2)", screenshotPlugin.parseLevelUpWidget(DIALOG_SPRITE_TEXT));
WidgetLoaded event = WidgetLoaded.INSTANCE;
WidgetLoaded event = new WidgetLoaded();
event.setGroupId(DIALOG_SPRITE_GROUP_ID);
screenshotPlugin.onWidgetLoaded(event);
GameTick tick = GameTick.INSTANCE;
GameTick tick = new GameTick();
screenshotPlugin.onGameTick(tick);
verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class));

View File

@@ -155,7 +155,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_NEW);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("Suqahs", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(231, slayerPlugin.getCurrentTask().getAmount());
@@ -167,7 +167,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_NEW_KONAR);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("Wyrms", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(147, slayerPlugin.getCurrentTask().getAmount());
@@ -180,7 +180,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_NEW_KONAR_2);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("Hellhounds", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(142, slayerPlugin.getCurrentTask().getAmount());
@@ -193,7 +193,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_NEW_KONAR_3);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("Trolls", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(135, slayerPlugin.getCurrentTask().getAmount());
@@ -206,7 +206,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_NEW_FIRST);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("goblins", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(17, slayerPlugin.getCurrentTask().getAmount());
@@ -218,7 +218,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_NEW_NPC_CONTACT);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("Suqahs", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(211, slayerPlugin.getCurrentTask().getAmount());
@@ -230,7 +230,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_BOSS_NEW);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("Vet'ion", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(3, slayerPlugin.getCurrentTask().getAmount());
@@ -243,7 +243,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_BOSS_NEW_THE);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("Chaos Elemental", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(3, slayerPlugin.getCurrentTask().getAmount());
@@ -296,7 +296,7 @@ public class SlayerPluginTest
Widget npcDialog = mock(Widget.class);
when(npcDialog.getText()).thenReturn(TASK_EXISTING);
when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog);
slayerPlugin.onGameTick(GameTick.INSTANCE);
slayerPlugin.onGameTick(new GameTick());
assertEquals("suqahs", slayerPlugin.getCurrentTask().getTaskName());
assertEquals(222, slayerPlugin.getCurrentTask().getAmount());
@@ -331,7 +331,7 @@ public class SlayerPluginTest
ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Perterter", TASK_POINTS, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
VarbitChanged varbitChanged = VarbitChanged.INSTANCE;
VarbitChanged varbitChanged = new VarbitChanged();
slayerPlugin.onVarbitChanged(varbitChanged);
assertEquals(9, slayerPlugin.getStreak());
@@ -347,7 +347,7 @@ public class SlayerPluginTest
ChatMessage chatMessageEvent = new ChatMessage(null, GAMEMESSAGE, "Perterter", TASK_LARGE_STREAK, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
VarbitChanged varbitChanged = VarbitChanged.INSTANCE;
VarbitChanged varbitChanged = new VarbitChanged();
slayerPlugin.onVarbitChanged(varbitChanged);
assertEquals(2465, slayerPlugin.getStreak());
@@ -408,7 +408,7 @@ public class SlayerPluginTest
when(slayerConfig.taskCommand()).thenReturn(true);
when(chatClient.getTask(anyString())).thenReturn(task);
ChatMessage setMessage = ChatMessage.INSTANCE;
ChatMessage setMessage = new ChatMessage();
setMessage.setType(ChatMessageType.PUBLICCHAT);
setMessage.setName("Adam");
setMessage.setMessageNode(mock(MessageNode.class));
@@ -430,7 +430,7 @@ public class SlayerPluginTest
when(slayerConfig.taskCommand()).thenReturn(true);
when(chatClient.getTask(anyString())).thenReturn(task);
ChatMessage chatMessage = ChatMessage.INSTANCE;
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PUBLICCHAT);
chatMessage.setName("Adam");
chatMessage.setMessageNode(mock(MessageNode.class));