/******************************************************************************** | |
* Copyright (c) 2015-2018 Contributors to the Eclipse Foundation | |
* | |
* See the NOTICE file(s) distributed with this work for additional | |
* information regarding copyright ownership. | |
* | |
* This program and the accompanying materials are made available under the | |
* terms of the Eclipse Public License v. 2.0 which is available at | |
* http://www.eclipse.org/legal/epl-2.0. | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
********************************************************************************/ | |
package org.eclipse.mdm.businessobjects.boundary.integrationtest; | |
import org.eclipse.mdm.api.base.model.ContextType; | |
import org.eclipse.mdm.api.base.model.ValueType; | |
import org.eclipse.mdm.api.dflt.model.CatalogAttribute; | |
import org.eclipse.mdm.api.dflt.model.CatalogComponent; | |
import org.eclipse.mdm.api.dflt.model.TemplateAttribute; | |
import org.eclipse.mdm.api.dflt.model.TemplateComponent; | |
import org.eclipse.mdm.api.dflt.model.TemplateRoot; | |
import org.eclipse.mdm.businessobjects.utils.ServiceUtils; | |
import org.junit.AfterClass; | |
import org.junit.BeforeClass; | |
/** | |
* Test class for NestedTemplateAttributeResource for TestEquipment | |
* {@link ContextType}. | |
* | |
* @author Alexander Nehmer, science+computing AG Tuebingen (Atos SE) | |
* @see EntityResourceIntegrationTest | |
* | |
*/ | |
public class NestedTemplateAttributeTEQResourceIntegrationTest extends EntityResourceIntegrationTest { | |
@BeforeClass | |
public static void prepareTestData() { | |
getLogger().debug("Preparing NestedTemplateAttributeTEQResourceIntegrationTest"); | |
// prepare test data for creating the CatalogAttribute | |
CatalogAttributeTEQResourceIntegrationTest.prepareTestData(); | |
CatalogAttributeTEQResourceIntegrationTest.createEntity(); | |
// prepare test data for creating the NestedTemplateComponent | |
NestedTemplateComponentTEQResourceIntegrationTest.prepareTestData(); | |
NestedTemplateComponentTEQResourceIntegrationTest.createEntity(); | |
setContextClass(NestedTemplateAttributeTEQResourceIntegrationTest.class); | |
// set up test data | |
putTestDataValue(TESTDATA_RESOURCE_URI, "/tplroots/testequipment/" | |
+ getTestDataValue(TemplateRootTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID) + "/tplcomps/" | |
+ getTestDataValue(TemplateComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID) + "/tplcomps/" | |
+ getTestDataValue(NestedTemplateComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID) | |
+ "/tplattrs"); | |
putTestDataValue(TESTDATA_ENTITY_NAME, | |
getTestDataValue(CatalogAttributeTEQResourceIntegrationTest.class, TESTDATA_ENTITY_NAME)); | |
putTestDataValue(TESTDATA_ENTITY_TYPE, "TemplateAttribute"); | |
CatalogComponent catComp = ENTITY_FACTORY.createCatalogComponent(ContextType.TESTSEQUENCE, | |
getTestDataValue(CatalogComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_NAME)); | |
ServiceUtils.getCore(catComp) | |
.setID(getTestDataValue(CatalogComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID)); | |
CatalogAttribute catAttr = ENTITY_FACTORY.createCatalogAttribute(getTestDataValue(TESTDATA_ENTITY_NAME), | |
ValueType.STRING, catComp); | |
ServiceUtils.getCore(catAttr) | |
.setID(getTestDataValue(CatalogAttributeTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID)); | |
TemplateRoot tplRoot = ENTITY_FACTORY.createTemplateRoot(ContextType.TESTSEQUENCE, | |
getTestDataValue(CatalogComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_NAME)); | |
ServiceUtils.getCore(tplRoot) | |
.setID(getTestDataValue(CatalogComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID)); | |
TemplateComponent tplComp = ENTITY_FACTORY.createTemplateComponent( | |
getTestDataValue(TemplateComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_NAME), tplRoot, | |
catComp); | |
ServiceUtils.getCore(tplComp) | |
.setID(getTestDataValue(TemplateComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID)); | |
TemplateComponent nestedTplComp = ENTITY_FACTORY.createTemplateComponent( | |
getTestDataValue(NestedTemplateComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_NAME), | |
tplComp, catComp); | |
ServiceUtils.getCore(tplComp) | |
.setID(getTestDataValue(NestedTemplateComponentTEQResourceIntegrationTest.class, TESTDATA_ENTITY_ID)); | |
// delete the implicitly created TemplateAttribute on the client side | |
nestedTplComp.removeTemplateAttribute(getTestDataValue(TESTDATA_ENTITY_NAME)); | |
TemplateAttribute nestedTplAttr = ENTITY_FACTORY.createTemplateAttribute(getTestDataValue(TESTDATA_ENTITY_NAME), | |
nestedTplComp); | |
putTestDataValue(TESTDATA_CREATE_JSON_BODY, toJson(nestedTplAttr)); | |
// delete the implicitly created NestedTemplateAttribute | |
NestedTemplateAttributeTEQResourceIntegrationTest.findFirst(); | |
NestedTemplateAttributeTEQResourceIntegrationTest.deleteEntity(); | |
} | |
@AfterClass | |
public static void tearDownAfterClass() { | |
setContextClass(NestedTemplateComponentTEQResourceIntegrationTest.class); | |
NestedTemplateComponentTEQResourceIntegrationTest.deleteEntity(); | |
setContextClass(TemplateComponentTEQResourceIntegrationTest.class); | |
TemplateComponentTEQResourceIntegrationTest.deleteEntity(); | |
setContextClass(TemplateRootTEQResourceIntegrationTest.class); | |
TemplateRootTEQResourceIntegrationTest.deleteEntity(); | |
setContextClass(CatalogAttributeTEQResourceIntegrationTest.class); | |
CatalogAttributeTEQResourceIntegrationTest.deleteEntity(); | |
setContextClass(CatalogComponentTEQResourceIntegrationTest.class); | |
CatalogComponentTEQResourceIntegrationTest.deleteEntity(); | |
} | |
} |