Пример #1
0
 def test_browse_subsubfolder(self):
     """
     Test that the S3 Select response is parsed
     into the correct sub-sub-folder view.
     """
     prefix = "bar/baz/"
     df = pd.read_json(buffer_s3response(self.s3response), lines=True)
     assert isinstance(df, pd.DataFrame)
     filtered_df = df[df['logical_key'].str.startswith(prefix)]
     stripped = filtered_df['logical_key'].str.slice(start=len(prefix))
     stripped_df = stripped.to_frame('logical_key')
     s3_df = pd.concat([
         stripped_df['logical_key'], filtered_df['size'],
         filtered_df['physical_key']
     ],
                       axis=1,
                       keys=['logical_key', 'size', 'physical_key'])
     folder = file_list_to_folder(s3_df, 1000, 0)
     assert "objects" in folder
     assert "prefixes" in folder
     assert not folder['prefixes']
     assert len(folder['objects']) == 2
     object_keys = [obj['logical_key'] for obj in folder['objects']]
     assert "file3.txt" in object_keys
     assert "file4.txt" in object_keys
Пример #2
0
    def test_offset(self):
        """
        Test that the S3 Select response is parsed
        into the correct top-level folder view.
        """
        df = pd.read_json(buffer_s3response(self.s3response), lines=True)
        assert isinstance(df, pd.DataFrame)

        folder = pkgselect.file_list_to_folder(df, 1000, 1)
        assert len(folder['prefixes']) == 0
        assert len(folder['objects']) == 1
        assert folder['objects'][0]['logical_key'] == 'foo.csv'