@@ -833,7 +833,79 @@ def test_exporter_can_export_requirements_txt_with_directory_packages(
833
833
expected = """\
834
834
foo @ {}/tests/fixtures/sample_project
835
835
""" .format (
836
- working_directory .as_posix ()
836
+ working_directory .as_uri ()
837
+ )
838
+
839
+ assert expected == content
840
+
841
+
842
+ def test_exporter_can_export_requirements_txt_with_nested_directory_packages (
843
+ tmp_dir , poetry , working_directory
844
+ ):
845
+ poetry .locker .mock_lock_data (
846
+ {
847
+ "package" : [
848
+ {
849
+ "name" : "foo" ,
850
+ "version" : "1.2.3" ,
851
+ "category" : "main" ,
852
+ "optional" : False ,
853
+ "python-versions" : "*" ,
854
+ "source" : {
855
+ "type" : "directory" ,
856
+ "url" : "tests/fixtures/sample_project" ,
857
+ "reference" : "" ,
858
+ },
859
+ },
860
+ {
861
+ "name" : "bar" ,
862
+ "version" : "4.5.6" ,
863
+ "category" : "main" ,
864
+ "optional" : False ,
865
+ "python-versions" : "*" ,
866
+ "source" : {
867
+ "type" : "directory" ,
868
+ "url" : "tests/fixtures/sample_project/../project_with_nested_local/bar" ,
869
+ "reference" : "" ,
870
+ },
871
+ },
872
+ {
873
+ "name" : "baz" ,
874
+ "version" : "7.8.9" ,
875
+ "category" : "main" ,
876
+ "optional" : False ,
877
+ "python-versions" : "*" ,
878
+ "source" : {
879
+ "type" : "directory" ,
880
+ "url" : "tests/fixtures/sample_project/../project_with_nested_local/bar/.." ,
881
+ "reference" : "" ,
882
+ },
883
+ },
884
+ ],
885
+ "metadata" : {
886
+ "python-versions" : "*" ,
887
+ "content-hash" : "123456789" ,
888
+ "hashes" : {"foo" : [], "bar" : [], "baz" : []},
889
+ },
890
+ }
891
+ )
892
+ set_package_requires (poetry )
893
+
894
+ exporter = Exporter (poetry )
895
+
896
+ exporter .export ("requirements.txt" , Path (tmp_dir ), "requirements.txt" )
897
+
898
+ with (Path (tmp_dir ) / "requirements.txt" ).open (encoding = "utf-8" ) as f :
899
+ content = f .read ()
900
+
901
+ expected = """\
902
+ bar @ {}/tests/fixtures/project_with_nested_local/bar
903
+ baz @ {}/tests/fixtures/project_with_nested_local
904
+ foo @ {}/tests/fixtures/sample_project
905
+ """ .format (
906
+ working_directory .as_uri (),
907
+ working_directory .as_uri (),
908
+ working_directory .as_uri (),
837
909
)
838
910
839
911
assert expected == content
@@ -878,7 +950,7 @@ def test_exporter_can_export_requirements_txt_with_directory_packages_and_marker
878
950
expected = """\
879
951
foo @ {}/tests/fixtures/sample_project; python_version < "3.7"
880
952
""" .format (
881
- working_directory .as_posix ()
953
+ working_directory .as_uri ()
882
954
)
883
955
884
956
assert expected == content
0 commit comments