/* * Copyright 2012 PRODYNA AG * * Licensed under the Eclipse Public License (EPL), Version 1.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/eclipse-1.0.php or * http://www.nabucco.org/License.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.nabucco.framework.common.dynamiccode.service.maintain; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.nabucco.framework.base.facade.datatype.DatatypeState; import org.nabucco.framework.base.facade.message.ServiceRequest; import org.nabucco.framework.base.facade.message.ServiceResponse; import org.nabucco.framework.base.test.RuntimeTestSupport; import org.nabucco.framework.common.dynamiccode.facade.component.DynamicCodeComponent; import org.nabucco.framework.common.dynamiccode.facade.component.DynamicCodeComponentLocator; import org.nabucco.framework.common.dynamiccode.facade.datatype.DynamicCodeCodeGroup; import org.nabucco.framework.common.dynamiccode.facade.message.maintain.DynamicCodeCodeGroupMaintainMsg; /** * MaintainDynamicCodeCodeGroupTest * * @author Nicolas Moser, PRODYNA AG */ public class MaintainDynamicCodeCodeGroupTest extends RuntimeTestSupport { private DynamicCodeComponent component; @Before public void testDynamicCodeLookup() throws Exception { this.component = super.getComponent(DynamicCodeComponentLocator.getInstance()); } @Test public void testMaintainCodeGroup() throws Exception { DynamicCodeCodeGroup codeGroup = new DynamicCodeCodeGroup(); codeGroup.setName("Test CodeGroup"); codeGroup.setDescription("This is a test codeGroup"); codeGroup.setOwner("PRODYNA"); codeGroup.setDatatypeState(DatatypeState.INITIALIZED); DynamicCodeCodeGroupMaintainMsg msg = new DynamicCodeCodeGroupMaintainMsg(); msg.setCodeGroup(codeGroup); ServiceRequest<DynamicCodeCodeGroupMaintainMsg> rq = new ServiceRequest<DynamicCodeCodeGroupMaintainMsg>( super.getServiceContext()); rq.setRequestMessage(msg); ServiceResponse<DynamicCodeCodeGroupMaintainMsg> rs = this.component.getMaintainDynamicCode() .maintainDynamicCodeCodeGroup(rq); Assert.assertNotNull(rs); Assert.assertNotNull(rs.getResponseMessage()); codeGroup = rs.getResponseMessage().getCodeGroup(); Assert.assertNotNull(codeGroup); Assert.assertEquals("Test CodeGroup", codeGroup.getName().getValue()); Assert.assertEquals("This is a test codeGroup", codeGroup.getDescription().getValue()); Assert.assertEquals("PRODYNA", codeGroup.getOwner().getValue()); codeGroup.setDatatypeState(DatatypeState.MODIFIED); codeGroup.setName("Other codeGroup"); codeGroup.setDescription("Other Description"); codeGroup.setOwner("NABUCCO"); msg.setCodeGroup(codeGroup); rs = component.getMaintainDynamicCode().maintainDynamicCodeCodeGroup(rq); Assert.assertNotNull(rs); Assert.assertNotNull(rs.getResponseMessage()); codeGroup = rs.getResponseMessage().getCodeGroup(); Assert.assertNotNull(codeGroup); Assert.assertEquals("Other codeGroup", codeGroup.getName().getValue()); Assert.assertEquals("Other Description", codeGroup.getDescription().getValue()); Assert.assertEquals("NABUCCO", codeGroup.getOwner().getValue()); // persist DynamicCodeCodeGroup (DELETE) codeGroup.setDatatypeState(DatatypeState.DELETED); msg.setCodeGroup(codeGroup); rs = component.getMaintainDynamicCode().maintainDynamicCodeCodeGroup(rq); Assert.assertNotNull(rs); Assert.assertNotNull(rs.getResponseMessage()); } }