Skip to content

Commit

Permalink
Fixed utest for model.adapter.oda
Browse files Browse the repository at this point in the history
Signed-off-by: Yuxuan Dai <ydai@actuate.com>
  • Loading branch information
yuxuandai committed Apr 13, 2015
1 parent 14487a9 commit c02ee92
Show file tree
Hide file tree
Showing 13 changed files with 553 additions and 93 deletions.
Expand Up @@ -506,11 +506,17 @@ public void testUpdateResultSets( ) throws Exception
List setDefinedColumns = setHandle
.getListProperty( OdaDataSetHandle.RESULT_SET_PROP );
columnList.add( (OdaResultSetColumn) setDefinedColumns.get( 0 ) );

int columnNum = setDefinedColumns.size();

new ModelOdaAdapter( ).updateDataSetHandle( setDesign, setHandle, null,
columnList, true );
save( );

assertTrue( compareTextFile( "AdvancedDataSetAdapterTest_golden_1.xml" ) ); //$NON-NLS-1$
columnList, true );
saveAndOpenDesign();
setHandle = (OdaDataSetHandle) designHandle
.findDataSet( "myDataSet1" ); //$NON-NLS-1$
setDefinedColumns = setHandle
.getListProperty( OdaDataSetHandle.RESULT_SET_PROP );

assertEquals(columnNum, setDefinedColumns.size());
}
}
Expand Up @@ -22,7 +22,9 @@
import org.eclipse.birt.report.model.adapter.oda.util.BaseTestCase;
import org.eclipse.birt.report.model.api.OdaDataSetHandle;
import org.eclipse.birt.report.model.api.PropertyHandle;
import org.eclipse.birt.report.model.api.elements.structures.ExtendedProperty;
import org.eclipse.birt.report.model.api.elements.structures.OdaDataSetParameter;
import org.eclipse.birt.report.model.elements.OdaDataSet;
import org.eclipse.datatools.connectivity.oda.design.DataElementAttributes;
import org.eclipse.datatools.connectivity.oda.design.DataSetDesign;
import org.eclipse.datatools.connectivity.oda.design.DataSetParameters;
Expand Down Expand Up @@ -107,6 +109,31 @@ public void testMergeParamDefnFromDesignToHandle( ) throws Exception

}

private void verifyDataSetParams( OdaDataSetHandle oldSetHandle ) throws Exception
{
saveAndOpenDesign();
OdaDataSetHandle newSetHandle = (OdaDataSetHandle) designHandle.findDataSet( "myDataSet1" );
List newParams = (List) newSetHandle.getElement().getProperty(null, "parameters");
List oldParams = (List) oldSetHandle.getElement().getProperty(null, "parameters");

assertEquals( oldParams.size(), newParams.size( ) );
for ( int i = 0; i < oldParams.size(); i++ )
{
OdaDataSetParameter oldParam = (OdaDataSetParameter) oldParams.get(i);
OdaDataSetParameter newParam = (OdaDataSetParameter) newParams.get(i);
assertEquals( oldParam.getPosition(), newParam.getPosition() );
assertEquals( oldParam.getDataType(), newParam.getDataType() );
assertEquals( oldParam.isInput(), newParam.isInput() );
assertEquals( oldParam.getName(), newParam.getName() );
assertEquals( oldParam.getNativeName(), newParam.getNativeName() );
assertEquals( oldParam.getNativeDataType(), newParam.getNativeDataType() );
assertEquals( oldParam.getDefaultValue(), newParam.getDefaultValue() );
assertEquals( oldParam.getParamName(), newParam.getParamName() );
assertEquals( oldParam.isOptional(), newParam.isOptional() );
assertEquals( oldParam.allowNull(), newParam.allowNull() );
}
}

/**
* Test case:
*
Expand Down Expand Up @@ -143,8 +170,9 @@ public void testDataTypeConversion( ) throws Exception
new ModelOdaAdapter( )
.updateDataSetHandle( setDesign, setHandle, false );

save( );
assertTrue( compareTextFile( "DataSetParamConvertTest_golden_2.xml" ) ); //$NON-NLS-1$
verifyDataSetParams(setHandle);
/*save( );
assertTrue( compareTextFile( "DataSetParamConvertTest_golden_2.xml" ) ); //$NON-NLS-1$*/
}

/**
Expand Down Expand Up @@ -179,10 +207,11 @@ public void testValuesConversion( ) throws Exception

new ModelOdaAdapter( )
.updateDataSetHandle( setDesign, setHandle, false );

save( );

assertTrue( compareTextFile( "DataSetParamConvertTest_golden_3.xml" ) ); //$NON-NLS-1$


verifyParameterDefinition1();
/*save();
assertTrue( compareTextFile( "DataSetParamConvertTest_golden_3.xml" ) );*/
}

/**
Expand All @@ -204,6 +233,18 @@ private void updateParameterDefinition1( ParameterDefinition param )
.setDefaultScalarValue( "new default value for report param 1" ); //$NON-NLS-1$
elementAttrs.setOptional( true );
}

private void verifyParameterDefinition1( ) throws Exception
{
saveAndOpenDesign();
OdaDataSetHandle setHandle = (OdaDataSetHandle) designHandle
.findDataSet( "myDataSet1" ); //$NON-NLS-1$
List<Object> params = ( List<Object> ) setHandle.getElement().getProperty( null, "parameters" );
OdaDataSetParameter param = ( OdaDataSetParameter ) params.get(0);
assertFalse( param.allowNull() );
assertEquals( "new default value for report param 1", param.getDefaultValue() );
assertTrue( param.isOptional() );
}

/**
* Tests the algorithm to create unique data set parameter names.
Expand All @@ -220,10 +261,12 @@ public void testDataSetParamNames( ) throws Exception
.createDataSetHandle( setDesign, designHandle );

designHandle.getDataSets( ).add( setHandle );
save( );

assertTrue( compareTextFile( "DataSetParameterNameTest_golden.xml" ) ); //$NON-NLS-1$


/*save( );
assertTrue( compareTextFile( "DataSetParameterNameTest_golden.xml" ) ); //$NON-NLS-1$*/

verifyDataSetDesignForParamNames();

setDesign = createDataSetDesignForParamNames1( );

setHandle = new ModelOdaAdapter( ).createDataSetHandle( setDesign,
Expand Down Expand Up @@ -310,6 +353,43 @@ static DataSetDesign createDataSetDesignForParamNames( )
setDesign.setDataSourceDesign( createDataSourceDesign( ) );
return setDesign;
}

private void verifyDataSetDesignForParamNames( ) throws Exception
{
saveAndOpenDesign();
OdaDataSetHandle setHandle = (OdaDataSetHandle) designHandle
.findDataSet( "myDataSet1" ); //$NON-NLS-1$
assertNotNull( setHandle );
assertEquals( "data set display name", setHandle.getDisplayName() );
assertEquals( "new query text", setHandle.getQueryText() );

OdaDataSet odaDataSet = ( OdaDataSet ) setHandle.getElement();
assertEquals( OdaDataSetAdapterTest.DATA_SET_EXTENSIONID, odaDataSet.getProperty( null, "extensionID" ) );
assertEquals( "new public query time out", odaDataSet.getProperty( null, "queryTimeOut" ) );
assertEquals( "resultset1", odaDataSet.getProperty( null, "resultSetName" ) );

List<Object> privateProps = ( List<Object> ) odaDataSet.getProperty(null, "privateDriverProperties");
ExtendedProperty prop = ( ExtendedProperty ) privateProps.get(0);
assertEquals( "new private query time out", prop.getValue() );

List<Object> params = ( List<Object> ) odaDataSet.getProperty( null, "parameters" );
OdaDataSetParameter param = ( OdaDataSetParameter ) params.get(0);
verifyParam(param, "nativeName1", 1, 1, true, true);
param = ( OdaDataSetParameter ) params.get(1);
verifyParam(param, "", 2, 1, true, true);
param = ( OdaDataSetParameter ) params.get(2);
verifyParam(param, "nativeName1", 3, 1, true, true);
}

private void verifyParam( OdaDataSetParameter param,
String name, int position, int dataType, boolean in, boolean out)
{
assertEquals( name, param.getNativeName() );
assertEquals( Integer.valueOf( position ), param.getPosition() );
assertEquals( Integer.valueOf( dataType ), param.getNativeDataType() );
assertEquals( in, param.isInput() );
assertEquals( out, param.isOutput());
}

/**
* Creates a new <code>DataSourceDesign</code>.
Expand Down
Expand Up @@ -11,13 +11,19 @@

package org.eclipse.birt.report.model.adapter.oda.api;

import java.util.Iterator;
import java.util.List;

import org.eclipse.birt.report.model.adapter.oda.IModelOdaAdapter;
import org.eclipse.birt.report.model.adapter.oda.ModelOdaAdapter;
import org.eclipse.birt.report.model.adapter.oda.util.BaseTestCase;
import org.eclipse.birt.report.model.api.DataSourceHandle;
import org.eclipse.birt.report.model.api.OdaDataSetHandle;
import org.eclipse.birt.report.model.api.OdaDataSourceHandle;
import org.eclipse.birt.report.model.api.OdaDesignerStateHandle;
import org.eclipse.birt.report.model.api.PropertyHandle;
import org.eclipse.birt.report.model.api.elements.structures.OdaDataSetParameter;
import org.eclipse.birt.report.model.api.elements.structures.OdaResultSetColumn;
import org.eclipse.datatools.connectivity.oda.design.ColumnDefinition;
import org.eclipse.datatools.connectivity.oda.design.DataElementAttributes;
import org.eclipse.datatools.connectivity.oda.design.DataSetDesign;
Expand Down Expand Up @@ -173,9 +179,43 @@ public void testODADataSetToROMDataSet( ) throws Exception

assertNotNull( setHandle.getDataSource( ) );
assertEquals( "myDataSource1", setHandle.getDataSource( ).getName( ) ); //$NON-NLS-1$
save( );

verifyODADataSetToROMDataSet();
/*save( );
assertTrue( compareTextFile( GOLDEN_FILE ) );
assertTrue( compareTextFile( GOLDEN_FILE ) );*/
}

private void verifyODADataSetToROMDataSet() throws Exception {
saveAndOpenDesign();
OdaDataSetHandle setHandle = (OdaDataSetHandle) designHandle.findDataSet( "myDataSet1" );
assertNotNull( setHandle );
assertEquals( "data set display name", setHandle.getDisplayName() );
assertEquals( DATA_SET_EXTENSIONID, setHandle.getProperty( "extensionID" ) );

assertEquals( "new public query time out", setHandle.getProperty("queryTimeOut") );
assertEquals( "new private query time out", setHandle.getPrivateDriverProperty( "queryTimeOut" ) );

List<Object> params = ( List<Object> ) setHandle.getProperty("parameters");
OdaDataSetParameter param = ( OdaDataSetParameter ) params.get(0);
assertEquals( "param1", param.getNativeName() );
assertFalse( param.allowNull() );
assertEquals( Integer.valueOf( 2 ), param.getPosition() );
assertEquals( Integer.valueOf( 1 ), param.getNativeDataType() );
assertEquals( true, param.isInput() );
assertEquals( true, param.isOutput() );
assertEquals( "default param value", param.getDefaultValue() );

List<Object> resultSets = ( List<Object> ) setHandle.getProperty( "resultSet" );
OdaResultSetColumn column = ( OdaResultSetColumn ) resultSets.get(0);
assertEquals( "column1", column.getNativeName() );
assertEquals( Integer.valueOf(2), column.getPosition() );
assertEquals( Integer.valueOf(3), column.getNativeDataType() );

assertEquals("resultset1", setHandle.getResultSetName() );
assertEquals("new query text", setHandle.getQueryText() );


}

/**
Expand All @@ -196,10 +236,12 @@ public void testUpdateROMDataSetWithODADataSet( ) throws Exception

OdaDataSetHandle setHandle = (OdaDataSetHandle) designHandle
.findDataSet( "myDataSet1" ); //$NON-NLS-1$
DataSetDesign sourceDesign = createDataSetDesign( );
DataSetDesign setDesign = createDataSetDesign( );

new ModelOdaAdapter( ).updateDataSetHandle( sourceDesign, setHandle,
new ModelOdaAdapter( ).updateDataSetHandle( setDesign, setHandle,
true );

String tmpFile2 = saveTempFile();

assertTrue( designHandle.getCommandStack( ).canUndo( ) );
assertFalse( designHandle.getCommandStack( ).canRedo( ) );
Expand All @@ -209,28 +251,42 @@ public void testUpdateROMDataSetWithODADataSet( ) throws Exception
assertFalse( designHandle.getCommandStack( ).canUndo( ) );
assertTrue( designHandle.getCommandStack( ).canRedo( ) );

save( );
assertTrue( compareTextFile( GOLDEN_FILE_WITH_EMPTY_PROPS ) );
/*save( );
assertTrue( compareTextFile( GOLDEN_FILE_WITH_EMPTY_PROPS ) );*/
verifyDataSourceAndDataSetWithEmptyProp();


designHandle.getCommandStack( ).redo( );

save( );

assertTrue( compareTextFile( GOLDEN_FILE1_WITH_EMPTY_PROPS ) );
verifyODADataSetToROMDataSet();
//assertTrue( compareTextFile( GOLDEN_FILE1_WITH_EMPTY_PROPS ) );

openDesign( INPUT_FILE_WITH_LIB );

// the source is in the library, so no change.

setHandle = (OdaDataSetHandle) designHandle.findDataSet( "myDataSet1" ); //$NON-NLS-1$

new ModelOdaAdapter( ).updateDataSetHandle( sourceDesign, setHandle,
new ModelOdaAdapter( ).updateDataSetHandle( setDesign, setHandle,
false );

assertEquals( "Library Data Source One", setHandle.getDataSource( ) //$NON-NLS-1$
.getDisplayName( ) );
}

private void verifyDataSourceAndDataSetWithEmptyProp() {
OdaDataSourceHandle sourceHandle = (OdaDataSourceHandle) designHandle.findDataSource( "myDataSource1" );
assertNotNull( sourceHandle );
assertNull( sourceHandle.getProperty("privateDriverProperties") );
assertNull( sourceHandle.getProperty("userProperties") );

OdaDataSetHandle setHandle = (OdaDataSetHandle) designHandle.findDataSet("myDataSet1");
assertNotNull( setHandle );
assertNull( setHandle.getProperty("privateDriverProperties") );
assertNull( setHandle.getProperty("userProperties") );
}

/**
* Creates a new <code>DataSetDesign</code>.
*
Expand Down Expand Up @@ -412,8 +468,14 @@ public void testCreateDataSetReferDataSource( ) throws Exception

adapter.updateDataSetHandle( dataSetDesign, dataSet, false );

save( );
assertTrue( compareTextFile( "CreateDataSetReferDataSource_golden.xml" ) ); //$NON-NLS-1$
/* save( );
assertTrue( compareTextFile( "CreateDataSetReferDataSource_golden.xml" ) ); //$NON-NLS-1$*/
saveAndOpenDesign();
OdaDataSourceHandle sourceHandle = (OdaDataSourceHandle) designHandle.findDataSource("testSource");
assertNotNull(sourceHandle);
OdaDataSetHandle setHandle = (OdaDataSetHandle) designHandle.findDataSet( "testDataSet" );
assertNotNull(setHandle);
assertEquals( "new query text", setHandle.getQueryText() );
}

}
Expand Up @@ -11,10 +11,13 @@

package org.eclipse.birt.report.model.adapter.oda.api;

import java.util.Iterator;

import org.eclipse.birt.report.model.adapter.oda.ModelOdaAdapter;
import org.eclipse.birt.report.model.adapter.oda.util.BaseTestCase;
import org.eclipse.birt.report.model.api.OdaDataSourceHandle;
import org.eclipse.birt.report.model.api.OdaDesignerStateHandle;
import org.eclipse.birt.report.model.api.PropertyHandle;
import org.eclipse.datatools.connectivity.oda.design.DataSourceDesign;
import org.eclipse.datatools.connectivity.oda.design.DesignFactory;
import org.eclipse.datatools.connectivity.oda.design.DesignerState;
Expand Down Expand Up @@ -104,8 +107,9 @@ public void testODADataSourceToROMDataSource( ) throws Exception

designHandle.getDataSources( ).add( sourceHandle );

save( );
assertTrue( compareTextFile( GOLDEN_FILE ) );
/*save( );
assertTrue( compareTextFile( GOLDEN_FILE ) );*/
verifyDataSource();
}

/**
Expand Down Expand Up @@ -139,15 +143,24 @@ public void testUpdateROMDataSourceWithODADataSource( ) throws Exception
assertFalse( designHandle.getCommandStack( ).canUndo( ) );
assertTrue( designHandle.getCommandStack( ).canRedo( ) );

save( );
assertTrue( compareTextFile( GOLDEN_FILE_WITH_EMPTY_PROPS ) );
/*save( );
assertTrue( compareTextFile( GOLDEN_FILE_WITH_EMPTY_PROPS ) );*/
verifyDataSourceWithEmptyProp();

designHandle.getCommandStack( ).redo( );

save( );
assertTrue( compareTextFile( GOLDEN_FILE1_WITH_EMPTY_PROPS ) );
}

private void verifyDataSourceWithEmptyProp() throws Exception {
OdaDataSourceHandle sourceHandle = (OdaDataSourceHandle) designHandle.findDataSource( "myDataSource1" );
assertNotNull( sourceHandle );
assertNotNull( sourceHandle );
assertNull( sourceHandle.getProperty("privateDriverProperties") );
assertNull( sourceHandle.getProperty("userProperties") );
}

/**
* Creates a new <code>DataSourceDesign</code>.
*
Expand Down Expand Up @@ -175,6 +188,22 @@ private DataSourceDesign createDataSourceDesign( )

return sourceDesign;
}

private void verifyDataSource() throws Exception
{
saveAndOpenDesign();
OdaDataSourceHandle sourceHandle = (OdaDataSourceHandle) designHandle.findDataSource( "my data source design" );
assertNotNull( sourceHandle);
assertEquals( "data source display name", sourceHandle.getDisplayName() );
assertEquals( DATA_SOURCE_EXTENSIONID, sourceHandle.getExtensionID() );

assertEquals( "new drivers", sourceHandle.getProperty( "odaDriverClass" ) );
assertEquals( "jdbc:sqlserver://localhost", sourceHandle.getProperty( "odaURL" ) );
assertEquals( "new user", sourceHandle.getProperty( "odaUser" ) );

assertEquals( "new drivers", sourceHandle.getPrivateDriverProperty( "odaDriverClass" ) );
assertEquals( "new password", sourceHandle.getPrivateDriverProperty( "odaPassword" ) );
}

/**
* Tests functions to convert Designer State on a set Design.
Expand Down

0 comments on commit c02ee92

Please sign in to comment.