| /******************************************************************************** |
| * 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.dflt.model.Pool; |
| import org.eclipse.mdm.api.dflt.model.Project; |
| import org.eclipse.mdm.api.dflt.model.TemplateTest; |
| import org.eclipse.mdm.businessobjects.utils.ServiceUtils; |
| import org.junit.AfterClass; |
| import org.junit.BeforeClass; |
| |
| /** |
| * Test class for {@TestResource}. |
| * |
| * @author Johannes Stamm, Peak Solution GmbH Nuernberg |
| * @see EntityResourceIntegrationTest |
| * |
| */ |
| public class TestWithTemplateResourceIntegrationTest extends EntityResourceIntegrationTest { |
| @BeforeClass |
| public static void prepareTestData() { |
| getLogger().debug("Preparing TestResourceIntegrationTest"); |
| |
| // prepare test data for creating the parent Pool |
| PoolResourceIntegrationTest.prepareTestData(); |
| PoolResourceIntegrationTest.createEntity(); |
| // prepare test data for creating the linked TemplateTest |
| TemplateTestResourceIntegrationTest.prepareTestData(); |
| TemplateTestResourceIntegrationTest.createEntity(); |
| |
| // set up test data |
| setContextClass(TestWithTemplateResourceIntegrationTest.class); |
| |
| putTestDataValue(TESTDATA_RESOURCE_URI, "/tests"); |
| putTestDataValue(TESTDATA_ENTITY_NAME, "testTest"); |
| putTestDataValue(TESTDATA_ENTITY_TYPE, "Test"); |
| |
| Project project = ENTITY_FACTORY |
| .createProject(getTestDataValue(ProjectResourceIntegrationTest.class, TESTDATA_ENTITY_NAME)); |
| |
| Pool pool = ENTITY_FACTORY.createPool(getTestDataValue(PoolResourceIntegrationTest.class, TESTDATA_ENTITY_NAME), |
| project); |
| ServiceUtils.getCore(pool).setID(getTestDataValue(PoolResourceIntegrationTest.class, TESTDATA_ENTITY_ID)); |
| |
| TemplateTest tplTest = ENTITY_FACTORY |
| .createTemplateTest(getTestDataValue(TemplateTestResourceIntegrationTest.class, TESTDATA_ENTITY_NAME)); |
| ServiceUtils.getCore(tplTest) |
| .setID(getTestDataValue(TemplateTestResourceIntegrationTest.class, TESTDATA_ENTITY_ID)); |
| |
| Test test = ENTITY_FACTORY.createTest(getTestDataValue(TESTDATA_ENTITY_NAME), pool, tplTest); |
| |
| putTestDataValue(TESTDATA_CREATE_JSON_BODY, toJson(test)); |
| } |
| |
| @AfterClass |
| public static void tearDownAfterClass() { |
| // call tearDownAfterClass() of parent entity |
| setContextClass(PoolResourceIntegrationTest.class); |
| PoolResourceIntegrationTest.tearDownAfterClass(); |
| |
| // delete Template |
| setContextClass(TemplateTestResourceIntegrationTest.class); |
| TemplateTestResourceIntegrationTest.deleteEntity(); |
| } |
| } |