Esempio n. 1
0
    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))
Esempio n. 5
0
 def test_constructor__single_PartialRow(self):
     partial_row = PartialRow({}, 123)
     partial_rowset = PartialRowset("syn123", partial_row)
     assert_equals([partial_row], partial_rowset.rows)
Esempio n. 6
0
 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)