Skip to content

Commit 0198595

Browse files
authored
Refactor the Registry Integration Tests to include Administrative Information (#560)
* fix: add up-to-date regex in patch-base-extensions * test: add test for adding aasDescriptor with assetInformation * test: refactor DummyAasDescriptorFactory to include AdmInfo in the constructor * test: refactor DummySmDescFactory to include AdmInfo in the constructor
1 parent 09fb94e commit 0198595

File tree

8 files changed

+49
-14
lines changed

8 files changed

+49
-14
lines changed

basyx.aasenvironment/basyx.aasenvironment-client/src/test/java/org/eclipse/digitaltwin/basyx/aasenvironment/client/TestFixture.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public AssetInformation buildAasPre1AssetInformation() {
9191
}
9292

9393
public AssetAdministrationShellDescriptor buildAasPre1Descriptor() {
94-
return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, aasRepositoryBasePath);
94+
return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, null, aasRepositoryBasePath);
9595
}
9696

9797
public AssetAdministrationShellDescriptor buildAasPre1Descriptor_withMultipleInterfaces() {
@@ -100,7 +100,7 @@ public AssetAdministrationShellDescriptor buildAasPre1Descriptor_withMultipleInt
100100
endpoints.add(DummyAasDescriptorFactory.createEndpoint(aasRepositoryBasePath, "AAS-REPOSITORY-3.0"));
101101
endpoints.add(DummyAasDescriptorFactory.createEndpoint(AAS_PRE1_ID, aasRepositoryBasePath, "AAS-3.0"));
102102

103-
return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, endpoints);
103+
return DummyAasDescriptorFactory.createDummyDescriptor(AAS_PRE1_ID, AAS_PRE1_IDSHORT, AAS_PRE1_GLOBALASSETID, null, endpoints);
104104
}
105105

106106
public Reference buildSmPre1Ref() {
@@ -112,7 +112,7 @@ public Submodel buildSmPre1() {
112112
}
113113

114114
public SubmodelDescriptor buildSmPre1Descriptor() {
115-
return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, smRepositoryBasePath);
115+
return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, null, smRepositoryBasePath);
116116
}
117117

118118
public SubmodelDescriptor buildSmPre1Descriptor_withMultipleInterfaces() {
@@ -121,7 +121,7 @@ public SubmodelDescriptor buildSmPre1Descriptor_withMultipleInterfaces() {
121121
endpoints.add(DummySubmodelDescriptorFactory.createEndpoint(smRepositoryBasePath, "SUBMODEL-REPOSITORY-3.0"));
122122
endpoints.add(DummySubmodelDescriptorFactory.createEndpoint(SM_PRE1_ID, smRepositoryBasePath, "SUBMODEL-3.0"));
123123

124-
return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, endpoints);
124+
return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_PRE1_ID, SM_PRE1_IDSHORT, null, null, endpoints);
125125
}
126126

127127
public AssetAdministrationShell buildAasPos1() {
@@ -133,11 +133,11 @@ public AssetInformation buildAasPos1AssetInformation() {
133133
}
134134

135135
public AssetAdministrationShellDescriptor buildAasPos1Descriptor() {
136-
return DummyAasDescriptorFactory.createDummyDescriptor(AAS_POS1_ID, AAS_POS1_IDSHORT, AAS_POS1_GLOBALASSETID, aasRepositoryBasePath);
136+
return DummyAasDescriptorFactory.createDummyDescriptor(AAS_POS1_ID, AAS_POS1_IDSHORT, AAS_POS1_GLOBALASSETID, null, aasRepositoryBasePath);
137137
}
138138

139139
public SubmodelDescriptor buildSmPos1Descriptor() {
140-
return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_POS1_ID, SM_POS1_IDSHORT, new AttributeMapper(ConnectedAasManagerHelper.buildObjectMapper()).mapSemanticId(buildSmPos1SemanticId()), smRepositoryBasePath);
140+
return DummySubmodelDescriptorFactory.createDummyDescriptor(SM_POS1_ID, SM_POS1_IDSHORT, new AttributeMapper(ConnectedAasManagerHelper.buildObjectMapper()).mapSemanticId(buildSmPos1SemanticId()), null, smRepositoryBasePath);
141141
}
142142

143143
public Reference buildSmPos1SemanticId() {

basyx.aasregistry/basyx.aasregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/aasregistry/main/client/mapper/DummyAasDescriptorFactory.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import java.util.LinkedList;
3131
import java.util.List;
3232

33+
import org.eclipse.digitaltwin.basyx.aasregistry.client.model.AdministrativeInformation;
3334
import org.eclipse.digitaltwin.basyx.aasregistry.client.model.AssetAdministrationShellDescriptor;
3435
import org.eclipse.digitaltwin.basyx.aasregistry.client.model.AssetKind;
3536
import org.eclipse.digitaltwin.basyx.aasregistry.client.model.Endpoint;
@@ -46,7 +47,7 @@
4647
public class DummyAasDescriptorFactory {
4748
private static final String AAS_REPOSITORY_PATH = "/shells";
4849

49-
public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, List<Endpoint> endpoints) {
50+
public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, AdministrativeInformation administrativeInformation, List<Endpoint> endpoints) {
5051

5152
AssetAdministrationShellDescriptor descriptor = new AssetAdministrationShellDescriptor();
5253

@@ -55,18 +56,27 @@ public static AssetAdministrationShellDescriptor createDummyDescriptor(String aa
5556
descriptor.setAssetKind(AssetKind.INSTANCE);
5657
descriptor.setGlobalAssetId(globalAssetId);
5758
descriptor.setEndpoints(endpoints);
59+
descriptor.setAdministration(administrativeInformation);
5860

5961
return descriptor;
6062
}
6163

62-
public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, String... aasRepoBaseUrls) {
64+
public static AssetAdministrationShellDescriptor createDummyDescriptor(String aasId, String idShort, String globalAssetId, AdministrativeInformation administrativeInformation, String... aasRepoBaseUrls) {
6365
LinkedList<Endpoint> endpoints = new LinkedList<>();
6466

6567
for (String eachUrl : aasRepoBaseUrls) {
6668
endpoints.add(createEndpoint(aasId, eachUrl, "AAS-3.0"));
6769
}
6870

69-
return createDummyDescriptor(aasId, idShort, globalAssetId, endpoints);
71+
return createDummyDescriptor(aasId, idShort, globalAssetId, administrativeInformation, endpoints);
72+
}
73+
74+
public static AdministrativeInformation buildAdministrationInformation(String version, String revision, String templateId) {
75+
AdministrativeInformation administrativeInformation = new AdministrativeInformation();
76+
administrativeInformation.setVersion(version);
77+
administrativeInformation.setRevision(revision);
78+
administrativeInformation.setTemplateId(templateId);
79+
return administrativeInformation;
7080
}
7181

7282
public static Endpoint createEndpoint(String endpointUrl, String endpointInterface) {
@@ -83,6 +93,7 @@ public static Endpoint createEndpoint(String aasId, String aasRepoBaseUrl, Strin
8393
return createEndpoint(href, endpointInterface);
8494
}
8595

96+
8697
private static ProtocolInformation createProtocolInformation(String href) {
8798
ProtocolInformation protocolInformation = new ProtocolInformation();
8899
protocolInformation.setHref(href);
@@ -102,4 +113,6 @@ private static String getProtocol(String endpoint) {
102113
throw new RuntimeException();
103114
}
104115
}
116+
117+
105118
}

basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/aasrepository/feature/registry/integration/AasRepositoryRegistryLinkTestSuite.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public abstract class AasRepositoryRegistryLinkTestSuite {
6767
protected abstract RegistryAndDiscoveryInterfaceApi getAasRegistryApi();
6868

6969
private final AssetAdministrationShellDescriptor DUMMY_DESCRIPTOR = DummyAasDescriptorFactory
70-
.createDummyDescriptor(DUMMY_AAS_ID, DUMMY_IDSHORT, DUMMY_GLOBAL_ASSETID, getAasRepoBaseUrls());
70+
.createDummyDescriptor(DUMMY_AAS_ID, DUMMY_IDSHORT, DUMMY_GLOBAL_ASSETID, DummyAasDescriptorFactory.buildAdministrationInformation("0", "9", "testTemplateId"), getAasRepoBaseUrls());
7171

7272
@Test
7373
public void createAas() throws FileNotFoundException, IOException, ApiException {

basyx.aasrepository/basyx.aasrepository-feature-registry-integration/src/test/resources/AasSimple_1.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,10 @@
55
"assetInformation": {
66
"assetKind": "Instance",
77
"globalAssetId": "globalAssetId"
8+
},
9+
"administration": {
10+
"version": "0",
11+
"revision": "9",
12+
"templateId": "testTemplateId"
813
}
914
}

basyx.submodelregistry/basyx.submodelregistry-client-native/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/client/mapper/DummySubmodelDescriptorFactory.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
import org.eclipse.digitaltwin.basyx.core.RepositoryUrlHelper;
3535
import org.eclipse.digitaltwin.basyx.http.Base64UrlEncodedIdentifier;
36+
import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.AdministrativeInformation;
3637
import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.Endpoint;
3738
import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.Key;
3839
import org.eclipse.digitaltwin.basyx.submodelregistry.client.model.KeyTypes;
@@ -50,24 +51,25 @@
5051
public class DummySubmodelDescriptorFactory {
5152
private static final String SUBMODEL_REPOSITORY_PATH = "/submodels";
5253

53-
public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, List<Endpoint> endpoints) {
54+
public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, AdministrativeInformation administrativeInformation, List<Endpoint> endpoints) {
5455
SubmodelDescriptor descriptor = new SubmodelDescriptor();
5556

5657
descriptor.setId(smId);
5758
descriptor.setIdShort(idShort);
5859
descriptor.setSemanticId(semanticId);
5960
descriptor.setEndpoints(endpoints);
61+
descriptor.administration(administrativeInformation);
6062

6163
return descriptor;
6264
}
6365

64-
public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, String... smRepoBaseUrls) {
66+
public static SubmodelDescriptor createDummyDescriptor(String smId, String idShort, Reference semanticId, AdministrativeInformation administrativeInformation, String... smRepoBaseUrls) {
6567
LinkedList<Endpoint> endpoints = new LinkedList<>();
6668
for (String eachUrl : smRepoBaseUrls) {
6769
endpoints.add(createEndpoint(smId, eachUrl, "SUBMODEL-3.0"));
6870
}
6971

70-
return createDummyDescriptor(smId, idShort, semanticId, endpoints);
72+
return createDummyDescriptor(smId, idShort, semanticId, administrativeInformation, endpoints);
7173
}
7274

7375
public static Reference createSemanticId() {
@@ -88,6 +90,10 @@ public static Endpoint createEndpoint(String smId, String smRepoBaseUrl, String
8890
return createEndpoint(href, endpointInterface);
8991
}
9092

93+
public static AdministrativeInformation buildAdministrationInformation(String version, String revision, String templateId) {
94+
return new AdministrativeInformation().version(version).revision(revision).templateId(templateId);
95+
}
96+
9197
private static ProtocolInformation createProtocolInformation(String href) {
9298
ProtocolInformation protocolInformation = new ProtocolInformation();
9399
protocolInformation.setHref(href);

basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/feature/registry/integration/SubmodelRepositoryRegistryLinkTestSuite.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ public abstract class SubmodelRepositoryRegistryLinkTestSuite {
6262
protected abstract String getSubmodelRegistryUrl();
6363
protected abstract SubmodelRegistryApi getSubmodelRegistryApi();
6464

65-
private final SubmodelDescriptor DUMMY_DESCRIPTOR = DummySubmodelDescriptorFactory.createDummyDescriptor(DUMMY_SUBMODEL_ID, DUMMY_SUBMODEL_IDSHORT, DummySubmodelDescriptorFactory.createSemanticId(), getSubmodelRepoBaseUrls());
65+
private final SubmodelDescriptor DUMMY_DESCRIPTOR = DummySubmodelDescriptorFactory.createDummyDescriptor(DUMMY_SUBMODEL_ID, DUMMY_SUBMODEL_IDSHORT, DummySubmodelDescriptorFactory.createSemanticId(),
66+
DummySubmodelDescriptorFactory.buildAdministrationInformation("0", "9", "testTemplateId"), getSubmodelRepoBaseUrls());
6667

6768
@Test
6869
public void createSubmodel() throws FileNotFoundException, IOException, ApiException {

basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/ExpectedSubmodel.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
},
1313
"id": "7A7104BDAB57E184",
1414
"idShort": "TechnicalData",
15+
"administration": {
16+
"version": "0",
17+
"revision": "9",
18+
"templateId": "testTemplateId"
19+
},
1520
"submodelElements": [
1621
{
1722
"modelType": "Property",

basyx.submodelrepository/basyx.submodelrepository-feature-registry-integration/src/test/resources/SingleSubmodel.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
"id": "7A7104BDAB57E184",
44
"idShort": "TechnicalData",
55
"kind": "Instance",
6+
"administration": {
7+
"version": "0",
8+
"revision": "9",
9+
"templateId": "testTemplateId"
10+
},
611
"submodelElements": [
712
{
813
"modelType": "Property",

0 commit comments

Comments
 (0)