Russell, we normally test with `make test`, which runs everything but the S3 mock stuff since that runs in CI. That said, it would be great if we could get `poetry run pytest` to work out of the box!
On Tue, Dec 6, 2022 at 2:58 PM Russell Spitzer <russell.spit...@gmail.com> wrote: > I tried one last time via Intellij, Intellij also required that I mark all > the dependencies as required to run the tests and also failed the same > localhost:9000 mock s3 tests. > > On Tue, Dec 6, 2022 at 4:41 PM Russell Spitzer <russell.spit...@gmail.com> > wrote: > >> >> Checked sigs, checksums and licenses which all worked but I was unable to >> run the tests following the instructions here >> >> https://pypi.org/project/pyiceberg/ >> Except using the downloaded source directory >> >> This gave me an exception >> >> ImportError while loading conftest >> '/Users/russellspitzer/Temp/py2/pyiceberg-0.2.0/tests/conftest.py'. >> tests/conftest.py:39: in <module> >> import aiobotocore.awsrequest >> E ModuleNotFoundError: No module named 'aiobotocore' >> >> After trying for a while to just get pip to work by itself I finally read up >> on modern python development and kept trying with poetry. The missing common >> is that the pytests require all of the optional modules in the toml file. So >> I ran >> >> *poetry install --all-extras* >> And was able to run tests, at that point I have several tests failing >> because they cannot connect to localhost 9000 >> >> poetry run pytest >> >> FAILED tests/io/test_fsspec.py::test_fsspec_write_and_read_file - >> botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/5986dc6d-b728-499b-90... >> FAILED tests/io/test_fsspec.py::test_fsspec_getting_length_of_file - >> botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/93cee4d6-28fe-49e7-ac... >> FAILED tests/io/test_fsspec.py::test_fsspec_file_tell - >> botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/c90742fa-630c-4c62-ae... >> FAILED tests/io/test_fsspec.py::test_fsspec_read_specified_bytes_for_file - >> botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/79cc6aa6-ca1f-4bac-87... >> FAILED tests/io/test_fsspec.py::test_fsspec_raise_on_opening_file_not_found >> - botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/0b386f73-c355-482b-aa... >> FAILED tests/io/test_fsspec.py::test_checking_if_a_file_exists - >> botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/does-not-exist.txt" >> FAILED tests/io/test_fsspec.py::test_closing_a_file - >> botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/cf6773cf-17db-454a-be... >> FAILED tests/io/test_fsspec.py::test_writing_avro_file - >> botocore.exceptions.EndpointConnectionError: Could not connect to the >> endpoint URL: "http://localhost:9000/warehouse/8091cbdc-fcf5-46a8-99... >> Which looks like the moto s3 mock isn't working >> >> I'm either missing something or the documentation is, if it's just doc's I >> wouldn't want to hold the release but I feel like this should probably work >> out of the box >> >> -- Ryan Blue Tabular