def _test_method(self, schema, resultsAs, partial_changes, expected_results): #anything starting with "test" will be considered a test case by nosetests so I had to append '_' to it import pandas as pd query_results = syn.tableQuery("SELECT * FROM %s" % utils.id_of(schema), resultsAs=resultsAs) assert_equals(len(query_results), 2) df = query_results.asDataFrame(rowIdAndVersionInIndex=False) partial_changes = { df['ROW_ID'][i]: row_changes for i, row_changes in enumerate(partial_changes) } partial_rowset = PartialRowset.from_mapping(partial_changes, query_results) syn.store(partial_rowset) query_results = syn.tableQuery("SELECT * FROM %s" % utils.id_of(schema), resultsAs=resultsAs) assert_equals(len(query_results), 2) df2 = query_results.asDataFrame() df2 = df2.where((pd.notnull(df2)), None) for expected_row, df_row in zip(expected_results, df2.iterrows()): df_idx, actual_row = df_row for expected_cell in expected_row: assert_equals(expected_cell.value, actual_row[expected_cell.col_index])
def _test_method(self, schema, resultsAs, partial_changes, expected_results): #anything starting with "test" will be considered a test case by nosetests so I had to append '_' to it import pandas as pd query_results = syn.tableQuery("SELECT * FROM %s" % utils.id_of(schema), resultsAs=resultsAs) assert_equals(len(query_results), 2) df = query_results.asDataFrame(rowIdAndVersionInIndex=False) partial_changes = { df['ROW_ID'][i]: row_changes for i, row_changes in enumerate(partial_changes) } partial_rowset = PartialRowset.from_mapping(partial_changes, query_results) syn.store(partial_rowset) df2 = None start_time = time.time() while not (self._rows_match(df2, expected_results)): assert_less(time.time() - start_time, QUERY_TIMEOUT_SEC) query_results = syn.tableQuery("SELECT * FROM %s" % utils.id_of(schema), resultsAs=resultsAs) assert_equals(len(query_results), 2) df2 = query_results.asDataFrame() df2 = df2.where((pd.notnull(df2)), None)
def _test_method(self, schema, resultsAs, partial_changes, expected_results): # anything starting with "test" will be considered a test case by nosetests so I had to append '_' to it query_results = self._query_with_retry( "SELECT * FROM %s" % utils.id_of(schema), resultsAs, 2, QUERY_TIMEOUT_SEC) assert_is_not_none(query_results) df = query_results.asDataFrame(rowIdAndVersionInIndex=False) partial_changes = { df['ROW_ID'][i]: row_changes for i, row_changes in enumerate(partial_changes) } partial_rowset = PartialRowset.from_mapping(partial_changes, query_results) syn.store(partial_rowset) query_results = self._query_with_retry( "SELECT * FROM %s" % utils.id_of(schema), resultsAs, 2, QUERY_TIMEOUT_SEC) assert_is_not_none(query_results) df2 = query_results.asDataFrame() # remove the column index which cannot be set to expected_results df2 = df2.reset_index(drop=True) assert_frame_equal(df2, expected_results, check_like=True, check_dtype=False)
def _test_method(self, schema, resultsAs, partial_changes, expected_results): # anything starting with "test" will be considered a test case by nosetests so I had to append '_' to it query_results = self._query_with_retry( "SELECT * FROM %s" % utils.id_of(schema), resultsAs, 2, None, QUERY_TIMEOUT_SEC) assert_is_not_none(query_results) df = query_results.asDataFrame(rowIdAndVersionInIndex=False) partial_changes = { df['ROW_ID'][i]: row_changes for i, row_changes in enumerate(partial_changes) } partial_rowset = PartialRowset.from_mapping(partial_changes, query_results) syn.store(partial_rowset) assert_is_not_none( self._query_with_retry("SELECT * FROM %s" % utils.id_of(schema), resultsAs, None, expected_results, QUERY_TIMEOUT_SEC))
def test_constructor__single_PartialRow(self): partial_row = PartialRow({}, 123) partial_rowset = PartialRowset("syn123", partial_row) assert_equals([partial_row], partial_rowset.rows)
def test_constructor__not_all_rows_of_type_PartialRow(self): rows = [PartialRow({}, 123), "some string instead"] PartialRowset("syn123", rows)
def test_constructor__not_all_rows_of_type_PartialRow(self): rows = [PartialRow({}, 123), "some string instead"] with pytest.raises(ValueError): PartialRowset("syn123", rows)