MockResultSet rs = new MockResultSet("myMock"); rs.addColumn("columnA", new Integer[]{1}); rs.addColumn("columnB", new String[]{"Column B Value"}); rs.addColumn("columnC", new Double[]{2}); // make sure to move the cursor to the first row try { rs.next(); } catch (SQLException sqle) { fail("unable to move resultSet"); } // process the result set MyObject obj = processor.processResultSet(rs); // run your tests using the ResultSet like you normally would assertEquals(1, obj.getColumnAValue()); assertEquals("Column B Value", obj.getColumnBValue()); assertEquals(2.0d, obj.getColumnCValue());
/** * Build a mock implementation of Result using Mockito */ private ResultSet buildMockResultSet() { MockResultSet mrs = new MockResultSet(StringUtils.EMPTY); for (MockJdbcColumn column : COLUMNS) { mrs.addColumn(column.getColumnName(), ImmutableList.of(column.getValue())); } return mrs; } }
public void testTeradataBufferedInsert() throws SQLException { final int colNums = 20; final int batchSize = 10; final int entryCount = 107; final int colSize = 7; State state = new State(); state.setProp(WRITER_JDBC_INSERT_BATCH_SIZE, Integer.toString(batchSize)); JdbcBufferedInserter inserter = getJdbcBufferedInserter(state, conn); MockParameterMetaData mockMetadata = new MockParameterMetaData(); mockMetadata.setParameterCount(2); mockMetadata.setParameterType(0, 12); mockMetadata.setParameterType(1, -5); PreparedStatement pstmt = Mockito.mock(PreparedStatement.class); when(pstmt.getParameterMetaData()).thenReturn(mockMetadata); when(pstmt.executeBatch()).thenReturn(new int[] { 1, 1, 1 }); when(conn.prepareStatement(anyString())).thenReturn(pstmt); List<JdbcEntryData> jdbcEntries = createJdbcEntries(colNums, colSize, entryCount); for (JdbcEntryData entry : jdbcEntries) { inserter.insert(db, table, entry); } inserter.flush(); verify(conn, times(2)).prepareStatement(anyString()); verify(pstmt, times(107)).addBatch(); verify(pstmt, times((int) Math.ceil((double) entryCount / batchSize))).executeBatch(); verify(pstmt, times(entryCount)).clearParameters(); verify(pstmt, times(colNums * entryCount)).setObject(anyInt(), anyObject()); reset(pstmt); }
store.setFeatureFactory(CommonFactoryFinder.getFeatureFactory(null)); JDBCMockObjectFactory jdbcMock = new JDBCMockObjectFactory(); store.setDataSource(jdbcMock.getMockDataSource()); MockResultSet tableTypes = new MockResultSet("tableTypes"); tableTypes.addColumn("TABLE_TYPE", Arrays.asList("TABLE")); MockResultSet tables = new MockResultSet("tables"); tables.addColumn("TABLE_NAME", Arrays.asList("foo")); tables.addColumn("TABLE_SCHEM", Arrays.asList("")); MockDatabaseMetaData meta = new MockDatabaseMetaData(); meta.setTableTypes(tableTypes); meta.setTables(tables); MockConnection cx = jdbcMock.getMockConnection(); cx.setMetaData(meta); when(source.getDataStore()).thenReturn(store); MockResultSet rowData = new MockResultSet("foo"); rowData.addColumn("name", Arrays.asList("foo", "bar", "baz")); rowData.setStatement(new MockStatement(cx));
private void configureMetadata() throws SQLException { ((MockDatabaseMetaData) cx.getMetaData()).setSearchStringEscape(""); MockResultSet tableTypes = new MockResultSet("TABLE_TYPES"); tableTypes.addColumn("TABLE_TYPE"); tableTypes.addRow(new Object[] {"TABLE"}); ((MockDatabaseMetaData) cx.getMetaData()).setTableTypes(tableTypes); MockResultSet tables = new MockResultSet("TABLES"); tables.addColumn("TABLE_SCHEM"); tables.addColumn("TABLE_NAME"); tables.addRow(new Object[] {"", SAMPLE_FEATURE_NAME}); ((MockDatabaseMetaData) cx.getMetaData()).setTables(tables); MockResultSet key = new MockResultSet("KEY"); key.addColumn("COLUMN_NAME"); key.addColumn("DATA_TYPE"); key.addRow(new Object[] {"ID", 1}); ((MockDatabaseMetaData) cx.getMetaData()) .setPrimaryKeys(null, null, SAMPLE_FEATURE_NAME, key); MockResultSet columns = new MockResultSet("COLUMNS"); columns.addColumn("COLUMN_NAME"); columns.addColumn("DATA_TYPE"); columns.addRow(new Object[] {"ID", 1}); ((MockDatabaseMetaData) cx.getMetaData()) .setColumns(null, null, SAMPLE_FEATURE_NAME, "ID", columns); }
private void setUpDependencies() { dataSource.setupConnection(connection); driver.setupConnection(connection); registerMockDriver(); }
@Override public ResultSet executeQuery() throws SQLException { // check if the condition ID = ? is present in the query if (sql.matches("^.*\"ID\"\\s+=\\s+\\?.*$")) { filteredOnIds = true; } return new MockResultSet(SAMPLE_FEATURE_NAME); } };
public ResultSet getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException { DatabaseIdentifier identifier1 = new DatabaseIdentifierImpl(primaryCatalog, primarySchema, primaryTable); DatabaseIdentifier identifier2 = new DatabaseIdentifierImpl(foreignCatalog, foreignSchema, foreignTable); DatabaseIdentifier expected = new DatabaseIdentifierImplWrapper(identifier1, identifier2); return findMatchingDatabaseIdentifier(expected, crossReferenceMap); }
@Before public void setUp() throws SQLException { cx = new TracingMockConnection(); configureMetadata(); dataStore = new JDBCDataStore(); dataStore.setFilterFactory(CommonFactoryFinder.getFilterFactory2()); dataStore.setSQLDialect(createBasicSQLDialect()); MockDataSource dataSource = new MockDataSource(); dataSource.setupConnection(cx); dataStore.setDataSource(dataSource); featureType = Mockito.mock(SimpleFeatureType.class); Mockito.when(featureType.getTypeName()).thenReturn(SAMPLE_FEATURE_NAME); Mockito.when(featureType.getName()).thenReturn(new NameImpl(SAMPLE_FEATURE_NAME)); tx = new DefaultTransaction(); }
public MockParameterMap getIndexedParameterMap() { MockParameterMap indexedParameters = new MockParameterMap(); for(ParameterReference parameterReference : paramObjects.keySet()){ if(parameterReference instanceof ParameterIndex){ indexedParameters.put(parameterReference, paramObjects.get(parameterReference)); } } return new MockUnmodifiableParameterMap(indexedParameters); }
public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException { DatabaseIdentifier expected = new ColumnDatabaseIdentifierImpl(catalog, schemaPattern, tableNamePattern, true, true, columnNamePattern); return findMatchingDatabaseIdentifier(expected, columnsMap); }
@Override public void clearParameters() throws SQLException { super.clearParameters(); paramObjects.clear(); }
@Test public void testFetchSizeUsedWhenNoPreparedStatement() throws IOException, SQLException { dataStore.setFetchSize(1000); createLock(); dataStore.ensureAuthorization(featureType, Filter.INCLUDE, tx, cx); assertEquals(1000, cx.stmt.getFetchSize()); }
/** * Build a mock implementation of Result using Mockito */ private ResultSet buildMockResultSet() throws Exception { MockResultSet mrs = new MockResultSet(StringUtils.EMPTY); for (MockJdbcColumn column : COLUMNS) { mrs.addColumn(column.getColumnName(), ImmutableList.of(column.getValue())); } return mrs; } }
@Override public ResultSet executeQuery(String sql) throws SQLException { // check if the condition ID = 'some text' is present in the query if (sql.matches("^.*\"ID\"\\s+=\\s+'.*'.*$")) { filteredOnIds = true; } return new MockResultSet(SAMPLE_FEATURE_NAME); } };
private ResultSet buildMockResultSet() throws Exception { MockResultSet mrs = new MockResultSet(StringUtils.EMPTY); for (MockJdbcColumn column : COLUMNS) { mrs.addColumn(column.getColumnName(), ImmutableList.of(column.getValue())); } return mrs; }