blob: 39ba299300b5c7b7f15cdcc2c6c7f078a31a7be4 [file] [log] [blame]
/********************************************************************************
* 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 UnitUnderTest
* {@link ContextType}.
*
* @author Alexander Nehmer, science+computing AG Tuebingen (Atos SE)
* @see EntityResourceIntegrationTest
*
*/
public class NestedTemplateAttributeUUTResourceIntegrationTest extends EntityResourceIntegrationTest {
@BeforeClass
public static void prepareTestData() {
getLogger().debug("Preparing NestedTemplateAttributeUUTResourceIntegrationTest");
// prepare test data for creating the CatalogAttribute
CatalogAttributeUUTResourceIntegrationTest.prepareTestData();
CatalogAttributeUUTResourceIntegrationTest.createEntity();
// prepare test data for creating the NestedTemplateComponent
NestedTemplateComponentUUTResourceIntegrationTest.prepareTestData();
NestedTemplateComponentUUTResourceIntegrationTest.createEntity();
setContextClass(NestedTemplateAttributeUUTResourceIntegrationTest.class);
// set up test data
putTestDataValue(TESTDATA_RESOURCE_URI, "/tplroots/unitundertest/"
+ getTestDataValue(TemplateRootUUTResourceIntegrationTest.class, TESTDATA_ENTITY_ID) + "/tplcomps/"
+ getTestDataValue(TemplateComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_ID) + "/tplcomps/"
+ getTestDataValue(NestedTemplateComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_ID)
+ "/tplattrs");
putTestDataValue(TESTDATA_ENTITY_NAME,
getTestDataValue(CatalogAttributeUUTResourceIntegrationTest.class, TESTDATA_ENTITY_NAME));
putTestDataValue(TESTDATA_ENTITY_TYPE, "TemplateAttribute");
CatalogComponent catComp = ENTITY_FACTORY.createCatalogComponent(ContextType.TESTSEQUENCE,
getTestDataValue(CatalogComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_NAME));
ServiceUtils.getCore(catComp)
.setID(getTestDataValue(CatalogComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_ID));
CatalogAttribute catAttr = ENTITY_FACTORY.createCatalogAttribute(getTestDataValue(TESTDATA_ENTITY_NAME),
ValueType.STRING, catComp);
ServiceUtils.getCore(catAttr)
.setID(getTestDataValue(CatalogAttributeUUTResourceIntegrationTest.class, TESTDATA_ENTITY_ID));
TemplateRoot tplRoot = ENTITY_FACTORY.createTemplateRoot(ContextType.TESTSEQUENCE,
getTestDataValue(CatalogComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_NAME));
ServiceUtils.getCore(tplRoot)
.setID(getTestDataValue(CatalogComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_ID));
TemplateComponent tplComp = ENTITY_FACTORY.createTemplateComponent(
getTestDataValue(TemplateComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_NAME), tplRoot,
catComp);
ServiceUtils.getCore(tplComp)
.setID(getTestDataValue(TemplateComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_ID));
TemplateComponent nestedTplComp = ENTITY_FACTORY.createTemplateComponent(
getTestDataValue(NestedTemplateComponentUUTResourceIntegrationTest.class, TESTDATA_ENTITY_NAME),
tplComp, catComp);
ServiceUtils.getCore(tplComp)
.setID(getTestDataValue(NestedTemplateComponentUUTResourceIntegrationTest.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
NestedTemplateAttributeUUTResourceIntegrationTest.findFirst();
NestedTemplateAttributeUUTResourceIntegrationTest.deleteEntity();
}
@AfterClass
public static void tearDownAfterClass() {
setContextClass(NestedTemplateComponentUUTResourceIntegrationTest.class);
NestedTemplateComponentUUTResourceIntegrationTest.deleteEntity();
setContextClass(TemplateComponentUUTResourceIntegrationTest.class);
TemplateComponentUUTResourceIntegrationTest.deleteEntity();
setContextClass(TemplateRootUUTResourceIntegrationTest.class);
TemplateRootUUTResourceIntegrationTest.deleteEntity();
setContextClass(CatalogAttributeUUTResourceIntegrationTest.class);
CatalogAttributeUUTResourceIntegrationTest.deleteEntity();
setContextClass(CatalogComponentUUTResourceIntegrationTest.class);
CatalogComponentUUTResourceIntegrationTest.deleteEntity();
}
}