fix(auth): Add temporary patch to workload cert logic to accomodate C… · googleapis/google-auth-library-python@78de790

@@ -334,6 +334,93 @@ def test_success_with_certificate_config(

334334

assert key == pytest.private_key_bytes

335335

assert passphrase is None

336336337+

@mock.patch(

338+

"google.auth.transport._mtls_helper._read_cert_and_key_files", autospec=True

339+

)

340+

@mock.patch(

341+

"google.auth.transport._mtls_helper._get_cert_config_path", autospec=True

342+

)

343+

@mock.patch("google.auth.transport._mtls_helper._load_json_file", autospec=True)

344+

@mock.patch("google.auth.transport._mtls_helper._check_config_path", autospec=True)

345+

def test_success_with_certificate_config_cloud_run_patch(

346+

self,

347+

mock_check_config_path,

348+

mock_load_json_file,

349+

mock_get_cert_config_path,

350+

mock_read_cert_and_key_files,

351+

):

352+

cert_config_path = "/path/to/config"

353+

mock_check_config_path.return_value = cert_config_path

354+

mock_load_json_file.return_value = {

355+

"cert_configs": {

356+

"workload": {

357+

"cert_path": _mtls_helper._INCORRECT_CLOUD_RUN_CERT_PATH,

358+

"key_path": _mtls_helper._INCORRECT_CLOUD_RUN_KEY_PATH,

359+

}

360+

}

361+

}

362+

mock_get_cert_config_path.return_value = cert_config_path

363+

mock_read_cert_and_key_files.return_value = (

364+

pytest.public_cert_bytes,

365+

pytest.private_key_bytes,

366+

)

367+368+

has_cert, cert, key, passphrase = _mtls_helper.get_client_ssl_credentials()

369+

assert has_cert

370+

assert cert == pytest.public_cert_bytes

371+

assert key == pytest.private_key_bytes

372+

assert passphrase is None

373+374+

mock_read_cert_and_key_files.assert_called_once_with(

375+

_mtls_helper._WELL_KNOWN_CLOUD_RUN_CERT_PATH,

376+

_mtls_helper._WELL_KNOWN_CLOUD_RUN_KEY_PATH,

377+

)

378+379+

@mock.patch("os.path.exists", autospec=True)

380+

@mock.patch(

381+

"google.auth.transport._mtls_helper._read_cert_and_key_files", autospec=True

382+

)

383+

@mock.patch(

384+

"google.auth.transport._mtls_helper._get_cert_config_path", autospec=True

385+

)

386+

@mock.patch("google.auth.transport._mtls_helper._load_json_file", autospec=True)

387+

@mock.patch("google.auth.transport._mtls_helper._check_config_path", autospec=True)

388+

def test_success_with_certificate_config_cloud_run_patch_skipped_if_cert_exists(

389+

self,

390+

mock_check_config_path,

391+

mock_load_json_file,

392+

mock_get_cert_config_path,

393+

mock_read_cert_and_key_files,

394+

mock_os_path_exists,

395+

):

396+

cert_config_path = "/path/to/config"

397+

mock_check_config_path.return_value = cert_config_path

398+

mock_os_path_exists.return_value = True

399+

mock_load_json_file.return_value = {

400+

"cert_configs": {

401+

"workload": {

402+

"cert_path": _mtls_helper._INCORRECT_CLOUD_RUN_CERT_PATH,

403+

"key_path": _mtls_helper._INCORRECT_CLOUD_RUN_KEY_PATH,

404+

}

405+

}

406+

}

407+

mock_get_cert_config_path.return_value = cert_config_path

408+

mock_read_cert_and_key_files.return_value = (

409+

pytest.public_cert_bytes,

410+

pytest.private_key_bytes,

411+

)

412+413+

has_cert, cert, key, passphrase = _mtls_helper.get_client_ssl_credentials()

414+

assert has_cert

415+

assert cert == pytest.public_cert_bytes

416+

assert key == pytest.private_key_bytes

417+

assert passphrase is None

418+419+

mock_read_cert_and_key_files.assert_called_once_with(

420+

_mtls_helper._INCORRECT_CLOUD_RUN_CERT_PATH,

421+

_mtls_helper._INCORRECT_CLOUD_RUN_KEY_PATH,

422+

)

423+337424

@mock.patch(

338425

"google.auth.transport._mtls_helper._get_workload_cert_and_key", autospec=True

339426

)