Branch Coverage

blib/lib/App/Dochazka/REST/Dispatch.pm
Criterion Covered Total %
branch 0 552 0.0


line true false branch
144 0 0 unless $status->ok
149 0 0 if ($status->ok and $status->code eq 'DISPATCH_RECORDS_FOUND')
172 0 0 if ref $App::Dochazka::REST::Dispatch::router and $App::Dochazka::REST::Dispatch::router->can('match')
194 0 0 if $pass == 1
214 0 0 if $pass == 1
235 0 0 if $pass == 1
239 0 0 unless ref $conn and $conn->can('dbh')
280 0 0 if $pass == 1
286 0 0 if ($docu_resource) { }
296 0 0 if (ref $def ne 'HASH')
315 0 0 if ($resource_name eq 'docu/pod') { }
0 0 elsif ($resource_name eq 'docu/html') { }
341 0 0 if $pass == 1
360 0 0 if $pass == 1
379 0 0 if ($pass == 1)
384 0 0 if ($status->not_ok)
385 0 0 $status->code eq 'DOCHAZKA_DBI_ERR' ? :
394 0 0 unless (defined $begin and defined $end)
430 0 0 if ($mapping) { }
439 0 0 if ($type eq 'meta') { }
0 0 elsif ($type eq 'core') { }
0 0 elsif ($type eq 'site') { }
446 0 0 unless ($param_obj)
452 0 0 if ($pass == 1)
454 0 0 $bool ? :
455 0 0 if $bool
460 0 0 if ($type ne 'meta' and $method =~ /^(PUT)|(DELETE)$/)
465 0 0 if ($method eq 'GET') { }
0 0 elsif ($method eq 'PUT') { }
0 0 elsif ($method eq 'DELETE') { }
493 0 0 if $pass == 1
522 0 0 if $pass == 1
543 0 0 if $pass == 1
562 0 0 if $pass == 1
567 0 0 $version ? :
592 0 0 if $pass == 1
613 0 0 if $pass == 1
634 0 0 if $pass == 1
639 0 0 unless $status->ok
646 0 0 unless $act
665 0 0 if $pass == 1
670 0 0 unless $status->ok
680 0 0 if ($act) { }
701 0 0 if ($pass == 1)
703 0 0 unless $act
709 0 0 if ($context->{'method'} eq 'GET') { }
0 0 elsif ($context->{'method'} eq 'PUT') { }
0 0 elsif ($context->{'method'} eq 'DELETE') { }
739 0 0 if ($pass == 1)
741 0 0 unless $act
766 0 0 if ($pass == 1)
768 0 0 unless $act
791 0 0 if $pass == 1
798 0 0 unless (defined $entity)
806 0 0 if ($act) { }
829 0 0 if $pass == 1
849 0 0 if $pass == 1
854 0 0 unless $status->ok
861 0 0 unless $cid
880 0 0 if $pass == 1
885 0 0 unless $status->ok
895 0 0 if ($comp) { }
899 0 0 unless $status->ok
918 0 0 if ($pass == 1)
920 0 0 unless $comp
926 0 0 if ($context->{'method'} eq 'GET') { }
0 0 elsif ($context->{'method'} eq 'PUT') { }
0 0 elsif ($context->{'method'} eq 'DELETE') { }
958 0 0 if $pass == 1
962 0 0 if (my $priv = $self->context->{'mapping'}{'priv'}) { }
982 0 0 if $pass == 1
986 0 0 if (my $priv = $self->context->{'mapping'}{'priv'}) { }
1006 0 0 if $pass == 1
1029 0 0 if $pass == 1
1036 0 0 unless $context->{'current_priv'} eq 'admin'
1054 0 0 if ($status->ok) { }
1062 0 0 if ($status->ok) { }
1069 0 0 if ($prop eq 'priv') { }
0 0 elsif ($prop eq 'schedule') { }
1105 0 0 if ($pass == 1)
1128 0 0 if ($pass == 1)
1150 0 0 if ($pass == 1)
1172 0 0 if ($pass == 1)
1175 0 0 unless $emp
1176 0 0 unless shared_employee_acl_part1($self, $emp)
1182 0 0 unless shared_employee_acl_part2($self)
1204 0 0 if $pass == 1
1208 0 0 if ($eid = $context->{'request_entity'}{'eid'}) { }
1210 0 0 unless $emp
1211 0 0 unless shared_employee_acl_part1($self, $emp)
1212 0 0 unless shared_employee_acl_part2($self)
1241 0 0 if ($pass == 1)
1244 0 0 if ($emp) { }
1249 0 0 unless shared_employee_acl_part1($self, $emp)
1258 0 0 if ($func eq 'update_employee') { }
0 0 elsif ($func eq 'insert_employee') { }
1259 0 0 unless shared_employee_acl_part2($self)
1287 0 0 if $pass == 1
1291 0 0 if ($nick = $context->{'request_entity'}{'nick'}) { }
1293 0 0 $emp ? :
1294 0 0 unless shared_employee_acl_part1($self, $emp)
1302 0 0 if ($func eq 'update_employee') { }
0 0 elsif ($func eq 'insert_employee') { }
1304 0 0 unless shared_employee_acl_part2($self)
1310 0 0 unless defined $self
1346 0 0 if $pass == 1
1350 0 0 unless shared_employee_acl_part2($self)
1370 0 0 if ($pass == 1)
1403 0 0 if ($status->not_ok)
1404 0 0 if ($status->code eq 'DOCHAZKA_LDAP_SYSTEM_USER_NOSYNC') { }
1431 0 0 if ($pass == 1)
1459 0 0 if ($pass == 1)
1463 0 0 unless shared_employee_acl_part1($self, $emp)
1464 0 0 if ($emp) { }
1478 0 0 if ($func eq 'update_employee') { }
0 0 elsif ($func eq 'insert_employee') { }
1504 0 0 if ($pass == 1)
1509 0 0 if ($resource_name eq 'employee/eid/:eid/minimal') { }
0 0 elsif ($resource_name eq 'employee/nick/:nick/minimal') { }
0 0 elsif ($resource_name eq 'employee/sec_id/:sec_id/minimal') { }
1522 0 0 if ($priv eq 'passerby')
1523 0 0 unless (acl_check_is_me($self, lc $key, $value))
1531 0 0 unless $emp
1535 0 0 unless ref $min_fields eq 'ARRAY'
1559 0 0 if ($pass == 1)
1579 0 0 if ($pass == 1)
1600 0 0 if ($pass == 1)
1647 0 0 if $pass == 1
1651 0 0 unless $key =~ /%/
1660 0 0 if ($status->level eq 'NOTICE' and $status->code eq 'DISPATCH_NO_RECORDS_FOUND')
1667 0 0 if $status->not_ok
1690 0 0 if $pass == 1
1695 0 0 unless $status->ok
1702 0 0 unless $path
1707 0 0 if ($entity->{'parameters'})
1709 0 0 if (ref $entity->{'parameters'} ne 'HASH')
1728 0 0 if ($comp->{'validations'}) { }
0 0 elsif ($parameters) { }
1732 0 0 unless ref $validations eq 'HASH'
1734 0 0 unless defined $parameters
1746 0 0 unless $success
1752 0 0 unless defined $parameters
1774 0 0 if $pass == 1
1783 0 0 if (defined $context->{'mapping'}{'tsrange'})
1787 0 0 if ($context->{'components'}[0] eq 'priv') { }
0 0 elsif ($context->{'components'}[0] eq 'schedule') { }
1810 0 0 if ($pass == 1)
1812 0 0 unless $emp
1821 0 0 if ($prop eq 'priv') { }
0 0 elsif ($prop eq 'schedule') { }
1837 0 0 if ($status->level eq 'NOTICE' and $status->code eq 'DISPATCH_NO_RECORDS_FOUND') { }
0 0 elsif ($status->not_ok) { }
1838 0 0 $ts ? :
1870 0 0 if ($pass == 1)
1872 0 0 unless $emp
1888 0 0 if ($status->level eq 'NOTICE' and $status->code eq 'DISPATCH_NO_RECORDS_FOUND') { }
0 0 elsif ($status->not_ok) { }
1913 0 0 if ($pass == 1)
1916 0 0 unless $emp
1927 0 0 if ($prop eq 'sid')
1929 0 0 if ($entity->{'scode'} and not $entity->{'sid'})
1931 0 0 if ($sched) { }
1945 0 0 unless $status->ok
1961 0 0 if ($status->not_ok)
1963 0 0 if ($status->code eq 'DOCHAZKA_MALFORMED_400')
1991 0 0 if ($pass == 1)
1993 0 0 unless $p_obj
2017 0 0 if ($pass == 1)
2019 0 0 unless $p_obj
2040 0 0 if $pass == 1
2056 0 0 if ($pass == 1)
2058 0 0 unless $s_obj
2082 0 0 if ($pass == 1)
2084 0 0 unless $p_obj
2105 0 0 if $pass == 1
2224 0 0 if ($pass == 1)
2228 0 0 if ($key eq 'self') { }
2234 0 0 unless (acl_check_is_me($self, $key, $value) or acl_check_is_my_report($self, $key, $value))
2243 0 0 unless $emp
2247 0 0 unless $status->ok
2258 0 0 if ($method eq 'GET' and $intlock eq 'Interval') { }
0 0 elsif ($method eq 'GET' and $intlock eq 'Lock') { }
0 0 elsif ($method eq 'GET' and $intlock eq 'Summary') { }
0 0 elsif ($method eq 'DELETE' and $intlock eq 'Interval') { }
2264 0 0 if ($status->level eq 'ERR' and $status->code eq 'DISPATCH_SUMMARY_ILLEGAL_TSRANGE')
2275 0 0 if ($status->level eq 'NOTICE' and $status->code eq 'DISPATCH_NO_RECORDS_FOUND')
2303 0 0 if ($pass == 1)
2310 0 0 if $status->not_ok
2312 0 0 if (check_acl_context($context)->not_ok)
2334 0 0 if $pass == 1
2339 0 0 unless $status->ok
2344 0 0 unless $int
2347 0 0 unless (acl_check_is_me($self, 'eid', $int->eid))
2370 0 0 if ($pass == 1)
2374 0 0 unless $iid
2378 0 0 unless $int
2381 0 0 unless (acl_check_is_me($self, 'eid', $int->eid) or acl_check_is_my_report($self, 'eid', $int->eid))
2397 0 0 if ($method eq 'GET')
2417 0 0 if ($pass == 1)
2421 0 0 unless $iid
2425 0 0 unless $int
2428 0 0 unless (acl_check_is_me($self, 'eid', $int->eid))
2440 0 0 if ($method =~ /^(PUT)|(POST)$/) { }
0 0 elsif ($method eq 'DELETE') { }
2462 0 0 if ($pass == 1)
2464 0 0 unless $rv
2488 0 0 if ($pass == 1)
2495 0 0 if $status->not_ok
2497 0 0 if (check_acl_context($context)->not_ok)
2519 0 0 if $pass == 1
2524 0 0 unless $status->ok
2529 0 0 unless $lock
2532 0 0 unless (acl_check_is_me($self, 'eid', $lock->eid))
2555 0 0 if ($pass == 1)
2559 0 0 unless $lid
2563 0 0 unless $lock
2566 0 0 unless (acl_check_is_me($self, 'eid', $lock->eid) or acl_check_is_my_report($self, 'eid', $lock->eid))
2582 0 0 if ($method eq 'GET')
2602 0 0 if ($pass == 1)
2606 0 0 unless $lid
2610 0 0 unless $lock
2613 0 0 unless (acl_check_is_me($self, 'eid', $lock->eid))
2628 0 0 if ($method =~ /^(PUT)|(POST)$/) { }
0 0 elsif ($method eq 'DELETE') { }
2688 0 0 if ($pass == 1)
2691 0 0 if ($status->level eq 'NOTICE' and $status->code eq 'DISPATCH_NO_RECORDS_FOUND')
2692 0 0 $disabled ? :
2754 0 0 if $self->_first_pass_always_exists($pass)
2761 0 0 unless ref $emp eq 'App::Dochazka::REST::Model::Employee'
2763 0 0 if ($mode eq 'Fillup')
2766 0 0 unless ref $act eq 'App::Dochazka::REST::Model::Activity'
2771 0 0 unless ref $tsdl eq 'HASH'
2774 0 0 if ($mode eq 'Fillup') { }
0 0 elsif ($mode eq 'Scheduled') { }
2795 0 0 if ($mode eq 'Fillup')
2798 0 0 if (not defined $fillup or ref $fillup ne 'App::Dochazka::REST::Fillup')
2805 0 0 unless ($fillup->constructor_status and $fillup->constructor_status->isa('App::CELL::Status'))
2815 0 0 if ($fillup->constructor_status->not_ok)
2817 0 0 $status->code eq 'DOCHAZKA_DBI_ERR' ? :
2825 0 0 if ($status->not_ok)
2842 0 0 if ($entity->{'eid'}) { }
0 0 elsif ($entity->{'nick'}) { }
0 0 elsif ($entity->{'sec_id'}) { }
2859 0 0 unless (acl_check_is_me($self, $key, $value))
2864 0 0 unless $emp->isa('App::Dochazka::REST::Model::Employee')
2878 0 0 if ($entity->{'aid'}) { }
0 0 elsif ($entity->{'code'}) { }
2890 0 0 unless $act->isa('App::Dochazka::REST::Model::Activity')
2904 0 0 if ($date_list and $tsrange or not $date_list || $tsrange)
2910 0 0 if ($entity->{'date_list'}) { }
0 0 elsif ($entity->{'tsrange'}) { }
2958 0 0 if ($pass == 1)
2967 0 0 if $status->not_ok
2968 0 0 if (ref $context->{'request_entity'}{'schedule'} ne 'ARRAY')
2986 0 0 if ($status->not_ok)
2995 0 0 if ($status->not_ok)
3005 0 0 if (my $scode = $context->{'request_entity'}{'scode'})
3012 0 0 if ($status->ok) { }
3013 0 0 if ($status->code eq 'DOCHAZKA_SCHEDULE_EXISTS') { }
0 0 elsif ($status->code eq 'DOCHAZKA_SCHEDULE_UPDATE_OK') { }
0 0 elsif ($status->code eq 'DOCHAZKA_SCHEDULE_INSERT_OK') { }
3039 0 0 if ($status->not_ok)
3061 0 0 if ($pass == 1)
3063 0 0 unless $sched
3090 0 0 if ($pass == 1)
3092 0 0 unless $sched
3119 0 0 if ($pass == 1)
3139 0 0 if ($pass == 1)
3141 0 0 unless $sched
3168 0 0 if ($pass == 1)
3170 0 0 unless $sched
3197 0 0 if ($pass == 1)
3217 0 0 if ($pass == 1)
3237 0 0 if $mapping->{'tsrange'}
3238 0 0 if ($mapping->{'ts'} and $mapping->{'psqlint'})
3244 0 0 unless $status->ok