blob: e00411a0a50d42315483f1e75bd344075e91cb28 [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.coder.json;
import org.eclipse.basyx.testsuite.regression.vab.modelprovider.SimpleVABElement;
import org.eclipse.basyx.testsuite.regression.vab.modelprovider.TestProvider;
import org.eclipse.basyx.testsuite.regression.vab.protocol.http.TestsuiteDirectory;
import org.eclipse.basyx.vab.coder.json.connector.JSONConnector;
import org.eclipse.basyx.vab.coder.json.provider.JSONProvider;
import org.eclipse.basyx.vab.manager.VABConnectionManager;
import org.eclipse.basyx.vab.modelprovider.api.IModelProvider;
import org.eclipse.basyx.vab.modelprovider.map.VABMapProvider;
import org.eclipse.basyx.vab.protocol.api.ConnectorProvider;
/**
* Test JSONConnector against JSONProvider
*
* @author pschorn
*
*/
public class TestJSONConnectorProviderIntegration extends TestProvider {
protected VABConnectionManager connManager = new VABConnectionManager(new TestsuiteDirectory(),
new ConnectorProvider() {
@Override
protected IModelProvider createProvider(String addr) {
// BACKEND
// Creates a new VABMapProvider which manages a data model as defined in
// SimpleVABElement.
VABMapProvider modelprovider = new VABMapProvider(new SimpleVABElement());
// We stack the JSONProvider on top of the model to handle serialization and exceptions
JSONProvider<VABMapProvider> provider = new JSONProvider<VABMapProvider>(modelprovider);
// FRONTEND
// We stack the JSONConnector on top of the JSONProvider to handle de-serialization and response
// verification
JSONConnector connector = new JSONConnector(
new IBasyxConnectorFacade<VABMapProvider>(provider));
return connector;
}
});
@Override
protected VABConnectionManager getConnectionManager() {
return connManager;
}
}