def test_main__buries_error(capfd): """PyPICloud should only be updated on success.""" bucket = mock.Mock() settings = mock.Mock() settings.items = ["faked"] with mock.patch.object(upload, "get_settings", return_value=settings): with mock.patch.object(upload, "get_bucket_conn", return_value=bucket): with mock.patch.object(upload, "upload_file", side_effect=IOError): with mock.patch.object(upload, "update_cloud") as cloud_patch: upload.main() out, err = capfd.readouterr() assert "Error uploading faked: " in err assert not out assert not cloud_patch.called
def test_main(capfd): """Mock all calls, ensure the command line entry point flow.""" bucket = mock.Mock() settings = mock.Mock() settings.items = ["faked"] with mock.patch.object(upload, "get_settings", return_value=settings) as settings_patch: with mock.patch.object(upload, "get_bucket_conn", return_value=bucket) as bucket_patch: with mock.patch.object(upload, "upload_file") as upload_patch: with mock.patch.object(upload, "update_cloud") as cloud_patch: upload.main() settings_patch.assert_called_once_with(upload=True) bucket_patch.assert_called_once_with(settings.s3) cloud_patch.assert_called_once_with(settings.pypi) upload_patch.assert_called_once_with("faked", bucket, settings.s3) out, err = capfd.readouterr() assert not err assert "PyPICloud server at {} updated".format(settings.pypi.server) in out