blob: 1d04e72f7e5251c5d5850e8a21535883fdfc1730 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2021 the Eclipse BaSyx Authors
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
******************************************************************************/
package org.eclipse.basyx.testsuite.regression.vab.protocol.basyx;
import org.eclipse.basyx.vab.modelprovider.api.IModelProvider;
import org.eclipse.basyx.vab.protocol.basyx.server.BaSyxTCPServer;
import org.junit.rules.ExternalResource;
/**
* This class initializes a TCP Server and adds a provider to it. Note that this server can only provide one
* model per port and new servers have to be started for each model.
*
* @author pschorn, espen
*
*/
public class VABTCPServerResource extends ExternalResource {
private IModelProvider provider;
private BaSyxTCPServer<IModelProvider> server;
/**
* Constructor taking the provider of the requested server resource
*/
public VABTCPServerResource(IModelProvider provider) {
this.provider = provider;
}
@Override
protected void before() {
server = new BaSyxTCPServer<IModelProvider>(provider);
server.start();
}
@Override
protected void after() {
server.stop();
}
}