Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
Automattic\Jetpack\Connection\Authorize_Json_Api0%
Automattic\Jetpack\Connection\Connection_Assets0%
Automattic\Jetpack\Connection\Tokens_Locks0%
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_Admin1%
Jetpack_Tracks_Client14%
Automattic\Jetpack\Connection\SSO18%
Automattic\Jetpack\IdentityCrisis\UI26%
Jetpack_Tracks_Event35%
Automattic\Jetpack\Connection\Webhooks\Authorize_Redirect40%
Automattic\Jetpack\Connection\Secrets46%
Automattic\Jetpack\Connection\XMLRPC_Async_Call47%
Jetpack_XMLRPC_Server50%
Automattic\Jetpack\Heartbeat51%
Automattic\Jetpack\Connection\External_Storage52%
Automattic\Jetpack\Tracking54%
Jetpack_IXR_Client54%
Automattic\Jetpack\Connection\Urls58%
Automattic\Jetpack\Connection\Webhooks60%
Automattic\Jetpack\Connection\Manager60%
Automattic\Jetpack\Connection\SSO\Helpers65%
Jetpack_Options65%
Automattic\Jetpack\Partner_Coupon68%
Automattic\Jetpack\Identity_Crisis71%
Automattic\Jetpack\Connection\Client74%
Jetpack_Signature74%
Automattic\Jetpack\Connection\Jetpack_Connector75%
Automattic\Jetpack\Connection\Initial_State76%
Automattic\Jetpack\Connection\Tokens77%
Automattic\Jetpack\Connection\Plugin_Storage77%
Automattic\Jetpack\Connection\Utils79%
Automattic\Jetpack\Connection\Plugin80%
Automattic\Jetpack\IdentityCrisis\REST_Endpoints85%
Automattic\Jetpack\Partner85%
Automattic\Jetpack\Connection\Error_Handler85%
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\SSO18.1%17617198
Automattic\Jetpack\Connection\Manager60.3%3256916
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
Jetpack_Options65.5%80343
Automattic\Jetpack\Connection\SSO\Force_2FA0.0%16272
Automattic\Jetpack\Connection\Tokens77.4%101218
Automattic\Jetpack\Tracking54.5%41198
Jetpack_Signature74.5%81189
Automattic\Jetpack\Connection\External_Storage52.1%37187
Automattic\Jetpack\Connection\Traits\WPCOM_REST_API_Proxy_Request0.0%13182
Automattic\Jetpack\Connection\Users_Connection_Admin1.1%13176
Automattic\Jetpack\Connection\Error_Handler85.8%128174
Automattic\Jetpack\Connection\Secrets46.4%29158
Automattic\Jetpack\Connection\Webhooks\Authorize_Redirect40.3%25158
Automattic\Jetpack\Connection\SSO\Notices0.0%11132
Automattic\Jetpack\Heartbeat51.9%30129
Automattic\Jetpack\Partner_Coupon68.4%50129
Automattic\Jetpack\Connection\Jetpack_Connector75.3%64126
Automattic\Jetpack\Connection\Client74.4%61123
Automattic\Jetpack\Connection\SSO\Helpers65.4%43119
Jetpack_Tracks_Event35.7%19114
Automattic\Jetpack\Connection\Webhooks60.0%3192
Automattic\Jetpack\Connection\Urls58.6%2778
Automattic\Jetpack\Connection\XMLRPC_Connector0.0%756
Jetpack_IXR_Client54.7%1743
Automattic\Jetpack\Connection\Plugin_Storage77.8%3039
Automattic\Jetpack\Connection\XMLRPC_Async_Call47.8%1337
Automattic\Jetpack\Connection\Rest_Authentication87.5%2930
Automattic\Jetpack\Connection\Tokens_Locks0.0%530
Automattic\Jetpack\IdentityCrisis\REST_Endpoints85.4%2425
Automattic\Jetpack\Partner85.7%2021
Automattic\Jetpack\Connection\Connection_Notice86.4%1818
Automattic\Jetpack\Connection\Utils79.1%1213
Automattic\Jetpack\Connection\Plugin80.0%99
Jetpack_IXR_ClientMulticall86.7%55
Automattic\Jetpack\Connection\Initial_State76.2%55

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
get_jetpack_error0%
get_response_header0%
get_last_response0%
query0%
get_option_and_ensure_autoload0%
get_all_jetpack_options0%
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%
register_verify_error_endpoint0%
log_event0%
cron_exec0%
jetpack_xmlrpc_methods0%
xmlrpc_data_response0%
cli_callback0%
set_connection_script_data0%
render_script0%
configure0%
add_connection_status_invalidation_hooks0%
setup_xmlrpc_handlers0%
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%
add_stats_to_heartbeat0%
get_site_id0%
clean_scheduled0%
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%
set_reject0%
__construct0%
aiowpm_set_lock0%
aiowpm_remove_lock0%
init_aiowpm0%
validate_blog_token0%
ajax_tracks0%
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_id0%
init_default_constants0%
init0%
fallback_jetpack_controller0%
handle_authorize_redirect0%
do_exit0%
do_calls0%
__construct0%
xmlrpc_methods0%
verify_registration0%
output0%
enqueue_script_module0%
get_current_user_data0%
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%
add_two_factor_session_meta0%
__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%
generic_admin_notice_error17%
remote_provision22%
get_anon_id23%
verify24%
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%
migrate_stats_and_subscribers41%
_wp_remote_request42%
encrypt_data_to_wpcom50%
set_lock50%
sign_current_request51%
remote_register57%
wpcom_json_api_request_as_blog57%
ensure_configured57%
confirm_safe_mode58%
disconnect_user_force60%
disconnect_site60%
authorize62%
remote_authorize65%
is_network_option66%
update_options66%
__construct66%
error66%
registration_url66%
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%
update_raw_option68%
delete_option69%
update_option70%
query70%
get_access_token70%
internal_verify_xml_rpc_signature70%
get_coupon_preset71%
update_active_plugins_option71%
is_only71%
login_body_class71%
get72%
filter_connect_request_body73%
get_option_from_database75%
should_allow_error_filtering75%
delete_all_api_errors75%
update_package_versions_option75%
array_keys_exist75%
disconnect_user75%
url_is_ip75%
create_secret75%
filter_connect_redirect_url75%
refresh_blog_token76%
validate_and_sanitize76%
get77%
handle_authorize77%
get_code_as_array77%
is_locked77%
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%
clear_all_idc_options81%
register81%
try_registration82%
get_option83%
get_partner_code83%
tracks_get_identity84%
get_consumer_data84%
unlink_user85%
verify_action85%
get_custom_login_url85%
validate_broker_url85%
get_protocol_normalized_url86%
generate_user86%
is_connected87%
disconnect_user87%
remote_provision87%
sign_role87%
controller87%
__construct87%
get_valid_delay_from_existing_idc87%
wp_rest_authenticate87%
jetpack_react_dashboard_error88%
should_log_event88%
disconnect_site_wpcom88%
maybe_purge_coupon_by_added_date88%
generate89%
build_signed_request89%

Project Risks

Method Coverage Complexity CRAP
handle_login0.0%321056
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
setup_xmlrpc_handlers0.0%11132
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
maybe_clear_migrate_option0.0%990
login_form0.0%990
sign_current_request51.5%2489
validate_remote_register_response29.2%1373
ajax_tracks0.0%872
locate_wp_config0.0%872
save_cookies0.0%872
revoke_user_invite0.0%872
jetpack_user_table_row_actions0.0%872
sign_request68.1%2956
maybe_purge_coupon0.0%756
validate_blog_token0.0%756
get_access_token70.4%3156
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
internal_verify_xml_rpc_signature70.6%3052
_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
add_stats_to_heartbeat0.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
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
generic_admin_notice_error17.6%626
record_event33.3%721
get_jetpack_error0.0%420
get_all_jetpack_options0.0%420
delete_all_known_options0.0%420
login0.0%420
configure0.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
authorize62.2%1219
wp_rest_authenticate87.7%1919
remote_provision22.2%516
register81.9%1516
get_consumer_data84.6%1616
build_signed_request89.6%1515
delete_all_api_errors75.0%1214
get_value68.4%1013
add_ip_requester_to_url_validation_response30.0%513
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_error88.9%1212
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
add_two_factor_session_meta0.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
refresh_blog_token76.7%910
connection_register80.0%1010
migrate_stats_and_subscribers41.2%510
query70.4%89
tracks_get_identity84.0%99
error66.7%78
controller87.5%88
handle_authorize77.4%88
normalize_url_protocol_agnostic36.4%48
delete_option69.2%67
disconnect_site_wpcom88.9%77
update_user_token78.9%77
get_new_signature80.8%77
is_locked77.8%77
get_connected_user_tracks_identity0.0%26
unlink_user0.0%26
xmlrpc_data_response0.0%26
set_connection_script_data0.0%26
add_connection_status_invalidation_hooks0.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
__construct0.0%26
enqueue_scripts0.0%26
generate_user87.0%66
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_option83.3%44
should_allow_error_filtering75.0%44
is_connected87.5%44
get_coupon_preset71.4%44
get_partner_code83.3%44
update_active_plugins_option71.4%44
remote_provision_permission_check80.0%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
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
url_is_ip75.0%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
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
set_lock50.0%22
__construct87.5%22
clear_all_idc_options81.8%22
confirm_safe_mode58.3%22