+17
-12
@@ -110,13 +110,15 @@ class upload_packages_test(unittest.TestCase):
|
||||
self.assertEqual(cache.read_text(encoding="utf-8"), "keep")
|
||||
@unittest.mock.patch.object(modulus.cli, "upload_all_packages", return_value=37)
|
||||
@unittest.mock.patch.object(modulus.cli, "configure_conan_remote", return_value=0)
|
||||
def test_failed_upload_does_not_force_by_default(self, configure, upload):
|
||||
@unittest.mock.patch.object(modulus.cli, "run", return_value=0)
|
||||
def test_failed_upload_does_not_force_by_default(self, run, configure, upload):
|
||||
context = self.context()
|
||||
with unittest.mock.patch.dict(os.environ, {}, clear=True):
|
||||
status = modulus.cli.upload_packages(context)
|
||||
self.assertEqual(status, 37)
|
||||
configure.assert_called_once_with(context, authenticate=True)
|
||||
upload.assert_called_once_with(context, "origin", force=False)
|
||||
run.assert_called_once_with(context, ["conan", "remote", "logout", "origin"])
|
||||
@unittest.mock.patch.object(modulus.cli, "upload_all_packages")
|
||||
@unittest.mock.patch.object(modulus.cli, "configure_conan_remote")
|
||||
def test_replace_requires_guard_env(self, configure, upload):
|
||||
@@ -127,7 +129,8 @@ class upload_packages_test(unittest.TestCase):
|
||||
upload.assert_not_called()
|
||||
@unittest.mock.patch.object(modulus.cli, "upload_all_packages", return_value=0)
|
||||
@unittest.mock.patch.object(modulus.cli, "configure_conan_remote", return_value=0)
|
||||
def test_replace_forces_upload_when_guarded(self, configure, upload):
|
||||
@unittest.mock.patch.object(modulus.cli, "run", return_value=0)
|
||||
def test_replace_forces_upload_when_guarded(self, run, configure, upload):
|
||||
context = self.context()
|
||||
with unittest.mock.patch.dict(
|
||||
os.environ,
|
||||
@@ -186,8 +189,9 @@ class upload_packages_test(unittest.TestCase):
|
||||
def test_docker_passthrough_includes_replace_env(self):
|
||||
passthrough = modulus.cli.docker_passthrough_env(self.context())
|
||||
self.assertIn("MODULUS_ALLOW_PACKAGE_REPLACE", passthrough)
|
||||
self.assertIn("PACKAGE_REGISTRY_USER", passthrough)
|
||||
self.assertIn("PACKAGE_REGISTRY_TOKEN", passthrough)
|
||||
for name in ("CONAN_USER", "CONAN_TOKEN", "PACKAGE_REGISTRY_USER", "PACKAGE_REGISTRY_TOKEN"):
|
||||
self.assertNotIn(name, passthrough)
|
||||
self.assertIn(name, modulus.cli.docker_passthrough_env(self.context(), publishing=True))
|
||||
self.assertIn("SAMPLE_PACKAGE_UPLOAD", passthrough)
|
||||
self.assertNotIn("CONAN_PACKAGE_VERSION", passthrough)
|
||||
self.assertNotIn("MODULUS_EXPORT_RUNTIME", passthrough)
|
||||
@@ -368,7 +372,8 @@ class upload_packages_test(unittest.TestCase):
|
||||
with unittest.mock.patch.dict(os.environ, {}, clear=True):
|
||||
status = modulus.cli.configure_conan_remote(self.context())
|
||||
self.assertEqual(status, 0)
|
||||
self.assertEqual(len(run.call_args_list), 1)
|
||||
self.assertEqual(len(run.call_args_list), 2)
|
||||
self.assertEqual(run.call_args_list[-1].args[1], ["conan", "remote", "logout", "origin"])
|
||||
self.assertEqual(
|
||||
run.call_args_list[0].args[1],
|
||||
[
|
||||
@@ -381,11 +386,11 @@ class upload_packages_test(unittest.TestCase):
|
||||
],
|
||||
)
|
||||
@unittest.mock.patch.object(modulus.cli, "run", return_value=0)
|
||||
def test_configure_remote_rejects_partial_conan_credentials(self, run):
|
||||
def test_configure_remote_ignores_partial_conan_credentials(self, run):
|
||||
with unittest.mock.patch.dict(os.environ, {"CONAN_USER": "dev"}, clear=True):
|
||||
status = modulus.cli.configure_conan_remote(self.context())
|
||||
self.assertEqual(status, 1)
|
||||
run.assert_not_called()
|
||||
self.assertEqual(status, 0)
|
||||
self.assertEqual(run.call_args_list[-1].args[1], ["conan", "remote", "logout", "origin"])
|
||||
@unittest.mock.patch.object(modulus.cli, "run", return_value=0)
|
||||
def test_configure_remote_skips_login_until_authentication_is_requested(self, run):
|
||||
context = self.context()
|
||||
@@ -399,7 +404,7 @@ class upload_packages_test(unittest.TestCase):
|
||||
):
|
||||
status = modulus.cli.configure_conan_remote(context)
|
||||
self.assertEqual(status, 0)
|
||||
self.assertEqual(len(run.call_args_list), 1)
|
||||
self.assertEqual(len(run.call_args_list), 2)
|
||||
self.assertEqual(
|
||||
run.call_args_list[0].args[1],
|
||||
[
|
||||
@@ -744,7 +749,7 @@ class upload_packages_test(unittest.TestCase):
|
||||
@unittest.mock.patch.object(modulus.cli, "create_package", return_value=0)
|
||||
@unittest.mock.patch.object(modulus.cli, "run", return_value=0)
|
||||
@unittest.mock.patch.object(modulus.cli, "in_docker", return_value=True)
|
||||
def test_package_rejects_partial_conan_credentials_before_create(self, docker, run, create_package):
|
||||
def test_package_checks_credentials_only_at_upload(self, docker, run, create_package):
|
||||
context = self.context()
|
||||
with unittest.mock.patch.dict(
|
||||
os.environ,
|
||||
@@ -762,8 +767,8 @@ class upload_packages_test(unittest.TestCase):
|
||||
],
|
||||
)
|
||||
self.assertEqual(status, 1)
|
||||
create_package.assert_not_called()
|
||||
run.assert_not_called()
|
||||
create_package.assert_called_once()
|
||||
self.assertEqual(run.call_args_list[-1].args[1], ["conan", "remote", "logout", "origin"])
|
||||
docker.assert_called_once()
|
||||
@unittest.mock.patch.object(modulus.cli, "clear_conan_deps")
|
||||
@unittest.mock.patch.object(modulus.cli, "run", return_value=0)
|
||||
|
||||
Reference in New Issue
Block a user