package org.peerbox.misc; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.UUID; import org.hive2hive.core.api.H2HNode; import org.hive2hive.core.api.configs.FileConfiguration; import org.hive2hive.core.api.configs.NetworkConfiguration; import org.hive2hive.core.api.interfaces.IH2HNode; import org.hive2hive.core.api.interfaces.INetworkConfiguration; import org.hive2hive.core.exceptions.NoPeerConnectionException; import org.hive2hive.core.security.UserCredentials; import org.hive2hive.core.utils.helper.TestFileAgent; import org.hive2hive.processframework.exceptions.InvalidProcessStateException; import org.hive2hive.processframework.exceptions.ProcessExecutionException; import org.junit.Test; import org.peerbox.BaseJUnitTest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class LoginVersionFork extends BaseJUnitTest { private static final Logger LOG = LoggerFactory.getLogger(LoginVersionFork.class); private UserCredentials credentials = new UserCredentials("username", "password!", "pin123"); @Test public void testLogin() throws UnknownHostException { boolean success = false; // initial node INetworkConfiguration netConfigInitial = NetworkConfiguration.createInitial(); IH2HNode initialNode = H2HNode.createNode(FileConfiguration.createDefault()); success = initialNode.connect(netConfigInitial); assertTrue(success); // register and login try { initialNode.getUserManager() .createRegisterProcess(credentials).execute(); initialNode.getUserManager() .createLoginProcess(credentials, new TestFileAgent()).execute(); } catch (InvalidProcessStateException | ProcessExecutionException | NoPeerConnectionException e) { LOG.warn("Exception: {}", e.getMessage(), e); fail("Exception: " + e.getMessage()); } // connect 2nd node to initial node on localhost InetAddress address = InetAddress.getByName("localhost"); INetworkConfiguration netConfig = NetworkConfiguration.create(UUID.randomUUID().toString(), address); IH2HNode peerNode = H2HNode.createNode(FileConfiguration.createDefault()); success = peerNode.connect(netConfig); assertTrue(success); // login // register and login try { initialNode.getUserManager() .createLoginProcess(credentials, new TestFileAgent()).execute(); } catch (InvalidProcessStateException | ProcessExecutionException | NoPeerConnectionException e) { e.printStackTrace(); LOG.warn("Exception: {}", e.getMessage(), e); fail("Exception: " + e.getMessage()); } } }