Condition Coverage

blib/lib/SignalWire/Agents/Agent/AgentBase.pm
Criterion Covered Total %
condition 77 150 51.3


and 3 conditions

line !l l&&!r l&&r condition
197 5 46 24 $self->use_pom and @{$self->pom_sections;}
259 2 1 21 $tool and $tool->{'_handler'}
553 141 0 1 $proto and $fhost
659 66 0 4 $self->post_prompt and $self->post_prompt ne ""
726 0 69 1 $self->context_builder and $self->context_builder->has_contexts
775 3 1 10 $route eq "" and $path eq "/"
789 1 0 7 $is_main and $req->method eq 'GET' || $req->method eq 'POST'
0 0 1 $is_swaig and $req->method eq "POST"
0 0 0 $is_post_prompt and $req->method eq "POST"
853 0 1 10 defined $user and defined $pass
862 1 1 8 $user_ok && $pass_ok
884 1 0 0 $req->method eq "POST" and $req->content_length
906 0 0 1 $body and ref $body eq "HASH"
912 0 0 1 $func_name and exists $self->tools->{$func_name}
919 0 0 1 $body->{'argument'} and ref $body->{'argument'}{'parsed'} eq "ARRAY"
0 0 1 $body->{'argument'} and ref $body->{'argument'}{'parsed'} eq "ARRAY" and @{$body->{'argument'}{'parsed'};}
932 1 0 0 builtin::blessed($result) and $result->can("to_hash")
1036 0 0 65 defined $read and $read == 32

or 2 conditions

line l !l condition
102 1 77 $ENV{'SWML_PROXY_URL_BASE'} || undef
147 158 1 $body // ""
160 1 5 $sec->{'subsections'} //= []
161 6 0 $body // ""
178 2 2 $sec->{'bullets'} //= []
208 160 2 $opts{'description'} // ""
209 142 20 $opts{'parameters'} // {"type", "object", "properties", {}}
354 4 1 $level //= 1
443 0 2 $params //= {}
527 2 0 $self->swaig_query_params->{$k} // ""
548 142 0 $env //= {}
562 0 140 $env->{'HTTPS'} || $env->{'psgi.url_scheme'} || 'http'
585 7 63 $request_env //= {}
652 3 0 $ai{'prompt'} //= {}
715 0 2 $ai{'params'} //= {}
721 0 2 $ai{'params'} //= {}
849 12 2 $env->{'HTTP_AUTHORIZATION'} // ""
851 11 0 eval { do { &decode_base64($1) } } // ""
921 1 0 $body->{'argument'}{'parsed'}[0] // {}
947 0 0 $body //= {}
1055 0 0 (($body->{'call'}{'from'} // $body->{'sip_from'}) // $body->{'from'}) // ""

or 3 conditions

line l !l&&r !l&&!r condition
93 1 65 0 $ENV{'SWML_BASIC_AUTH_USER'} || $self->name
98 1 65 0 $ENV{'SWML_BASIC_AUTH_PASSWORD'} || _generate_random_password()
207 162 1 0 $opts{'name'} // croak("define_tool requires 'name'")
235 22 1 0 $func_def->{'function'} // croak("register_swaig_function needs 'function' key")
564 0 140 0 $env->{'HTTP_HOST'} || $self->host . ':' . $self->port
570 0 4 0 $self->proxy_url_base // 'http://' . $self->host . ':' . $self->port
694 0 20 0 $func{'web_hook_url'} //= $webhook_url
772 13 0 1 $path eq $expected_route || $route ne '' && $path eq "$route/"
779 13 1 0 $is_main or $is_swaig
14 0 0 $is_main or $is_swaig or $is_post_prompt
789 7 0 0 $req->method eq 'GET' || $req->method eq 'POST'
810 1 0 19 $env->{'REQUEST_METHOD'} eq "POST" or $env->{'REQUEST_METHOD'} eq "PUT"
953 0 0 0 $body->{'post_prompt_data'}{'parsed'} // $body->{'post_prompt_data'}{'raw'}
1014 0 0 0 $opts{'host'} // $self->host
1015 0 0 0 $opts{'port'} // $self->port
1055 0 0 0 $body->{'call'}{'from'} // $body->{'sip_from'}
0 0 0 ($body->{'call'}{'from'} // $body->{'sip_from'}) // $body->{'from'}
1062 0 0 0 $body->{'call'}{'caller_id_number'} // $body->{'caller_id_number'}