blob: d7d47b03bdf7430951104ca2e10914a235ad6d4a [file] [log] [blame]
package org.eclipse.basyx.regression.AASServer;
import static org.junit.Assert.assertEquals;
import org.eclipse.basyx.aas.manager.ConnectedAssetAdministrationShellManager;
import org.eclipse.basyx.aas.metamodel.api.IAssetAdministrationShell;
import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
import org.eclipse.basyx.aas.metamodel.map.descriptor.ModelUrn;
import org.eclipse.basyx.aas.registration.api.IAASRegistryService;
import org.eclipse.basyx.aas.registration.memory.InMemoryRegistry;
import org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier;
import org.eclipse.basyx.vab.protocol.api.IConnectorProvider;
import org.eclipse.basyx.vab.protocol.http.connector.HTTPConnectorProvider;
import org.junit.Before;
import org.junit.Test;
/**
* Suite for testing that the AAS Server component is set up correctly. The
* tests here can be used by the component test itself and the integration test
*
* @author espen
*
*/
public abstract class AASServerSuite {
protected IAASRegistryService aasRegistry;
protected ConnectedAssetAdministrationShellManager manager;
protected String aasId = "testId";
protected abstract String getURL();
@Before
public void setUp() {
// Create a dummy registry to test integration of XML AAS
aasRegistry = new InMemoryRegistry();
// Create ConnectedAASManager
IConnectorProvider connectorProvider = new HTTPConnectorProvider();
manager = new ConnectedAssetAdministrationShellManager(aasRegistry, connectorProvider);
}
@Test
public void testAddAAS() throws Exception {
AssetAdministrationShell shell = new AssetAdministrationShell();
IIdentifier identifier = new ModelUrn(aasId);
shell.setIdentification(identifier);
shell.setIdShort("aasIdShort");
manager.createAAS(shell, getURL());
IAssetAdministrationShell remote = manager.retrieveAAS(identifier);
assertEquals(shell.getIdShort(), remote.getIdShort());
}
}