|
| 1 | +import subprocess |
| 2 | +import textwrap |
| 3 | + |
| 4 | +from .common import make_addons_dir, make_addon_dist_name |
| 5 | + |
| 6 | + |
| 7 | +def test_oca_list_addons_to_test_as_url_reqs__basic(): |
| 8 | + """Basic successful test.""" |
| 9 | + with make_addons_dir( |
| 10 | + ["addon_success", "addon_with_deb_dep", "uninstallable_addon"] |
| 11 | + ) as addons_dir: |
| 12 | + result = subprocess.check_output( |
| 13 | + ["oca_list_addons_to_test_as_url_reqs"], cwd=addons_dir, text=True |
| 14 | + ) |
| 15 | + assert result == textwrap.dedent( |
| 16 | + f"""\ |
| 17 | + {make_addon_dist_name('addon_success')} @ {addons_dir.as_uri()}/addon_success |
| 18 | + {make_addon_dist_name('addon_with_deb_dep')} @ {addons_dir.as_uri()}/addon_with_deb_dep |
| 19 | + """ |
| 20 | + ) |
| 21 | + |
| 22 | + |
| 23 | +def test_oca_list_addons_to_test_as_url_reqs__editable(): |
| 24 | + """Basic successful test with editables.""" |
| 25 | + with make_addons_dir( |
| 26 | + ["addon_success", "addon_with_deb_dep", "uninstallable_addon"] |
| 27 | + ) as addons_dir: |
| 28 | + result = subprocess.check_output( |
| 29 | + ["oca_list_addons_to_test_as_url_reqs", "--editable"], |
| 30 | + cwd=addons_dir, |
| 31 | + text=True, |
| 32 | + ) |
| 33 | + assert result == textwrap.dedent( |
| 34 | + f"""\ |
| 35 | + -e {addons_dir.as_uri()}/addon_success#egg={make_addon_dist_name('addon_success')} |
| 36 | + -e {addons_dir.as_uri()}/addon_with_deb_dep#egg={make_addon_dist_name('addon_with_deb_dep')} |
| 37 | + """ |
| 38 | + ) |
| 39 | + |
| 40 | + |
| 41 | +def test_oca_list_addons_to_test_as_url_reqs__skip_test_requirement(): |
| 42 | + """Basic successful test.""" |
| 43 | + with make_addons_dir( |
| 44 | + ["addon_success", "addon_with_deb_dep", "uninstallable_addon"] |
| 45 | + ) as addons_dir: |
| 46 | + # add URL reference to addon_success |
| 47 | + addons_dir.joinpath("test-requirements.txt").write_text( |
| 48 | + f"{make_addon_dist_name('addon_success')} @ git+https://github.com/oca/dummy@refs/pull/123/head" |
| 49 | + ) |
| 50 | + result = subprocess.check_output( |
| 51 | + ["oca_list_addons_to_test_as_url_reqs"], cwd=addons_dir, text=True |
| 52 | + ) |
| 53 | + # addon_success should not be in result because it is already in test-requirements.txt |
| 54 | + assert result == textwrap.dedent( |
| 55 | + f"""\ |
| 56 | + {make_addon_dist_name('addon_with_deb_dep')} @ {addons_dir.as_uri()}/addon_with_deb_dep |
| 57 | + """ |
| 58 | + ) |
0 commit comments