コード例 #1
0
  @Test
  public void testHandleChallengeRequests() throws Exception {
    S2C_CHALLENGE_Packet packet = mock(S2C_CHALLENGE_Packet.class);
    when(packet.getChallengeNumber()).thenReturn(1234);
    when(server.getReply()).thenReturn(packet);

    this.server.handleResponseForRequest(GameServer.REQUEST_CHALLENGE);

    assertEquals(1234, this.server.challengeNumber);
    verify(this.server).sendRequest(any(A2S_PLAYER_Packet.class));
  }
コード例 #2
0
  @Test
  public void testHandleRulesRequests() throws Exception {
    S2A_RULES_Packet packet = mock(S2A_RULES_Packet.class);
    HashMap<String, String> rulesMap = new HashMap<String, String>();
    rulesMap.put("test", "test");
    when(packet.getRulesHash()).thenReturn(rulesMap);
    when(server.getReply()).thenReturn(packet);

    this.server.handleResponseForRequest(GameServer.REQUEST_RULES);

    assertEquals("test", this.server.rulesHash.get("test"));
    verify(this.server).sendRequest(any(A2S_RULES_Packet.class));
  }
コード例 #3
0
  @Test
  public void testHandleInfoRequests() throws Exception {
    S2A_INFO2_Packet packet = mock(S2A_INFO2_Packet.class);
    HashMap<String, Object> infoMap = new HashMap<String, Object>();
    infoMap.put("test", "test");
    when(packet.getInfo()).thenReturn(infoMap);
    when(server.getReply()).thenReturn(packet);

    this.server.handleResponseForRequest(GameServer.REQUEST_INFO);

    assertEquals("test", this.server.serverInfo.get("test"));
    verify(this.server).sendRequest(any(A2S_INFO_Packet.class));
  }
コード例 #4
0
  @Test
  public void testHandlePlayerRequests() throws Exception {
    SteamPlayer player = mock(SteamPlayer.class);
    S2A_PLAYER_Packet packet = mock(S2A_PLAYER_Packet.class);
    HashMap<String, SteamPlayer> playerMap = new HashMap<String, SteamPlayer>();
    playerMap.put("test", player);
    when(packet.getPlayerHash()).thenReturn(playerMap);
    when(server.getReply()).thenReturn(packet);

    this.server.handleResponseForRequest(GameServer.REQUEST_PLAYER);

    // Asserting null because we do not populate our list of players
    // from S2A Player Packets at the moment because it seems like Rust game servers
    // do not implement the ability to return valid data from those packets
    // Instead player data is fully retrieved from the RCON status command, instead
    // of a mixture of that command plus the S2A Player Packet
    assertNull(this.server.playerHash);
    verify(this.server).sendRequest(any(A2S_PLAYER_Packet.class));
  }