def test_resource_source_non_tabular(): path = "data/text.txt" resource = Resource(path=path) assert resource.path == path assert resource.data is None assert resource.source == path assert resource.basepath == "" assert resource.inline is False assert resource.tabular is False assert resource.multipart is False assert resource.read_bytes() == b"text\n" assert resource.read_stats() == { "hash": "e1cbb0c3879af8347246f12c559a86b5", "bytes": 5, "fields": 0, "rows": 0, }
def test_resource_source_non_tabular_remote(): path = BASE_URL % "data/foo.txt" resource = Resource(path=path) assert resource.path == path assert resource.data is None assert resource.source == path assert resource.basepath == "" assert resource.inline is False assert resource.tabular is False assert resource.multipart is False assert resource.read_bytes() == b"foo\n" assert resource.read_stats() == { "hash": "d3b07384d113edec49eaa6238ad5ff00", "bytes": 4, "fields": 0, "rows": 0, }
def test_resource_source_data(): data = [["id", "name"], ["1", "english"], ["2", "中国人"]] resource = Resource({"data": data}) assert resource.path is None assert resource.data == data assert resource.source == data assert resource.basepath == "" assert resource.inline is True assert resource.tabular is True assert resource.multipart is False assert resource.read_bytes() == b"" assert resource.read_data() == data[1:] assert resource.read_rows() == [ {"id": 1, "name": "english"}, {"id": 2, "name": "中国人"}, ] assert resource.read_header() == ["id", "name"] assert resource.read_sample() == data[1:] assert resource.read_stats() == { "hash": "", "bytes": 0, "rows": 2, }