/*! ****************************************************************************** * * Pentaho Data Integration * * Copyright (C) 2002-2015 by Pentaho : http://www.pentaho.com * ******************************************************************************* * * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 * * 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.pentaho.di.trans; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.pentaho.di.core.RowMetaAndData; import org.pentaho.di.core.exception.KettleValueException; import org.pentaho.di.core.row.ValueMetaInterface; import org.pentaho.di.i18n.BaseMessages; public class DatabaseImpactTest { private static Class<?> PKG = Trans.class; @Test public void testGetRow() throws KettleValueException { DatabaseImpact testObject = new DatabaseImpact( DatabaseImpact.TYPE_IMPACT_READ, "myTrans", "aStep", "ProdDB", "DimCustomer", "Customer_Key", "MyValue", "Calculator 2", "SELECT * FROM dimCustomer", "Some remarks" ); RowMetaAndData rmd = testObject.getRow(); assertNotNull( rmd ); assertEquals( 10, rmd.size() ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 0 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Type" ), rmd.getValueMeta( 0 ).getName() ); assertEquals( "Read", rmd.getString( 0, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 1 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Transformation" ), rmd.getValueMeta( 1 ) .getName() ); assertEquals( "myTrans", rmd.getString( 1, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 2 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Step" ), rmd.getValueMeta( 2 ).getName() ); assertEquals( "aStep", rmd.getString( 2, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 3 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Database" ), rmd.getValueMeta( 3 ) .getName() ); assertEquals( "ProdDB", rmd.getString( 3, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 4 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Table" ), rmd.getValueMeta( 4 ) .getName() ); assertEquals( "DimCustomer", rmd.getString( 4, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 5 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Field" ), rmd.getValueMeta( 5 ) .getName() ); assertEquals( "Customer_Key", rmd.getString( 5, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 6 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Value" ), rmd.getValueMeta( 6 ) .getName() ); assertEquals( "MyValue", rmd.getString( 6, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 7 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.ValueOrigin" ), rmd.getValueMeta( 7 ) .getName() ); assertEquals( "Calculator 2", rmd.getString( 7, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 8 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.SQL" ), rmd.getValueMeta( 8 ).getName() ); assertEquals( "SELECT * FROM dimCustomer", rmd.getString( 8, "default" ) ); assertEquals( ValueMetaInterface.TYPE_STRING, rmd.getValueMeta( 9 ).getType() ); assertEquals( BaseMessages.getString( PKG, "DatabaseImpact.RowDesc.Label.Remarks" ), rmd.getValueMeta( 9 ) .getName() ); assertEquals( "Some remarks", rmd.getString( 9, "default" ) ); } }