Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
Automattic\Jetpack\Connection\Authorize_Json_Api0%
Automattic\Jetpack\Connection\Connection_Assets0%
Automattic\Jetpack\Connection\XMLRPC_Connector0%
Automattic\Jetpack\Connection\SSO\Force_2FA0%
Automattic\Jetpack\Connection\SSO\Notices0%
Automattic\Jetpack\Connection\SSO\User_Admin0%
Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request0%
Automattic\Jetpack\Connection\Users_Connection_Admin0%
Jetpack_Tracks_Client14%
Automattic\Jetpack\Connection\SSO20%
Automattic\Jetpack\IdentityCrisis\UI26%
Jetpack_Tracks_Event35%
Automattic\Jetpack\Connection\Webhooks\Authorize_Redirect40%
Automattic\Jetpack\Connection\Secrets46%
Automattic\Jetpack\Connection\XMLRPC_Async_Call47%
Automattic\Jetpack\Connection\Tokens_Locks50%
Jetpack_XMLRPC_Server50%
Automattic\Jetpack\Connection\External_Storage52%
Automattic\Jetpack\Heartbeat53%
Automattic\Jetpack\Connection\Urls58%
Automattic\Jetpack\Tracking62%
Automattic\Jetpack\Connection\Webhooks63%
Automattic\Jetpack\Connection\SSO\Helpers65%
Automattic\Jetpack\Connection\Connection_Health_Tests66%
Automattic\Jetpack\Partner_Coupon68%
Automattic\Jetpack\Connection\Manager68%
Automattic\Jetpack\Identity_Crisis71%
Jetpack_Options72%
Automattic\Jetpack\Connection\Jetpack_Connector73%
Jetpack_Signature74%
Automattic\Jetpack\Connection\Client76%
Automattic\Jetpack\Connection\Site_Health76%
Automattic\Jetpack\Connection\Plugin_Storage77%
Automattic\Jetpack\Connection\Tokens79%
Automattic\Jetpack\Connection\Utils79%
Jetpack_IXR_Client79%
Automattic\Jetpack\Connection\Plugin80%
Automattic\Jetpack\Connection\Initial_State84%
Automattic\Jetpack\Connection\Connection_Health_Test_Base85%
Automattic\Jetpack\Partner85%
Automattic\Jetpack\IdentityCrisis\REST_Endpoints86%
Automattic\Jetpack\Connection\Connection_Notice86%
Jetpack_IXR_ClientMulticall86%
Automattic\Jetpack\Connection\Rest_Authentication87%

Project Risks

Class Coverage Complexity CRAP
Automattic\Jetpack\Connection\SSO\User_Admin0.0%13819182
Automattic\Jetpack\Connection\SSO20.8%18917919
Automattic\Jetpack\Connection\Manager68.6%3624432
Jetpack_XMLRPC_Server50.5%86985
Automattic\Jetpack\Identity_Crisis71.6%175878
Automattic\Jetpack\Connection\Authorize_Json_Api0.0%26702
Automattic\Jetpack\IdentityCrisis\UI26.5%34492
Jetpack_Tracks_Client14.5%27481
Automattic\Jetpack\Connection\Connection_Health_Tests66.9%99453
Automattic\Jetpack\Heartbeat53.1%57393
Automattic\Jetpack\Connection\Users_Connection_Admin0.9%18333
Automattic\Jetpack\Connection\SSO\Force_2FA0.0%16272
Jetpack_Options72.5%80212
Automattic\Jetpack\Connection\Tokens79.1%102197
Jetpack_Signature74.5%81189
Automattic\Jetpack\Connection\External_Storage52.1%37187
Automattic\Jetpack\Connection\Jetpack_Connector73.8%77184
Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request0.0%13182
Automattic\Jetpack\Connection\Secrets46.4%29158
Automattic\Jetpack\Connection\Webhooks\Authorize_Redirect40.3%25158
Automattic\Jetpack\Tracking62.1%41132
Automattic\Jetpack\Connection\SSO\Notices0.0%11132
Automattic\Jetpack\Partner_Coupon68.4%50129
Automattic\Jetpack\Connection\Client76.1%67128
Automattic\Jetpack\Connection\Connection_Health_Test_Base85.4%97126
Automattic\Jetpack\Connection\SSO\Helpers65.4%43119
Jetpack_Tracks_Event35.7%19114
Automattic\Jetpack\Connection\Urls58.6%2778
Automattic\Jetpack\Connection\Webhooks63.5%3177
Automattic\Jetpack\Connection\XMLRPC_Connector0.0%756
Automattic\Jetpack\Connection\Plugin_Storage77.8%3039
Automattic\Jetpack\Connection\XMLRPC_Async_Call47.8%1337
Automattic\Jetpack\Connection\Rest_Authentication87.5%2930
Automattic\Jetpack\IdentityCrisis\REST_Endpoints86.2%2728
Jetpack_IXR_Client79.7%2327
Automattic\Jetpack\Partner85.7%2021
Automattic\Jetpack\Connection\Site_Health76.3%1720
Automattic\Jetpack\Connection\Connection_Notice86.4%1818
Automattic\Jetpack\Connection\Utils79.1%1213
Automattic\Jetpack\Connection\Plugin80.0%99
Automattic\Jetpack\Connection\Initial_State84.4%88
Automattic\Jetpack\Connection\Tokens_Locks50.0%58
Jetpack_IXR_ClientMulticall86.7%55

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
get_response_header0%
get_last_response0%
query0%
get_option_and_ensure_autoload0%
get_all_wp_options0%
get_options_for_reset0%
delete_all_known_options0%
record_pixel0%
build_timestamp0%
get_connected_user_tracks_identity0%
build_pixel_url0%
event_name_is_valid0%
prop_name_is_valid0%
scrutinize_event_names0%
xmlrpc_methods0%
bootstrap_xmlrpc_methods0%
authorize_xmlrpc_methods0%
provision_xmlrpc_methods0%
remote_already_registered0%
login0%
test_connection0%
test_api_user_code0%
unlink_user0%
update_attachment_parent0%
verify_json_api_authorization_request0%
add_token_to_login_redirect_json_api_authorization0%
store_json_api_authorization_token0%
login_message_json_api_authorization0%
wpcom_json_api_request_as_user0%
_stringify_data0%
configure0%
register_assets0%
initialize_notices0%
log_event0%
cron_exec0%
jetpack_xmlrpc_methods0%
xmlrpc_data_response0%
cli_callback0%
set_connection_script_data0%
render_script0%
initialize_rest_api_registration_connector0%
alternate_xmlrpc0%
remove_non_jetpack_xmlrpc_methods0%
require_jetpack_authentication0%
authenticate_jetpack0%
is_missing_connection_owner0%
connect_user0%
generate_secrets0%
remove_connection0%
handle_registration0%
handle_authorization0%
get_token0%
sha1_base640%
is_usable_domain0%
xmlrpc_methods0%
reset_raw_post_data0%
public_xmlrpc_methods0%
jetpack_get_options0%
xmlrpc_options0%
get_site_id0%
clean_scheduled0%
update_on_shutdown0%
register_coupon_admin_hooks0%
catch_coupon0%
maybe_purge_coupon0%
get_one0%
delete0%
get_slug0%
is_signed_with_user_token0%
verify_registration0%
log_new_signature_error0%
ajax_local_testing_suite0%
set_reject0%
aiowpm_set_lock0%
aiowpm_remove_lock0%
validate_blog_token0%
register_tracks_functions_scripts0%
enqueue_tracks_scripts0%
normalize_www_in_url0%
main_network_site_url0%
maybe_add_origin_site_id0%
init0%
add_connection_column0%
render_connection_column0%
enqueue_scripts0%
add_connection_column_styles0%
get_column_tooltip_text0%
get_column_id0%
init_default_constants0%
fallback_jetpack_controller0%
handle_authorize_redirect0%
do_exit0%
do_calls0%
__construct0%
xmlrpc_methods0%
verify_registration0%
output0%
enqueue_script_module0%
get_current_user_data0%
get_inline_connector_logo_url0%
helper_get_timeout_text0%
check_identity_crisis0%
check_blog_token_health0%
check_tokens_health0%
last__wpcom_self_test0%
do_jetpack_idc_disconnect0%
maybe_clear_migrate_option0%
wordpress_init0%
display_admin_bar_button0%
detect_possible_dynamic_site_url0%
locate_wp_config0%
maybe_update_ip_requester0%
start_fresh_connection0%
init0%
enqueue_scripts0%
render_container0%
get_initial_state0%
get_initial_state_data0%
get_platform0%
__construct0%
plugins_loaded0%
admin_notice0%
force_2fa0%
jetpack_set_two_step0%
get_login_error_message0%
clear_wpcom_profile_cookies0%
delete_connection_for_user0%
error_msg_enable_two_step0%
error_msg_email_already_exists0%
error_msg_identity_crisis0%
error_invalid_response_data0%
error_unable_to_create_user0%
disable_default_login_form0%
msg_login_by_jetpack0%
get_sso_required_message0%
cant_find_user0%
sso_not_allowed_in_safe_mode0%
maybe_logout_user0%
xmlrpc_user_disconnect0%
login_enqueue_scripts0%
print_inline_admin_css0%
register_settings0%
render_require_two_step0%
render_match_by_email0%
wants_to_login0%
login_init0%
display_sso_login_form0%
save_cookies0%
login_form0%
clear_cookies_after_login0%
disconnect0%
request_initial_nonce0%
handle_login0%
get_sso_url_or_die0%
build_sso_url0%
build_reauth_and_sso_url0%
maybe_authorize_user_after_sso0%
store_wpcom_profile_cookies_on_logout0%
__construct0%
jetpack_new_users_styles0%
set_user_query0%
revoke_user_invite0%
handle_invitation_results0%
invite_user_to_wpcom0%
send_revoke_wpcom_invite0%
handle_request_revoke_invite0%
handle_request_resend_invite0%
jetpack_user_table_row_actions0%
render_invitation_email_message0%
render_invitations_notices_for_deleted_users0%
render_wpcom_invite_checkbox0%
render_wpcom_external_user_checkbox0%
render_custom_email_message_form_field0%
should_send_wp_mail_new_user0%
send_wpcom_mail_user_invite0%
rebuild_invite_cache0%
get_pending_cached_wpcom_invite0%
has_pending_wpcom_invite0%
delete_external_contributor0%
jetpack_show_connection_status0%
create_error_notice_and_redirect0%
jetpack_user_table_styles0%
enqueue_scripts0%
handle0%
proxy_request_to_wpcom0%
proxy_request_to_wpcom_as_user0%
proxy_request_to_wpcom_as_blog0%
output_results_for_cli10%
test__wpcom_connection_test10%
setup_xmlrpc_handlers14%
permit_ssl17%
remote_provision22%
get_anon_id23%
verify24%
test__xml_parser_available25%
fetch_and_verify_local_user27%
validate_remote_register_response29%
add_ip_requester_to_url_validation_response30%
record_event33%
normalize_url_protocol_agnostic36%
set_time_diff40%
handle_connect_url_redirect40%
_wp_remote_request42%
connection_test_for_external45%
get_signed_user_token_for_wpcom_id47%
encrypt_data_to_wpcom50%
set_lock50%
ajax_tracks50%
sign_current_request51%
migrate_stats_and_subscribers52%
remote_register57%
wpcom_json_api_request_as_blog57%
get_active_plugins57%
ensure_configured57%
disconnect_user_force60%
disconnect_site60%
confirm_safe_mode61%
remote_authorize65%
is_network_option66%
update_options66%
__construct66%
error66%
registration_url66%
build_connection_error_data66%
add_register_request_param66%
apply_activation_source_to_args66%
is_sync_enabled66%
add_subsidiary_id_to_params_array66%
add_affiliate_code_to_params_array66%
jetpack_reconnect_permission_check66%
jetpack_register_permission_check66%
set_connection_owner_permission_check66%
sign_request68%
get_value68%
authorize68%
update_raw_option68%
delete_option69%
offline_mode_trigger_text69%
update_option70%
get_coupon_preset71%
update_active_plugins_option71%
is_only71%
test__master_user_can_manage_options71%
login_body_class71%
make_site_health_callback72%
get72%
internal_verify_xml_rpc_signature72%
filter_connect_request_body73%
get_option_from_database75%
should_allow_error_filtering75%
update_package_versions_option75%
array_keys_exist75%
__construct75%
disconnect_user75%
raw_results75%
test__connection_token_health75%
url_is_ip75%
create_secret75%
filter_connect_redirect_url75%
refresh_blog_token76%
validate_and_sanitize76%
get77%
handle_authorize77%
get_jetpack_error77%
get_code_as_array77%
is_locked77%
get_access_token78%
get_environment_stats78%
update_user_token78%
__construct80%
deactivate80%
rest_heartbeat_data_permission_check80%
get_coupon_product80%
remote_authorize80%
remote_provision_permission_check80%
connection_plugins_permission_check80%
connection_register80%
connection_check_permission_check80%
should_remote_validate_idc80%
add_secret_to_url_validation_response80%
get_new_signature80%
add_stats_to_heartbeat81%
clear_all_idc_options81%
register81%
try_registration82%
test__identity_crisis82%
get_partner_code83%
tracks_get_identity84%
get_consumer_data84%
set_wpcom_user_id_meta84%
unlink_user85%
query85%
verify_action85%
connection_test_permission_check85%
output_results_for_core_async_site_health85%
get_custom_login_url85%
validate_broker_url85%
get_protocol_normalized_url86%
generate_user86%
store_error87%
is_connected87%
disconnect_user87%
track_xmlrpc_error87%
remote_provision87%
sign_role87%
controller87%
__construct87%
get_valid_delay_from_existing_idc87%
wp_rest_authenticate87%
should_log_event88%
disconnect_site_wpcom88%
maybe_purge_coupon_by_added_date88%
list_tests88%
encrypt_string_for_wpcom88%
jetpack_react_dashboard_error89%
generate89%
test__server_port_value89%

Project Risks

Method Coverage Complexity CRAP
handle_login0.0%341190
verify_json_api_authorization_request0.0%23552
handle_invitation_results0.0%22506
log_event0.0%15240
send_wpcom_mail_user_invite0.0%15240
invite_user_to_wpcom0.0%14210
login_init0.0%12156
handle0.0%12156
proxy_request_to_wpcom0.0%11132
verify24.2%15113
handle_request_revoke_invite0.0%10110
test_api_user_code0.0%990
is_usable_domain0.0%990
last__wpcom_self_test0.0%990
maybe_clear_migrate_option0.0%990
login_form0.0%990
sign_current_request51.5%2489
setup_xmlrpc_handlers14.8%1185
output_results_for_cli10.5%1081
validate_remote_register_response29.2%1373
locate_wp_config0.0%872
save_cookies0.0%872
revoke_user_invite0.0%872
jetpack_user_table_row_actions0.0%872
test__wpcom_connection_test10.5%967
sign_request68.1%2956
maybe_purge_coupon0.0%756
validate_blog_token0.0%756
normalize_www_in_url0.0%756
do_calls0.0%756
get_initial_state_data0.0%756
request_initial_nonce0.0%756
handle_request_resend_invite0.0%756
rebuild_invite_cache0.0%756
get_anon_id23.1%1055
permit_ssl17.9%953
internal_verify_xml_rpc_signature72.9%3252
_wp_remote_request42.3%1451
wpcom_json_api_request_as_user0.0%642
_stringify_data0.0%642
initialize_notices0.0%642
cron_exec0.0%642
get_access_token78.2%3242
check_tokens_health0.0%642
clear_cookies_after_login0.0%642
has_pending_wpcom_invite0.0%642
set_time_diff40.0%1031
handle_connect_url_redirect40.0%1031
get_option_and_ensure_autoload0.0%530
scrutinize_event_names0.0%530
cli_callback0.0%530
authenticate_jetpack0.0%530
get_site_id0.0%530
get_column_tooltip_text0.0%530
get_inline_connector_logo_url0.0%530
check_identity_crisis0.0%530
wordpress_init0.0%530
detect_possible_dynamic_site_url0.0%530
force_2fa0.0%530
wants_to_login0.0%530
render_invitations_notices_for_deleted_users0.0%530
render_custom_email_message_form_field0.0%530
get_pending_cached_wpcom_invite0.0%530
get77.1%2227
remote_register57.1%1326
record_event33.3%721
delete_all_known_options0.0%420
login0.0%420
connect_user0.0%420
catch_coupon0.0%420
init0.0%420
output0.0%420
enqueue_script_module0.0%420
get_current_user_data0.0%420
display_admin_bar_button0.0%420
start_fresh_connection0.0%420
get_platform0.0%420
jetpack_set_two_step0.0%420
get_sso_url_or_die0.0%420
build_reauth_and_sso_url0.0%420
maybe_authorize_user_after_sso0.0%420
jetpack_show_connection_status0.0%420
wp_rest_authenticate87.7%1919
connection_test_for_external45.7%818
remote_provision22.2%516
register81.9%1516
authorize68.4%1216
ajax_tracks50.0%816
get_consumer_data84.6%1616
get_value68.4%1013
add_ip_requester_to_url_validation_response30.0%513
query85.4%1212
get_response_header0.0%312
record_pixel0.0%312
build_pixel_url0.0%312
xmlrpc_methods0.0%312
remote_authorize65.2%912
jetpack_react_dashboard_error89.3%1212
get_environment_stats78.6%1112
remove_non_jetpack_xmlrpc_methods0.0%312
jetpack_get_options0.0%312
get_one0.0%312
delete0.0%312
log_new_signature_error0.0%312
maybe_add_origin_site_id0.0%312
render_connection_column0.0%312
maybe_update_ip_requester0.0%312
init0.0%312
admin_notice0.0%312
clear_wpcom_profile_cookies0.0%312
delete_connection_for_user0.0%312
login_body_class71.4%1012
display_sso_login_form0.0%312
build_sso_url0.0%312
store_wpcom_profile_cookies_on_logout0.0%312
render_wpcom_invite_checkbox0.0%312
render_wpcom_external_user_checkbox0.0%312
should_send_wp_mail_new_user0.0%312
disconnect_user87.5%1111
disconnect_site60.9%811
unlink_user85.0%1111
test__server_port_value89.5%1111
refresh_blog_token76.7%910
connection_register80.0%1010
list_tests88.9%1010
test__identity_crisis82.4%1010
tracks_get_identity84.0%99
raw_results75.0%89
offline_mode_trigger_text69.2%89
error66.7%78
make_site_health_callback72.3%78
controller87.5%88
handle_authorize77.4%88
output_results_for_core_async_site_health85.7%88
normalize_url_protocol_agnostic36.4%48
get_signed_user_token_for_wpcom_id47.4%58
delete_option69.2%67
store_error87.5%77
disconnect_site_wpcom88.9%77
add_stats_to_heartbeat81.2%77
update_user_token78.9%77
get_new_signature80.8%77
is_locked77.8%77
encrypt_string_for_wpcom88.9%77
test__connection_token_health75.0%77
migrate_stats_and_subscribers52.4%57
get_connected_user_tracks_identity0.0%26
unlink_user0.0%26
xmlrpc_data_response0.0%26
set_connection_script_data0.0%26
require_jetpack_authentication0.0%26
is_missing_connection_owner0.0%26
disconnect_user_force60.0%56
try_registration82.4%66
handle_registration0.0%26
public_xmlrpc_methods0.0%26
xmlrpc_options0.0%26
ensure_configured57.1%56
is_signed_with_user_token0.0%26
ajax_local_testing_suite0.0%26
enqueue_scripts0.0%26
generate_user87.0%66
check_blog_token_health0.0%26
do_jetpack_idc_disconnect0.0%26
enqueue_scripts0.0%26
plugins_loaded0.0%26
disable_default_login_form0.0%26
maybe_logout_user0.0%26
xmlrpc_user_disconnect0.0%26
login_enqueue_scripts0.0%26
disconnect0.0%26
validate_broker_url85.7%66
__construct0.0%26
delete_external_contributor0.0%26
create_error_notice_and_redirect0.0%26
enqueue_scripts0.0%26
filter_connect_request_body73.7%66
get_option_from_database75.0%55
update_option70.0%55
update_raw_option69.0%55
validate_and_sanitize76.9%55
__construct80.0%55
get_coupon_product80.0%55
get_code_as_array77.8%55
is_only71.4%55
generate89.5%55
sign_role87.5%55
get_protocol_normalized_url86.7%55
get_valid_delay_from_existing_idc87.5%55
should_remote_validate_idc80.0%55
get_jetpack_error77.8%44
should_allow_error_filtering75.0%44
is_connected87.5%44
track_xmlrpc_error87.5%44
get_coupon_preset71.4%44
get_partner_code83.3%44
update_active_plugins_option71.4%44
remote_provision_permission_check80.0%44
test__master_user_can_manage_options71.4%44
add_secret_to_url_validation_response80.0%44
filter_connect_redirect_url75.0%44
update_options66.7%33
__construct66.7%33
fetch_and_verify_local_user27.3%23
registration_url66.7%33
wpcom_json_api_request_as_blog57.1%33
should_log_event88.9%33
get_active_plugins57.1%33
rest_heartbeat_data_permission_check80.0%33
add_register_request_param66.7%33
apply_activation_source_to_args66.7%33
update_package_versions_option75.0%33
is_sync_enabled66.7%33
maybe_purge_coupon_by_added_date88.9%33
array_keys_exist75.0%33
remote_provision87.5%33
connection_plugins_permission_check80.0%33
connection_check_permission_check80.0%33
get72.7%33
disconnect_user75.0%33
test__xml_parser_available25.0%23
url_is_ip75.0%33
confirm_safe_mode61.5%33
create_secret75.0%33
get_custom_login_url85.7%33
is_network_option66.7%22
verify_action85.7%22
encrypt_data_to_wpcom50.0%22
deactivate80.0%22
build_connection_error_data66.7%22
add_subsidiary_id_to_params_array66.7%22
add_affiliate_code_to_params_array66.7%22
remote_authorize80.0%22
jetpack_reconnect_permission_check66.7%22
jetpack_register_permission_check66.7%22
set_connection_owner_permission_check66.7%22
connection_test_permission_check85.7%22
__construct75.0%22
set_lock50.0%22
__construct87.5%22
clear_all_idc_options81.8%22
set_wpcom_user_id_meta84.6%22