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%
Automattic\Jetpack\Connection\SSO20%
Automattic\Jetpack\IdentityCrisis\UI26%
Automattic\Jetpack\Connection\Webhooks\Authorize_Redirect40%
Automattic\Jetpack\Connection\Secrets46%
Automattic\Jetpack\Connection\XMLRPC_Async_Call47%
Automattic\Jetpack\Connection\Tokens_Locks50%
Automattic\Jetpack\Heartbeat51%
Automattic\Jetpack\Connection\External_Storage52%
Automattic\Jetpack\Tracking54%
Automattic\Jetpack\Connection\Urls58%
Automattic\Jetpack\Connection\Webhooks63%
Automattic\Jetpack\Connection\Connection_Health_Tests65%
Automattic\Jetpack\Connection\SSO\Helpers65%
Automattic\Jetpack\Connection\Manager66%
Automattic\Jetpack\Partner_Coupon68%
Automattic\Jetpack\Identity_Crisis71%
Automattic\Jetpack\Connection\Jetpack_Connector73%
Automattic\Jetpack\Connection\Client74%
Automattic\Jetpack\Connection\Site_Health75%
Automattic\Jetpack\Connection\Initial_State76%
Automattic\Jetpack\Connection\Tokens77%
Automattic\Jetpack\Connection\Plugin_Storage77%
Automattic\Jetpack\Connection\Utils79%
Automattic\Jetpack\Connection\Plugin80%
Automattic\Jetpack\Connection\Connection_Health_Test_Base85%
Automattic\Jetpack\Partner85%
Automattic\Jetpack\Connection\Error_Handler85%
Automattic\Jetpack\IdentityCrisis\REST_Endpoints86%
Automattic\Jetpack\Connection\Connection_Notice86%
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\Manager66.7%3304339
Automattic\Jetpack\Identity_Crisis71.6%175878
Automattic\Jetpack\Connection\Authorize_Json_Api0.0%26702
Automattic\Jetpack\IdentityCrisis\UI26.5%34492
Automattic\Jetpack\Connection\Connection_Health_Tests65.0%94471
Automattic\Jetpack\Connection\Users_Connection_Admin0.9%18333
Automattic\Jetpack\Connection\SSO\Force_2FA0.0%16272
Automattic\Jetpack\Connection\Tokens77.4%101218
Automattic\Jetpack\Tracking54.5%41198
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\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\Connection_Health_Test_Base85.4%97126
Automattic\Jetpack\Connection\Client74.4%61123
Automattic\Jetpack\Connection\SSO\Helpers65.4%43119
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
Automattic\Jetpack\Partner85.7%2021
Automattic\Jetpack\Connection\Connection_Notice86.4%1818
Automattic\Jetpack\Connection\Site_Health75.0%1518
Automattic\Jetpack\Connection\Utils79.1%1213
Automattic\Jetpack\Connection\Plugin80.0%99
Automattic\Jetpack\Connection\Tokens_Locks50.0%58
Automattic\Jetpack\Connection\Initial_State76.2%55

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
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%
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%
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_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%
generic_admin_notice_error17%
verify24%
test__xml_parser_available25%
validate_remote_register_response29%
add_ip_requester_to_url_validation_response30%
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%
migrate_stats_and_subscribers52%
wpcom_json_api_request_as_blog57%
ensure_configured57%
disconnect_user_force60%
disconnect_site60%
confirm_safe_mode61%
authorize62%
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%
get_value68%
offline_mode_trigger_text69%
get_access_token70%
internal_verify_xml_rpc_signature70%
get_coupon_preset71%
update_active_plugins_option71%
is_only71%
test__master_user_can_manage_options71%
login_body_class71%
make_site_health_callback72%
get72%
filter_connect_request_body73%
should_allow_error_filtering75%
delete_all_api_errors75%
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%
get77%
handle_authorize77%
get_code_as_array77%
is_locked77%
update_user_token78%
__construct80%
deactivate80%
rest_heartbeat_data_permission_check80%
add_stats_to_heartbeat80%
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%
test__identity_crisis82%
get_partner_code83%
tracks_get_identity84%
get_consumer_data84%
set_wpcom_user_id_meta84%
unlink_user85%
connection_test_permission_check85%
output_results_for_core_async_site_health85%
get_custom_login_url85%
validate_broker_url85%
get_protocol_normalized_url86%
generate_user86%
is_connected87%
disconnect_user87%
track_xmlrpc_error87%
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%
list_tests88%
encrypt_string_for_wpcom88%
generate89%
test__server_port_value89%
build_signed_request89%

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
is_usable_domain0.0%990
last__wpcom_self_test0.0%990
maybe_clear_migrate_option0.0%990
login_form0.0%990
setup_xmlrpc_handlers14.8%1185
output_results_for_cli10.5%1081
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
test__wpcom_connection_test10.5%967
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
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
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
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
generic_admin_notice_error17.6%626
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
connection_test_for_external45.7%818
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
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
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
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
disconnect_site_wpcom88.9%77
add_stats_to_heartbeat80.0%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
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
__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
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
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
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
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
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