blob: 3e00c62d04cd2bee6cce09ed7415a382f5288d59 [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.Test;
import org.eclipse.mdm.api.base.model.TestStep;
import org.eclipse.mdm.api.dflt.model.Pool;
import org.eclipse.mdm.api.dflt.model.Project;
import org.eclipse.mdm.api.dflt.model.TemplateTest;
import org.eclipse.mdm.api.dflt.model.TemplateTestStep;
import org.eclipse.mdm.api.dflt.model.TemplateTestStepUsage;
import org.eclipse.mdm.businessobjects.utils.ServiceUtils;
import org.junit.AfterClass;
import org.junit.BeforeClass;
/**
* Test class for {@TestStepResource}.
*
* @author Johannes Stamm, Peak Solution GmbH Nuernberg
* @see EntityResourceIntegrationTest
*
*/
public class TestStepWithTemplateResourceIntegrationTest extends EntityResourceIntegrationTest {
@BeforeClass
public static void prepareTestData() {
getLogger().debug("Preparing TestStepWithTemplateResourceIntegrationTest");
// prepare test data for creating the parent {@Test}
TestWithTemplateResourceIntegrationTest.prepareTestData();
TestWithTemplateResourceIntegrationTest.createEntity();
// prepare test data for creating the TestStep
TemplateTestStepResourceIntegrationTest.prepareTestData();
TemplateTestStepResourceIntegrationTest.createEntity();
TemplateTestStepResourceIntegrationTest.patchEntity();
// prepare test data for creating the linked templates
TemplateTestStepUsageResourceIntegrationTest.prepareTestData();
TemplateTestStepUsageResourceIntegrationTest.createEntity();
// set up test data
setContextClass(TestStepWithTemplateResourceIntegrationTest.class);
putTestDataValue(TESTDATA_RESOURCE_URI, "/teststeps");
putTestDataValue(TESTDATA_ENTITY_NAME, "testTestStep");
putTestDataValue(TESTDATA_ENTITY_TYPE, "TestStep");
Project project = ENTITY_FACTORY
.createProject(getTestDataValue(ProjectResourceIntegrationTest.class, TESTDATA_ENTITY_NAME));
Pool pool = ENTITY_FACTORY.createPool(getTestDataValue(PoolResourceIntegrationTest.class, TESTDATA_ENTITY_NAME),
project);
TemplateTest tplTest = ENTITY_FACTORY
.createTemplateTest(getTestDataValue(TemplateTestResourceIntegrationTest.class, TESTDATA_ENTITY_NAME));
TemplateTestStep tplTestStep = ENTITY_FACTORY.createTemplateTestStep(
getTestDataValue(TemplateTestStepResourceIntegrationTest.class, TESTDATA_ENTITY_NAME));
ServiceUtils.getCore(tplTestStep)
.setID(getTestDataValue(TemplateTestStepResourceIntegrationTest.class, TESTDATA_ENTITY_ID));
TemplateTestStepUsage tplTestStepUsage = ENTITY_FACTORY.createTemplateTestStepUsage(
getTestDataValue(TemplateTestStepUsageResourceIntegrationTest.class, TESTDATA_ENTITY_NAME), tplTest,
tplTestStep);
ServiceUtils.getCore(tplTest).getChildrenStore().add(tplTestStepUsage);
Test test = ENTITY_FACTORY.createTest(
getTestDataValue(TestWithTemplateResourceIntegrationTest.class, TESTDATA_ENTITY_NAME),
pool);
ServiceUtils.getCore(test)
.setID(getTestDataValue(TestWithTemplateResourceIntegrationTest.class, TESTDATA_ENTITY_ID));
ServiceUtils.getCore(test).getMutableStore().set(tplTest);
TestStep testStep = ENTITY_FACTORY.createTestStep(test, tplTestStep);
// remove name from object as the creation method is
// EntityFactory.createTestStep(Test, TemplateTest)
testStep.setName(null);
putTestDataValue(TESTDATA_CREATE_JSON_BODY, toJson(testStep));
}
@AfterClass
public static void tearDownAfterClass() {
// call tearDownAfterClass() of parent entity (without template)
setContextClass(TestResourceIntegrationTest.class);
TestResourceIntegrationTest.tearDownAfterClass();
// delete Templates
setContextClass(TemplateTestStepUsageResourceIntegrationTest.class);
TemplateTestStepUsageResourceIntegrationTest.tearDownAfterClass();
}
}