Search in sources :

Example 1 with Node

use of games.strategy.net.Node in project triplea by triplea-game.

the class RemoteMessengerTest method setUp.

@BeforeEach
public void setUp() throws Exception {
    // simple set up for non networked testing
    final List<IConnectionChangeListener> connectionListeners = new CopyOnWriteArrayList<>();
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(final InvocationOnMock invocation) {
            connectionListeners.add(invocation.getArgument(0));
            return null;
        }
    }).when(serverMessenger).addConnectionChangeListener(any());
    doAnswer(new Answer<Void>() {

        @Override
        public Void answer(final InvocationOnMock invocation) {
            for (final IConnectionChangeListener listener : connectionListeners) {
                listener.connectionRemoved(invocation.getArgument(0));
            }
            return null;
        }
    }).when(serverMessenger).removeConnection(any());
    final Node dummyNode = new Node("dummy", InetAddress.getLocalHost(), 0);
    when(serverMessenger.getLocalNode()).thenReturn(dummyNode);
    when(serverMessenger.getServerNode()).thenReturn(dummyNode);
    when(serverMessenger.isServer()).thenReturn(true);
    remoteMessenger = new RemoteMessenger(new UnifiedMessenger(serverMessenger));
}
Also used : RemoteMessenger(games.strategy.engine.message.RemoteMessenger) IConnectionChangeListener(games.strategy.net.IConnectionChangeListener) InvocationOnMock(org.mockito.invocation.InvocationOnMock) INode(games.strategy.net.INode) Node(games.strategy.net.Node) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 2 with Node

use of games.strategy.net.Node in project triplea by triplea-game.

the class VaultTest method testLocal.

@Test
public void testLocal() throws Exception {
    final IServerMessenger messenger = mock(IServerMessenger.class);
    when(messenger.getLocalNode()).thenReturn(new Node("dummy", InetAddress.getLocalHost(), 0));
    final UnifiedMessenger unifiedMessenger = new UnifiedMessenger(messenger);
    final ChannelMessenger channelMessenger = new ChannelMessenger(unifiedMessenger);
    // RemoteMessenger remoteMessenger = new RemoteMessenger(unifiedMessenger);
    final Vault vault = new Vault(channelMessenger);
    final byte[] data = new byte[] { 0, 1, 2, 3, 4, 5 };
    final VaultID id = vault.lock(data);
    vault.unlock(id);
    assertArrayEquals(data, vault.get(id));
    vault.release(id);
}
Also used : UnifiedMessenger(games.strategy.engine.message.unifiedmessenger.UnifiedMessenger) Node(games.strategy.net.Node) IServerMessenger(games.strategy.net.IServerMessenger) ChannelMessenger(games.strategy.engine.message.ChannelMessenger) Test(org.junit.jupiter.api.Test)

Example 3 with Node

use of games.strategy.net.Node in project triplea by triplea-game.

the class LobbyGamePanel method getLobbyWatcherNodeForTableRow.

private INode getLobbyWatcherNodeForTableRow(final int selectedIndex) {
    final GameDescription description = gameTableModel.get(gameTable.convertRowIndexToModel(selectedIndex));
    final String hostedByName = description.getHostedBy().getName();
    return new Node((hostedByName.endsWith("_" + InGameLobbyWatcher.LOBBY_WATCHER_NAME) ? hostedByName : hostedByName + "_" + InGameLobbyWatcher.LOBBY_WATCHER_NAME), description.getHostedBy().getAddress(), description.getHostedBy().getPort());
}
Also used : INode(games.strategy.net.INode) Node(games.strategy.net.Node) GameDescription(games.strategy.engine.lobby.server.GameDescription)

Example 4 with Node

use of games.strategy.net.Node in project triplea by triplea-game.

the class ModeratorControllerIntegrationTest method testBoot.

@Test
public void testBoot() throws UnknownHostException {
    MessageContext.setSenderNodeForThread(adminNode);
    connectionChangeListener = new ConnectionChangeListener();
    final INode booted = new Node("foo", InetAddress.getByAddress(new byte[] { 1, 2, 3, 4 }), 0);
    doAnswer((Answer<Void>) invocation -> {
        connectionChangeListener.connectionRemoved(invocation.getArgument(0));
        return null;
    }).when(serverMessenger).removeConnection(booted);
    final INode dummyNode = new Node("dummy", InetAddress.getLocalHost(), 0);
    when(serverMessenger.getServerNode()).thenReturn(dummyNode);
    moderatorController.boot(booted);
    assertTrue(connectionChangeListener.getRemoved().contains(booted));
}
Also used : IConnectionChangeListener(games.strategy.net.IConnectionChangeListener) BeforeEach(org.junit.jupiter.api.BeforeEach) MessageContext(games.strategy.engine.message.MessageContext) INode(games.strategy.net.INode) Integration(games.strategy.test.Integration) Random(java.util.Random) Mockito.when(org.mockito.Mockito.when) UnknownHostException(java.net.UnknownHostException) MacFinder(games.strategy.net.MacFinder) Util(games.strategy.util.Util) ArrayList(java.util.ArrayList) InetAddress(java.net.InetAddress) Test(org.junit.jupiter.api.Test) HashedPassword(games.strategy.engine.lobby.server.db.HashedPassword) Answer(org.mockito.stubbing.Answer) List(java.util.List) Node(games.strategy.net.Node) IServerMessenger(games.strategy.net.IServerMessenger) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) Mockito.doAnswer(org.mockito.Mockito.doAnswer) DBUser(games.strategy.engine.lobby.server.userDB.DBUser) BCrypt(org.mindrot.jbcrypt.BCrypt) IConnectionChangeListener(games.strategy.net.IConnectionChangeListener) UserController(games.strategy.engine.lobby.server.db.UserController) Mockito.mock(org.mockito.Mockito.mock) INode(games.strategy.net.INode) INode(games.strategy.net.INode) Node(games.strategy.net.Node) Test(org.junit.jupiter.api.Test)

Example 5 with Node

use of games.strategy.net.Node in project triplea by triplea-game.

the class ModeratorControllerIntegrationTest method setUp.

@BeforeEach
public void setUp() throws UnknownHostException {
    moderatorController = new ModeratorController(serverMessenger, null);
    final String adminName = Util.createUniqueTimeStamp();
    final DBUser dbUser = new DBUser(new DBUser.UserName(adminName), new DBUser.UserEmail("n@n.n"), DBUser.Role.ADMIN);
    final UserController userController = new UserController();
    userController.createUser(dbUser, new HashedPassword(BCrypt.hashpw(adminName, BCrypt.gensalt())));
    userController.makeAdmin(dbUser);
    adminNode = new Node(adminName, InetAddress.getLocalHost(), 0);
    when(serverMessenger.getPlayerMac(adminName)).thenReturn(newHashedMacAddress());
}
Also used : INode(games.strategy.net.INode) Node(games.strategy.net.Node) DBUser(games.strategy.engine.lobby.server.userDB.DBUser) UserController(games.strategy.engine.lobby.server.db.UserController) HashedPassword(games.strategy.engine.lobby.server.db.HashedPassword) BeforeEach(org.junit.jupiter.api.BeforeEach)

Aggregations

Node (games.strategy.net.Node)9 INode (games.strategy.net.INode)8 IServerMessenger (games.strategy.net.IServerMessenger)3 BeforeEach (org.junit.jupiter.api.BeforeEach)3 Test (org.junit.jupiter.api.Test)3 HashedPassword (games.strategy.engine.lobby.server.db.HashedPassword)2 UserController (games.strategy.engine.lobby.server.db.UserController)2 DBUser (games.strategy.engine.lobby.server.userDB.DBUser)2 IConnectionChangeListener (games.strategy.net.IConnectionChangeListener)2 GameDescription (games.strategy.engine.lobby.server.GameDescription)1 ChannelMessenger (games.strategy.engine.message.ChannelMessenger)1 MessageContext (games.strategy.engine.message.MessageContext)1 RemoteMessenger (games.strategy.engine.message.RemoteMessenger)1 UnifiedMessenger (games.strategy.engine.message.unifiedmessenger.UnifiedMessenger)1 MacFinder (games.strategy.net.MacFinder)1 MessageHeader (games.strategy.net.MessageHeader)1 Messengers (games.strategy.net.Messengers)1 Integration (games.strategy.test.Integration)1 Util (games.strategy.util.Util)1 Externalizable (java.io.Externalizable)1