Search in sources :

Example 16 with Submodel

use of io.adminshell.aas.v3.model.Submodel in project FAAAST-Service by FraunhoferIOSB.

the class HttpEndpointIT method testSubmodelInterfaceGetSubmodelLevelCore.

@Test
public void testSubmodelInterfaceGetSubmodelLevelCore() throws IOException, DeserializationException, InterruptedException, URISyntaxException, SerializationException, MessageBusException {
    Submodel expected = DeepCopyHelper.deepCopy(environment.getSubmodels().get(2), Submodel.class);
    expected.getSubmodelElements().forEach(x -> {
        if (SubmodelElementCollection.class.isAssignableFrom(x.getClass())) {
            ((SubmodelElementCollection) x).getValues().clear();
        }
    });
    assertEvent(messageBus, ElementReadEventMessage.class, expected, LambdaExceptionHelper.wrap(x -> executeAndAssertSingleEntity(HttpMethod.GET, API_PATHS.submodelRepository().submodelInterface(expected).submodel(Level.CORE), StatusCode.SUCCESS, null, expected, Submodel.class)));
}
Also used : DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) Submodel(io.adminshell.aas.v3.model.Submodel) HttpHelper(de.fraunhofer.iosb.ilt.faaast.service.test.util.HttpHelper) SubmodelElement(io.adminshell.aas.v3.model.SubmodelElement) ElementReadEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.access.ElementReadEventMessage) HttpHelper.toHttpStatusCode(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.util.HttpHelper.toHttpStatusCode) ConceptDescription(io.adminshell.aas.v3.model.ConceptDescription) URISyntaxException(java.net.URISyntaxException) OutputModifier(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.OutputModifier) Service(de.fraunhofer.iosb.ilt.faaast.service.Service) SubmodelElementCollection(io.adminshell.aas.v3.model.SubmodelElementCollection) DefaultIdentifier(io.adminshell.aas.v3.model.impl.DefaultIdentifier) DefaultProperty(io.adminshell.aas.v3.model.impl.DefaultProperty) MessageBusInternalConfig(de.fraunhofer.iosb.ilt.faaast.service.messagebus.internal.MessageBusInternalConfig) ServerSocket(java.net.ServerSocket) StatusCode(de.fraunhofer.iosb.ilt.faaast.service.model.api.StatusCode) DeserializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.DeserializationException) DefaultIdentifierKeyValuePair(io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair) Map(java.util.Map) After(org.junit.After) FaaastConstants(de.fraunhofer.iosb.ilt.faaast.service.util.FaaastConstants) DefaultConceptDescription(io.adminshell.aas.v3.model.impl.DefaultConceptDescription) DefaultKey(io.adminshell.aas.v3.model.impl.DefaultKey) Level(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Level) HttpResponse(java.net.http.HttpResponse) IdentifierType(io.adminshell.aas.v3.model.IdentifierType) MessageBusHelper.assertEvent(de.fraunhofer.iosb.ilt.faaast.service.test.util.MessageBusHelper.assertEvent) EncodingHelper(de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper) ApiPaths(de.fraunhofer.iosb.ilt.faaast.service.test.util.ApiPaths) Reference(io.adminshell.aas.v3.model.Reference) ElementCreateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementCreateEventMessage) SerializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.SerializationException) Collectors(java.util.stream.Collectors) IdentifierKeyValuePair(io.adminshell.aas.v3.model.IdentifierKeyValuePair) EventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.EventMessage) List(java.util.List) CoreConfig(de.fraunhofer.iosb.ilt.faaast.service.config.CoreConfig) Path(de.fraunhofer.iosb.ilt.faaast.service.serialization.json.util.Path) BeforeClass(org.junit.BeforeClass) AASFull(de.fraunhofer.iosb.ilt.faaast.service.model.AASFull) AssetAdministrationShellEnvironment(io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment) JSONAssert(org.skyscreamer.jsonassert.JSONAssert) ServiceConfig(de.fraunhofer.iosb.ilt.faaast.service.config.ServiceConfig) AssetInformation(io.adminshell.aas.v3.model.AssetInformation) Identifier(io.adminshell.aas.v3.model.Identifier) ArrayList(java.util.ArrayList) DeepCopyHelper(de.fraunhofer.iosb.ilt.faaast.service.util.DeepCopyHelper) KeyType(io.adminshell.aas.v3.model.KeyType) LangString(io.adminshell.aas.v3.model.LangString) DefaultAssetAdministrationShell(io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell) ElementDeleteEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementDeleteEventMessage) Before(org.junit.Before) MessageBus(de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBus) HttpMethod(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.model.HttpMethod) MessageBusException(de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException) DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) HttpEndpointConfig(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpointConfig) IOException(java.io.IOException) Test(org.junit.Test) JsonSerializer(de.fraunhofer.iosb.ilt.faaast.service.dataformat.json.JsonSerializer) PersistenceInMemoryConfig(de.fraunhofer.iosb.ilt.faaast.service.persistence.memory.PersistenceInMemoryConfig) DefaultReference(io.adminshell.aas.v3.model.impl.DefaultReference) LambdaExceptionHelper(de.fraunhofer.iosb.ilt.faaast.service.util.LambdaExceptionHelper) ElementUpdateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementUpdateEventMessage) AssetAdministrationShell(io.adminshell.aas.v3.model.AssetAdministrationShell) Assert(org.junit.Assert) Content(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Content) Submodel(io.adminshell.aas.v3.model.Submodel) Test(org.junit.Test)

Example 17 with Submodel

use of io.adminshell.aas.v3.model.Submodel in project FAAAST-Service by FraunhoferIOSB.

the class HttpEndpointIT method testSubmodelInterfaceGetSubmodelLevelCoreContentPath.

@Test
public void testSubmodelInterfaceGetSubmodelLevelCoreContentPath() throws IOException, DeserializationException, InterruptedException, URISyntaxException, SerializationException, MessageBusException {
    Submodel submodel = DeepCopyHelper.deepCopy(environment.getSubmodels().get(2), Submodel.class);
    submodel.getSubmodelElements().forEach(x -> {
        if (SubmodelElementCollection.class.isAssignableFrom(x.getClass())) {
            ((SubmodelElementCollection) x).getValues().clear();
        }
    });
    Path expected = Path.builder().id("TestSubmodel3").child("ExampleRelationshipElement").child("ExampleAnnotatedRelationshipElement").child("ExampleOperation").child("ExampleCapability").child("ExampleBasicEvent").child(Path.builder().id("ExampleSubmodelCollectionOrdered").child("ExampleProperty").child("ExampleMultiLanguageProperty").child("ExampleRange").build()).child(Path.builder().id("ExampleSubmodelCollectionUnordered").child("ExampleBlob").child("ExampleFile").child("ExampleReferenceElement").build()).build();
    assertEvent(messageBus, ElementReadEventMessage.class, submodel, LambdaExceptionHelper.wrap(x -> {
        HttpResponse<String> response = HttpHelper.get(API_PATHS.submodelRepository().submodelInterface(submodel).submodel(Level.CORE, Content.PATH));
        Assert.assertEquals(toHttpStatusCode(StatusCode.SUCCESS), response.statusCode());
        JSONAssert.assertEquals(mapper.writeValueAsString(expected.asCorePath().getPaths()), response.body(), false);
    }));
}
Also used : DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) Submodel(io.adminshell.aas.v3.model.Submodel) Path(de.fraunhofer.iosb.ilt.faaast.service.serialization.json.util.Path) HttpHelper(de.fraunhofer.iosb.ilt.faaast.service.test.util.HttpHelper) SubmodelElement(io.adminshell.aas.v3.model.SubmodelElement) ElementReadEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.access.ElementReadEventMessage) HttpHelper.toHttpStatusCode(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.util.HttpHelper.toHttpStatusCode) ConceptDescription(io.adminshell.aas.v3.model.ConceptDescription) URISyntaxException(java.net.URISyntaxException) OutputModifier(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.OutputModifier) Service(de.fraunhofer.iosb.ilt.faaast.service.Service) SubmodelElementCollection(io.adminshell.aas.v3.model.SubmodelElementCollection) DefaultIdentifier(io.adminshell.aas.v3.model.impl.DefaultIdentifier) DefaultProperty(io.adminshell.aas.v3.model.impl.DefaultProperty) MessageBusInternalConfig(de.fraunhofer.iosb.ilt.faaast.service.messagebus.internal.MessageBusInternalConfig) ServerSocket(java.net.ServerSocket) StatusCode(de.fraunhofer.iosb.ilt.faaast.service.model.api.StatusCode) DeserializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.DeserializationException) DefaultIdentifierKeyValuePair(io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair) Map(java.util.Map) After(org.junit.After) FaaastConstants(de.fraunhofer.iosb.ilt.faaast.service.util.FaaastConstants) DefaultConceptDescription(io.adminshell.aas.v3.model.impl.DefaultConceptDescription) DefaultKey(io.adminshell.aas.v3.model.impl.DefaultKey) Level(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Level) HttpResponse(java.net.http.HttpResponse) IdentifierType(io.adminshell.aas.v3.model.IdentifierType) MessageBusHelper.assertEvent(de.fraunhofer.iosb.ilt.faaast.service.test.util.MessageBusHelper.assertEvent) EncodingHelper(de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper) ApiPaths(de.fraunhofer.iosb.ilt.faaast.service.test.util.ApiPaths) Reference(io.adminshell.aas.v3.model.Reference) ElementCreateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementCreateEventMessage) SerializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.SerializationException) Collectors(java.util.stream.Collectors) IdentifierKeyValuePair(io.adminshell.aas.v3.model.IdentifierKeyValuePair) EventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.EventMessage) List(java.util.List) CoreConfig(de.fraunhofer.iosb.ilt.faaast.service.config.CoreConfig) Path(de.fraunhofer.iosb.ilt.faaast.service.serialization.json.util.Path) BeforeClass(org.junit.BeforeClass) AASFull(de.fraunhofer.iosb.ilt.faaast.service.model.AASFull) AssetAdministrationShellEnvironment(io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment) JSONAssert(org.skyscreamer.jsonassert.JSONAssert) ServiceConfig(de.fraunhofer.iosb.ilt.faaast.service.config.ServiceConfig) AssetInformation(io.adminshell.aas.v3.model.AssetInformation) Identifier(io.adminshell.aas.v3.model.Identifier) ArrayList(java.util.ArrayList) DeepCopyHelper(de.fraunhofer.iosb.ilt.faaast.service.util.DeepCopyHelper) KeyType(io.adminshell.aas.v3.model.KeyType) LangString(io.adminshell.aas.v3.model.LangString) DefaultAssetAdministrationShell(io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell) ElementDeleteEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementDeleteEventMessage) Before(org.junit.Before) MessageBus(de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBus) HttpMethod(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.model.HttpMethod) MessageBusException(de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException) DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) HttpEndpointConfig(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpointConfig) IOException(java.io.IOException) Test(org.junit.Test) JsonSerializer(de.fraunhofer.iosb.ilt.faaast.service.dataformat.json.JsonSerializer) PersistenceInMemoryConfig(de.fraunhofer.iosb.ilt.faaast.service.persistence.memory.PersistenceInMemoryConfig) DefaultReference(io.adminshell.aas.v3.model.impl.DefaultReference) LambdaExceptionHelper(de.fraunhofer.iosb.ilt.faaast.service.util.LambdaExceptionHelper) ElementUpdateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementUpdateEventMessage) AssetAdministrationShell(io.adminshell.aas.v3.model.AssetAdministrationShell) Assert(org.junit.Assert) Content(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Content) Submodel(io.adminshell.aas.v3.model.Submodel) HttpResponse(java.net.http.HttpResponse) Test(org.junit.Test)

Example 18 with Submodel

use of io.adminshell.aas.v3.model.Submodel in project FAAAST-Service by FraunhoferIOSB.

the class HttpEndpointIT method testSubmodelRepositoryDeleteSubmodel.

@Test
public void testSubmodelRepositoryDeleteSubmodel() throws IOException, DeserializationException, InterruptedException, URISyntaxException, SerializationException, MessageBusException {
    Submodel expected = environment.getSubmodels().get(1);
    List<Submodel> before = HttpHelper.getWithMultipleResult(API_PATHS.submodelRepository().submodels(), Submodel.class);
    Assert.assertTrue(before.contains(expected));
    assertEvent(messageBus, ElementDeleteEventMessage.class, expected, LambdaExceptionHelper.wrap(x -> executeAndAssert(HttpMethod.DELETE, API_PATHS.submodelRepository().submodel(expected), StatusCode.SUCCESS)));
    List<Submodel> after = HttpHelper.getWithMultipleResult(API_PATHS.submodelRepository().submodels(), Submodel.class);
    Assert.assertFalse(after.contains(expected));
}
Also used : DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) Submodel(io.adminshell.aas.v3.model.Submodel) HttpHelper(de.fraunhofer.iosb.ilt.faaast.service.test.util.HttpHelper) SubmodelElement(io.adminshell.aas.v3.model.SubmodelElement) ElementReadEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.access.ElementReadEventMessage) HttpHelper.toHttpStatusCode(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.util.HttpHelper.toHttpStatusCode) ConceptDescription(io.adminshell.aas.v3.model.ConceptDescription) URISyntaxException(java.net.URISyntaxException) OutputModifier(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.OutputModifier) Service(de.fraunhofer.iosb.ilt.faaast.service.Service) SubmodelElementCollection(io.adminshell.aas.v3.model.SubmodelElementCollection) DefaultIdentifier(io.adminshell.aas.v3.model.impl.DefaultIdentifier) DefaultProperty(io.adminshell.aas.v3.model.impl.DefaultProperty) MessageBusInternalConfig(de.fraunhofer.iosb.ilt.faaast.service.messagebus.internal.MessageBusInternalConfig) ServerSocket(java.net.ServerSocket) StatusCode(de.fraunhofer.iosb.ilt.faaast.service.model.api.StatusCode) DeserializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.DeserializationException) DefaultIdentifierKeyValuePair(io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair) Map(java.util.Map) After(org.junit.After) FaaastConstants(de.fraunhofer.iosb.ilt.faaast.service.util.FaaastConstants) DefaultConceptDescription(io.adminshell.aas.v3.model.impl.DefaultConceptDescription) DefaultKey(io.adminshell.aas.v3.model.impl.DefaultKey) Level(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Level) HttpResponse(java.net.http.HttpResponse) IdentifierType(io.adminshell.aas.v3.model.IdentifierType) MessageBusHelper.assertEvent(de.fraunhofer.iosb.ilt.faaast.service.test.util.MessageBusHelper.assertEvent) EncodingHelper(de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper) ApiPaths(de.fraunhofer.iosb.ilt.faaast.service.test.util.ApiPaths) Reference(io.adminshell.aas.v3.model.Reference) ElementCreateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementCreateEventMessage) SerializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.SerializationException) Collectors(java.util.stream.Collectors) IdentifierKeyValuePair(io.adminshell.aas.v3.model.IdentifierKeyValuePair) EventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.EventMessage) List(java.util.List) CoreConfig(de.fraunhofer.iosb.ilt.faaast.service.config.CoreConfig) Path(de.fraunhofer.iosb.ilt.faaast.service.serialization.json.util.Path) BeforeClass(org.junit.BeforeClass) AASFull(de.fraunhofer.iosb.ilt.faaast.service.model.AASFull) AssetAdministrationShellEnvironment(io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment) JSONAssert(org.skyscreamer.jsonassert.JSONAssert) ServiceConfig(de.fraunhofer.iosb.ilt.faaast.service.config.ServiceConfig) AssetInformation(io.adminshell.aas.v3.model.AssetInformation) Identifier(io.adminshell.aas.v3.model.Identifier) ArrayList(java.util.ArrayList) DeepCopyHelper(de.fraunhofer.iosb.ilt.faaast.service.util.DeepCopyHelper) KeyType(io.adminshell.aas.v3.model.KeyType) LangString(io.adminshell.aas.v3.model.LangString) DefaultAssetAdministrationShell(io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell) ElementDeleteEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementDeleteEventMessage) Before(org.junit.Before) MessageBus(de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBus) HttpMethod(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.model.HttpMethod) MessageBusException(de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException) DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) HttpEndpointConfig(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpointConfig) IOException(java.io.IOException) Test(org.junit.Test) JsonSerializer(de.fraunhofer.iosb.ilt.faaast.service.dataformat.json.JsonSerializer) PersistenceInMemoryConfig(de.fraunhofer.iosb.ilt.faaast.service.persistence.memory.PersistenceInMemoryConfig) DefaultReference(io.adminshell.aas.v3.model.impl.DefaultReference) LambdaExceptionHelper(de.fraunhofer.iosb.ilt.faaast.service.util.LambdaExceptionHelper) ElementUpdateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementUpdateEventMessage) AssetAdministrationShell(io.adminshell.aas.v3.model.AssetAdministrationShell) Assert(org.junit.Assert) Content(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Content) Submodel(io.adminshell.aas.v3.model.Submodel) Test(org.junit.Test)

Example 19 with Submodel

use of io.adminshell.aas.v3.model.Submodel in project FAAAST-Service by FraunhoferIOSB.

the class HttpEndpointIT method testSubmodelRepositoryCreateSubmodel.

@Test
public void testSubmodelRepositoryCreateSubmodel() throws IOException, DeserializationException, InterruptedException, URISyntaxException, SerializationException, MessageBusException {
    Submodel expected = new DefaultSubmodel.Builder().identification(new DefaultIdentifier.Builder().idType(IdentifierType.IRI).identifier("newSubmodel").build()).build();
    assertEvent(messageBus, ElementCreateEventMessage.class, expected, LambdaExceptionHelper.wrap(x -> executeAndAssertSingleEntity(HttpMethod.POST, API_PATHS.submodelRepository().submodels(), StatusCode.SUCCESS_CREATED, expected, expected, Submodel.class)));
    Assert.assertTrue(HttpHelper.getWithMultipleResult(API_PATHS.submodelRepository().submodels(), Submodel.class).contains(expected));
}
Also used : DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) Submodel(io.adminshell.aas.v3.model.Submodel) HttpHelper(de.fraunhofer.iosb.ilt.faaast.service.test.util.HttpHelper) SubmodelElement(io.adminshell.aas.v3.model.SubmodelElement) ElementReadEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.access.ElementReadEventMessage) HttpHelper.toHttpStatusCode(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.util.HttpHelper.toHttpStatusCode) ConceptDescription(io.adminshell.aas.v3.model.ConceptDescription) URISyntaxException(java.net.URISyntaxException) OutputModifier(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.OutputModifier) Service(de.fraunhofer.iosb.ilt.faaast.service.Service) SubmodelElementCollection(io.adminshell.aas.v3.model.SubmodelElementCollection) DefaultIdentifier(io.adminshell.aas.v3.model.impl.DefaultIdentifier) DefaultProperty(io.adminshell.aas.v3.model.impl.DefaultProperty) MessageBusInternalConfig(de.fraunhofer.iosb.ilt.faaast.service.messagebus.internal.MessageBusInternalConfig) ServerSocket(java.net.ServerSocket) StatusCode(de.fraunhofer.iosb.ilt.faaast.service.model.api.StatusCode) DeserializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.DeserializationException) DefaultIdentifierKeyValuePair(io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair) Map(java.util.Map) After(org.junit.After) FaaastConstants(de.fraunhofer.iosb.ilt.faaast.service.util.FaaastConstants) DefaultConceptDescription(io.adminshell.aas.v3.model.impl.DefaultConceptDescription) DefaultKey(io.adminshell.aas.v3.model.impl.DefaultKey) Level(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Level) HttpResponse(java.net.http.HttpResponse) IdentifierType(io.adminshell.aas.v3.model.IdentifierType) MessageBusHelper.assertEvent(de.fraunhofer.iosb.ilt.faaast.service.test.util.MessageBusHelper.assertEvent) EncodingHelper(de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper) ApiPaths(de.fraunhofer.iosb.ilt.faaast.service.test.util.ApiPaths) Reference(io.adminshell.aas.v3.model.Reference) ElementCreateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementCreateEventMessage) SerializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.SerializationException) Collectors(java.util.stream.Collectors) IdentifierKeyValuePair(io.adminshell.aas.v3.model.IdentifierKeyValuePair) EventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.EventMessage) List(java.util.List) CoreConfig(de.fraunhofer.iosb.ilt.faaast.service.config.CoreConfig) Path(de.fraunhofer.iosb.ilt.faaast.service.serialization.json.util.Path) BeforeClass(org.junit.BeforeClass) AASFull(de.fraunhofer.iosb.ilt.faaast.service.model.AASFull) AssetAdministrationShellEnvironment(io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment) JSONAssert(org.skyscreamer.jsonassert.JSONAssert) ServiceConfig(de.fraunhofer.iosb.ilt.faaast.service.config.ServiceConfig) AssetInformation(io.adminshell.aas.v3.model.AssetInformation) Identifier(io.adminshell.aas.v3.model.Identifier) ArrayList(java.util.ArrayList) DeepCopyHelper(de.fraunhofer.iosb.ilt.faaast.service.util.DeepCopyHelper) KeyType(io.adminshell.aas.v3.model.KeyType) LangString(io.adminshell.aas.v3.model.LangString) DefaultAssetAdministrationShell(io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell) ElementDeleteEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementDeleteEventMessage) Before(org.junit.Before) MessageBus(de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBus) HttpMethod(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.model.HttpMethod) MessageBusException(de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException) DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) HttpEndpointConfig(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpointConfig) IOException(java.io.IOException) Test(org.junit.Test) JsonSerializer(de.fraunhofer.iosb.ilt.faaast.service.dataformat.json.JsonSerializer) PersistenceInMemoryConfig(de.fraunhofer.iosb.ilt.faaast.service.persistence.memory.PersistenceInMemoryConfig) DefaultReference(io.adminshell.aas.v3.model.impl.DefaultReference) LambdaExceptionHelper(de.fraunhofer.iosb.ilt.faaast.service.util.LambdaExceptionHelper) ElementUpdateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementUpdateEventMessage) AssetAdministrationShell(io.adminshell.aas.v3.model.AssetAdministrationShell) Assert(org.junit.Assert) Content(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Content) Submodel(io.adminshell.aas.v3.model.Submodel) DefaultIdentifier(io.adminshell.aas.v3.model.impl.DefaultIdentifier) Test(org.junit.Test)

Example 20 with Submodel

use of io.adminshell.aas.v3.model.Submodel in project FAAAST-Service by FraunhoferIOSB.

the class HttpEndpointIT method testSubmodelInterfaceGetSubmodelElement.

@Test
public void testSubmodelInterfaceGetSubmodelElement() throws IOException, DeserializationException, InterruptedException, URISyntaxException, SerializationException, MessageBusException {
    Submodel submodel = environment.getSubmodels().get(0);
    SubmodelElement expected = submodel.getSubmodelElements().get(0);
    assertEvent(messageBus, ElementReadEventMessage.class, expected, LambdaExceptionHelper.wrap(x -> executeAndAssertSingleEntity(HttpMethod.GET, API_PATHS.submodelRepository().submodelInterface(submodel).submodelElement(expected), StatusCode.SUCCESS, null, expected, SubmodelElement.class)));
}
Also used : DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) Submodel(io.adminshell.aas.v3.model.Submodel) HttpHelper(de.fraunhofer.iosb.ilt.faaast.service.test.util.HttpHelper) SubmodelElement(io.adminshell.aas.v3.model.SubmodelElement) ElementReadEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.access.ElementReadEventMessage) HttpHelper.toHttpStatusCode(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.util.HttpHelper.toHttpStatusCode) ConceptDescription(io.adminshell.aas.v3.model.ConceptDescription) URISyntaxException(java.net.URISyntaxException) OutputModifier(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.OutputModifier) Service(de.fraunhofer.iosb.ilt.faaast.service.Service) SubmodelElementCollection(io.adminshell.aas.v3.model.SubmodelElementCollection) DefaultIdentifier(io.adminshell.aas.v3.model.impl.DefaultIdentifier) DefaultProperty(io.adminshell.aas.v3.model.impl.DefaultProperty) MessageBusInternalConfig(de.fraunhofer.iosb.ilt.faaast.service.messagebus.internal.MessageBusInternalConfig) ServerSocket(java.net.ServerSocket) StatusCode(de.fraunhofer.iosb.ilt.faaast.service.model.api.StatusCode) DeserializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.DeserializationException) DefaultIdentifierKeyValuePair(io.adminshell.aas.v3.model.impl.DefaultIdentifierKeyValuePair) Map(java.util.Map) After(org.junit.After) FaaastConstants(de.fraunhofer.iosb.ilt.faaast.service.util.FaaastConstants) DefaultConceptDescription(io.adminshell.aas.v3.model.impl.DefaultConceptDescription) DefaultKey(io.adminshell.aas.v3.model.impl.DefaultKey) Level(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Level) HttpResponse(java.net.http.HttpResponse) IdentifierType(io.adminshell.aas.v3.model.IdentifierType) MessageBusHelper.assertEvent(de.fraunhofer.iosb.ilt.faaast.service.test.util.MessageBusHelper.assertEvent) EncodingHelper(de.fraunhofer.iosb.ilt.faaast.service.util.EncodingHelper) ApiPaths(de.fraunhofer.iosb.ilt.faaast.service.test.util.ApiPaths) Reference(io.adminshell.aas.v3.model.Reference) ElementCreateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementCreateEventMessage) SerializationException(de.fraunhofer.iosb.ilt.faaast.service.dataformat.SerializationException) Collectors(java.util.stream.Collectors) IdentifierKeyValuePair(io.adminshell.aas.v3.model.IdentifierKeyValuePair) EventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.EventMessage) List(java.util.List) CoreConfig(de.fraunhofer.iosb.ilt.faaast.service.config.CoreConfig) Path(de.fraunhofer.iosb.ilt.faaast.service.serialization.json.util.Path) BeforeClass(org.junit.BeforeClass) AASFull(de.fraunhofer.iosb.ilt.faaast.service.model.AASFull) AssetAdministrationShellEnvironment(io.adminshell.aas.v3.model.AssetAdministrationShellEnvironment) JSONAssert(org.skyscreamer.jsonassert.JSONAssert) ServiceConfig(de.fraunhofer.iosb.ilt.faaast.service.config.ServiceConfig) AssetInformation(io.adminshell.aas.v3.model.AssetInformation) Identifier(io.adminshell.aas.v3.model.Identifier) ArrayList(java.util.ArrayList) DeepCopyHelper(de.fraunhofer.iosb.ilt.faaast.service.util.DeepCopyHelper) KeyType(io.adminshell.aas.v3.model.KeyType) LangString(io.adminshell.aas.v3.model.LangString) DefaultAssetAdministrationShell(io.adminshell.aas.v3.model.impl.DefaultAssetAdministrationShell) ElementDeleteEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementDeleteEventMessage) Before(org.junit.Before) MessageBus(de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBus) HttpMethod(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.model.HttpMethod) MessageBusException(de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException) DefaultSubmodel(io.adminshell.aas.v3.model.impl.DefaultSubmodel) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) HttpEndpointConfig(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpointConfig) IOException(java.io.IOException) Test(org.junit.Test) JsonSerializer(de.fraunhofer.iosb.ilt.faaast.service.dataformat.json.JsonSerializer) PersistenceInMemoryConfig(de.fraunhofer.iosb.ilt.faaast.service.persistence.memory.PersistenceInMemoryConfig) DefaultReference(io.adminshell.aas.v3.model.impl.DefaultReference) LambdaExceptionHelper(de.fraunhofer.iosb.ilt.faaast.service.util.LambdaExceptionHelper) ElementUpdateEventMessage(de.fraunhofer.iosb.ilt.faaast.service.model.messagebus.event.change.ElementUpdateEventMessage) AssetAdministrationShell(io.adminshell.aas.v3.model.AssetAdministrationShell) Assert(org.junit.Assert) Content(de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.Content) Submodel(io.adminshell.aas.v3.model.Submodel) SubmodelElement(io.adminshell.aas.v3.model.SubmodelElement) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)60 Submodel (io.adminshell.aas.v3.model.Submodel)58 Reference (io.adminshell.aas.v3.model.Reference)53 DefaultReference (io.adminshell.aas.v3.model.impl.DefaultReference)49 LangString (io.adminshell.aas.v3.model.LangString)47 SubmodelElement (io.adminshell.aas.v3.model.SubmodelElement)41 MessageBusException (de.fraunhofer.iosb.ilt.faaast.service.exception.MessageBusException)38 DefaultSubmodel (io.adminshell.aas.v3.model.impl.DefaultSubmodel)34 DefaultKey (io.adminshell.aas.v3.model.impl.DefaultKey)30 ArrayList (java.util.ArrayList)30 DefaultIdentifier (io.adminshell.aas.v3.model.impl.DefaultIdentifier)28 Identifier (io.adminshell.aas.v3.model.Identifier)27 SubmodelElementCollection (io.adminshell.aas.v3.model.SubmodelElementCollection)25 OutputModifier (de.fraunhofer.iosb.ilt.faaast.service.model.api.modifier.OutputModifier)24 List (java.util.List)24 Collectors (java.util.stream.Collectors)24 StatusException (com.prosysopc.ua.StatusException)23 DeepCopyHelper (de.fraunhofer.iosb.ilt.faaast.service.util.DeepCopyHelper)23 AssetAdministrationShell (io.adminshell.aas.v3.model.AssetAdministrationShell)22 ConceptDescription (io.adminshell.aas.v3.model.ConceptDescription)22