Branch Coverage

blib/lib/WWW/Suffit/AuthDB/Model.pm
Criterion Covered Total %
branch 167 410 40.7


line true false branch
1071 0 2 unless $dbh
1075 2 0 if ($self->is_sqlite) { }
0 0 elsif ($self->is_mariadb) { }
0 0 elsif ($self->is_mysql) { }
0 0 elsif ($self->is_postgresql) { }
1077 2 0 unless ($file and -e $file and not -z $file)
1083 2 0 if (my $sth = $dbh->table_info(undef, undef, undef, "TABLE"))
1084 0 2 isnt_void($sth->fetchall_arrayref) ? :
1094 0 0 if (my $sth = $dbh->table_info("", $schema, "", "TABLE"))
1095 0 0 isnt_void($sth->fetchall_arrayref) ? :
1105 0 0 if (my $sth = $dbh->table_info("", $schema, "", "TABLE"))
1106 0 0 isnt_void($sth->fetchall_arrayref) ? :
1116 0 0 if (my $sth = $dbh->table_info("", $schema, undef, "TABLE"))
1117 0 0 isnt_void($sth->fetchall_arrayref) ? :
1133 2 0 unless ($is_inited)
1135 0 2 if $self->error
1139 0 2 unless $self->ping
1144 0 2 if $self->error
1149 0 6 if $self->error
1158 0 3 if $self->error
1160 3 0 if $v * 1 >= $ver * 1
1167 2 0 $dr eq 'sqlite' || $dr eq 'file' ? :
1172 0 0 $dr eq 'mysql' || $dr eq 'mariadb' || $dr eq 'maria' ? :
1177 0 0 $dr eq 'maria' || $dr eq 'mariadb' ? :
1182 0 0 $dr eq 'pg' || $dr eq 'pgsql' || $dr eq 'postgres' || $dr eq 'postgresql' ? :
1187 0 0 $dr eq 'oracle' ? :
1194 0 8 unless $self->ping
1195 0 8 unless ($data{'key'})
1202 0 8 if $self->error
1205 3 5 if ($pair{'key'}) { }
1206 1 2 if (exists $data{'value'}) { }
1208 0 1 unless $self->query("UPDATE `meta`\nSET `value` = ?\nWHERE `key` = ?\n", $data{'value'}, $data{'key'})
1211 0 2 unless $self->query("DELETE FROM `meta`\nWHERE `key` = ?\n", $data{'key'})
1215 0 5 unless $self->query("INSERT INTO `meta`\n (`key`,`value`)\nVALUES\n (?,?)\n", $data{'key'}, $data{'value'})
1224 0 19 unless $self->ping
1226 17 2 if (length $key) { }
1227 17 0 if (my $res = $self->query("SELECT `key`,`value`\nFROM `meta`\nWHERE `key` = ?\n", $key))
1229 9 8 if is_hash_ref($r)
1232 2 0 if (my $res = $self->query("SELECT `key`,`value`\nFROM `meta`\nORDER BY `key` ASC\n"))
1234 2 0 if is_array_ref($r)
1246 0 3 unless $self->ping
1247 0 3 unless (defined $data{'address'} and length $data{'address'})
1251 0 3 unless (defined $data{'username'} and length $data{'username'})
1258 0 3 if $self->error
1261 1 2 if ($cur{'id'}) { }
1265 0 1 unless $self->query("UPDATE `stats`\nSET `address` = ?, `username` =?, `dismiss` = ?, `updated` = ?\nWHERE `id` = ?\n", $data{'address'}, $data{'username'}, $data{'dismiss'} || 0, $data{'updated'} || time, $cur{'id'})
1270 0 2 unless $self->query("INSERT INTO `stats` (`address`,`username`,`dismiss`,`updated`)\nVALUES (?,?,?,?)\n", $data{'address'}, $data{'username'}, $data{'dismiss'} || 0, $data{'updated'} || time)
1280 0 6 unless $self->ping
1282 1 5 unless (length $address)
1286 0 5 unless (length $username)
1292 5 0 if (my $res = $self->query("SELECT `id`,`address`,`username`,`dismiss`,`updated`\nFROM `stats`\nWHERE `address` = ? AND `username` = ?\n", $address, $username))
1294 2 3 if is_hash_ref($r)
1304 0 8 unless $self->ping
1313 0 8 unless $self->query("INSERT INTO `users`\n (`username`,`name`,`email`,`password`,`algorithm`,`role`,`flags`,`created`,\n `not_before`,`not_after`,`public_key`,`private_key`,`attributes`,`comment`\n )\nVALUES\n (?,?,?,?,?,?,?,?,?,?,?,?,?,?)\n", $data{'username'}, $data{'name'}, $data{'email'}, $data{'password'}, uc($data{'algorithm'} || 'SHA256'), $data{'role'}, $data{'flags'}, $data{'created'} || time, $data{'not_before'} || time, $data{'not_after'}, $data{'public_key'}, $data{'private_key'}, $data{'attributes'}, $data{'comment'})
1321 0 2 unless $self->ping
1322 0 2 unless (length($data{'username'} // ""))
1335 0 2 unless $self->query("UPDATE `users`\nSET `name` = ?, `email` = ?, `password` = ?, `algorithm` = ?, `role` = ?, `flags` = ?,\n `not_before` = ?, `not_after` = ?, `public_key` = ?, `private_key` = ?,\n `attributes` = ?, `comment` = ?\nWHERE `username` = ?\n", $data{'name'}, $data{'email'}, $data{'password'}, uc($data{'algorithm'} || 'SHA256'), $data{'role'}, $data{'flags'}, $data{'not_before'} || time, $data{'not_after'}, $data{'public_key'}, $data{'private_key'}, $data{'attributes'}, $data{'comment'}, $data{'username'})
1343 0 0 unless $self->ping
1344 0 0 unless ($data{'id'})
1353 0 0 unless $self->query("UPDATE `users`\nSET `name` = ?, `email` = ?, `role` = ?, `comment` = ?\nWHERE `id` = ?\n", $data{'name'}, $data{'email'}, $data{'role'}, $data{'comment'}, $data{'id'})
1361 0 2 unless $self->ping
1362 0 2 unless (length $username)
1368 0 2 unless $self->query("DELETE FROM `users` WHERE `username` = ?\n", $username)
1376 0 19 unless $self->ping
1377 0 19 unless (length $username)
1383 19 0 if (my $res = $self->query("SELECT `id`,`username`,`name`,`email`,`password`,`algorithm`,`role`,`flags`,`created`,\n `not_before`,`not_after`,`public_key`,`private_key`,`attributes`,`comment`\nFROM `users`\nWHERE `username` = ?\n", $username))
1385 9 10 if is_hash_ref($r)
1392 0 2 unless $self->ping
1395 2 0 if (my $res = $self->query("SELECT `id`,`username`,`name`,`email`,`password`,`algorithm`,`role`,`flags`,`created`,\n `not_before`,`not_after`,`public_key`,`private_key`,`attributes`,`comment`\nFROM `users`\nORDER BY `username` ASC\n"))
1397 2 0 if is_array_ref($r)
1405 0 0 unless $self->ping
1410 0 0 if $_search
1413 0 0 if (my $res = $self->query(sprintf("SELECT `id`,`username`,`name`,`role`\nFROM `users`\nWHERE 1 = 1\n%s\nORDER BY `username` ASC\nLIMIT 10\n", join("\n", @where))))
1415 0 0 if is_array_ref($r)
1423 0 0 unless $self->ping
1424 0 0 unless (length $username)
1430 0 0 if (my $res = $self->query("SELECT\n groups.`id` AS `id`,\n groups.`groupname` AS `groupname`,\n groups.`description` AS `description`\nFROM\n grpsusrs\n LEFT OUTER JOIN groups ON (groups.`groupname` = grpsusrs.`groupname`)\nWHERE 1 = 1\n AND grpsusrs.`username` = ?\nORDER BY\n grpsusrs.`groupname` ASC\n", $username))
1432 0 0 if is_array_ref($r)
1440 0 0 unless $self->ping
1441 0 0 unless (length $username)
1447 0 0 if (my $res = $self->query("SELECT `id`,`jti`,`username`,`type`,`clientid`,`iat`,`exp`,`address`,`description`\nFROM `tokens`\nWHERE `username` = ?\nORDER BY `iat` DESC\n", $username))
1449 0 0 if is_array_ref($r)
1457 0 1 unless $self->ping
1458 0 1 unless (length($data{'username'} // ""))
1464 0 1 unless $self->query("UPDATE `users`\nSET `password` = ?\nWHERE `username` = ?\n", $data{'password'}, $data{'username'})
1472 0 1 unless $self->ping
1473 0 1 unless ($data{'id'})
1479 0 1 unless $self->query("UPDATE `users`\nSET `public_key` = ?, `private_key` = ?\nWHERE `id` = ?\n", $data{'public_key'}, $data{'private_key'}, $data{'id'})
1489 0 7 unless $self->ping
1492 0 7 unless $self->query("INSERT INTO `groups` (`groupname`,`description`)\nVALUES (?,?)\n", $data{'groupname'}, $data{'description'})
1500 0 2 unless $self->ping
1501 0 2 unless (length($data{'groupname'} // ""))
1507 0 2 unless $self->query("UPDATE `groups`\nSET `description` = ?\nWHERE `groupname` = ?\n", $data{'description'}, $data{'groupname'})
1515 0 2 unless $self->ping
1516 0 2 unless (length $groupname)
1522 0 2 unless $self->query("DELETE FROM `groups` WHERE `groupname` = ?\n", $groupname)
1530 0 9 unless $self->ping
1531 0 9 unless (length $groupname)
1537 9 0 if (my $res = $self->query("SELECT `id`,`groupname`,`description`\nFROM `groups`\nWHERE `groupname` = ?\n", $groupname))
1539 3 6 if is_hash_ref($r)
1546 0 2 unless $self->ping
1549 2 0 if (my $res = $self->query("SELECT `id`,`groupname`,`description`\nFROM `groups`\nORDER BY `groupname` ASC\n"))
1551 2 0 if is_array_ref($r)
1559 0 6 unless $self->ping
1560 0 6 unless (length $groupname)
1566 6 0 if (my $res = $self->query("SELECT\n users.`id` AS `id`,\n users.`username` AS `username`,\n users.`name` AS `name`,\n users.`role` AS `role`\nFROM\n users\n LEFT OUTER JOIN grpsusrs ON (grpsusrs.`username` = users.`username`)\nWHERE 1 = 1\n AND grpsusrs.`groupname` = ?\nORDER BY\n grpsusrs.`username` ASC\n", $groupname))
1568 6 0 if is_array_ref($r)
1578 0 15 unless $self->ping
1581 0 15 unless $self->query("INSERT INTO `grpsusrs`\n (`groupname`,`username`)\nVALUES\n (?,?)\n", $data{'groupname'}, $data{'username'})
1589 0 4 unless $self->ping
1592 0 4 if ($data{'id'} and is_integer($data{'id'})) { }
3 1 elsif ($data{'groupname'}) { }
1 0 elsif ($data{'username'}) { }
1593 0 0 unless $self->query("DELETE FROM `grpsusrs`\nWHERE `id` = ?\n", $data{'id'})
1595 0 3 unless $self->query("DELETE FROM `grpsusrs`\nWHERE `groupname` = ?\n", $data{'groupname'})
1597 0 1 unless $self->query("DELETE FROM `grpsusrs`\nWHERE `username` = ?\n", $data{'username'})
1609 0 20 unless $self->ping
1612 0 20 if ($data{'id'} and is_integer($data{'id'})) { }
14 6 elsif ($data{'groupname'} and $data{'username'}) { }
2 4 elsif ($data{'groupname'}) { }
4 0 elsif ($data{'username'}) { }
1613 0 0 if (my $res = $self->query("SELECT `id`,`groupname`,`username`\nFROM `grpsusrs`\nWHERE `id` = ?\n", $data{'id'}))
1615 0 0 if is_hash_ref($r)
1618 14 0 if (my $res = $self->query("SELECT `id`,`groupname`,`username`\nFROM `grpsusrs`\nWHERE `groupname` = ? AND `username` = ?\n", $data{'groupname'}, $data{'username'}))
1620 0 14 if is_hash_ref($r)
1623 2 0 if (my $res = $self->query("SELECT `id`,`groupname`,`username`\nFROM `grpsusrs`\nWHERE `groupname` = ?\n", $data{'groupname'}))
1625 2 0 if is_array_ref($r)
1628 4 0 if (my $res = $self->query("SELECT `id`,`groupname`,`username`\nFROM `grpsusrs`\nWHERE `username` = ?\n", $data{'username'}))
1630 4 0 if is_array_ref($r)
1643 0 3 unless $self->ping
1648 0 3 unless $self->query("INSERT INTO `realms` (`realmname`,`realm`,`satisfy`,`description`)\nVALUES (?,?,?,?)\n", $data{'realmname'}, $data{'realm'}, $data{'satisfy'}, $data{'description'})
1656 0 1 unless $self->ping
1657 0 1 unless (length($data{'realmname'} // ""))
1665 0 1 unless $self->query("UPDATE `realms`\nSET `realm` = ?,`satisfy` =?, `description` = ?\nWHERE `realmname` = ?\n", $data{'realm'}, $data{'satisfy'}, $data{'description'}, $data{'realmname'})
1673 0 2 unless $self->ping
1674 0 2 unless (length $realmname)
1680 0 2 unless $self->query("DELETE FROM `realms` WHERE `realmname` = ?\n", $realmname)
1688 0 5 unless $self->ping
1689 0 5 unless (length $realmname)
1695 5 0 if (my $res = $self->query("SELECT `id`,`realmname`,`realm`,`satisfy`,`description`\nFROM `realms`\nWHERE `realmname` = ?\n", $realmname))
1697 3 2 if is_hash_ref($r)
1704 0 2 unless $self->ping
1707 2 0 if (my $res = $self->query("SELECT `id`,`realmname`,`realm`,`satisfy`,`description`\nFROM `realms`\nORDER BY `realmname` ASC\n"))
1709 2 0 if is_array_ref($r)
1717 0 3 unless $self->ping
1722 0 3 unless $self->query("INSERT INTO `requirements`\n (`realmname`,`provider`,`entity`,`op`,`value`)\nVALUES\n (?,?,?,?,?)\n", $data{'realmname'}, $data{'provider'}, $data{'entity'}, $data{'op'}, $data{'value'})
1730 0 4 unless $self->ping
1731 0 4 unless (length $realmname)
1737 0 4 unless $self->query("DELETE FROM `requirements`\nWHERE `realmname` = ?\n", $realmname)
1745 0 3 unless $self->ping
1746 0 3 unless ($realmname)
1752 3 0 if (my $res = $self->query("SELECT `id`,`realmname`,`provider`,`entity`,`op`,`value`\nFROM `requirements`\nWHERE `realmname` = ?\nORDER BY `provider` ASC, `entity` ASC, `op` ASC, `value` ASC\n", $realmname))
1754 3 0 if is_array_ref($r)
1762 0 0 unless $self->ping
1763 0 0 unless ($realmname)
1769 0 0 if (my $res = $self->query("SELECT `id`,`realmname`,`routename`,`method`,`url`,`base`,`path`\nFROM `routes`\nWHERE `realmname` = ?\nORDER BY `routename` ASC\n", $realmname))
1771 0 0 if is_array_ref($r)
1781 0 1 unless $self->ping
1787 0 1 unless $self->query("INSERT INTO `routes`\n (`realmname`,`routename`,`method`,`url`,`base`,`path`)\nVALUES\n (?,?,?,?,?,?)\n", $data{'realmname'}, $data{'routename'}, $data{'method'}, $data{'url'}, $data{'base'}, $data{'path'})
1795 0 0 unless $self->ping
1796 0 0 unless ($data{'id'})
1806 0 0 unless $self->query("UPDATE `routes`\nSET `realmname` = ?, `method` = ?, `url` = ?, `base` = ?, `path` = ?\nWHERE `routename` = ?\n", $data{'realmname'}, $data{'method'}, $data{'url'}, $data{'base'}, $data{'path'}, $data{'routename'})
1814 0 1 unless $self->ping
1815 0 1 unless (length $routename)
1821 0 1 unless $self->query("DELETE FROM `routes`\nWHERE `routename` = ?\n", $routename)
1829 0 2 unless $self->ping
1830 0 2 unless ($routename)
1836 2 0 if (my $res = $self->query("SELECT `id`,`realmname`,`routename`,`method`,`url`,`base`,`path`\nFROM `routes`\nWHERE `routename` = ?\n", $routename))
1838 1 1 if is_hash_ref($r)
1845 0 3 unless $self->ping
1848 3 0 if (my $res = $self->query("SELECT `id`,`realmname`,`routename`,`method`,`url`,`base`,`path`\nFROM `routes`\nORDER BY `routename` ASC\n"))
1850 3 0 if is_array_ref($r)
1858 0 0 unless $self->ping
1863 0 0 if $_search
1866 0 0 if (my $res = $self->query(sprintf("SELECT `id`,`realmname`,`routename`,`method`,`url`,`base`,`path`\nFROM `routes`\nWHERE 1 = 1\n%s\nORDER BY `routename` ASC\nLIMIT 10\n", join("\n", @where))))
1868 0 0 if is_array_ref($r)
1876 0 3 unless $self->ping
1877 0 3 unless (length $realmname)
1883 0 3 unless $self->query("UPDATE `routes`\nSET `realmname` = NULL\nWHERE `realmname` = ?\n", $realmname)
1891 0 0 unless $self->ping
1892 0 0 unless (defined $data{'realmname'} and length $data{'realmname'})
1896 0 0 unless (defined $data{'routename'} and length $data{'routename'})
1902 0 0 unless $self->query("UPDATE `routes`\nSET `realmname` = ?\nWHERE `routename` = ?\n", $data{'realmname'}, $data{'routename'})
1912 0 1 unless $self->ping
1918 0 1 unless $self->query("INSERT INTO `tokens` (`jti`,`username`,`type`,`clientid`,`iat`,`exp`,`address`,`description`)\nVALUES (?,?,?,?,?,?,?,?)\n", $data{'jti'}, $data{'username'}, $data{'type'}, $data{'clientid'}, $data{'iat'}, $data{'exp'}, $data{'address'}, $data{'description'})
1926 0 0 unless $self->ping
1927 0 0 unless ($data{'id'})
1937 0 0 unless $self->query("UPDATE `tokens`\nSET `jti` = ?, `username` =?, `type` = ?, `clientid` = ?, `iat` = ?, `exp` = ?, `address` = ?, `description` = ?\nWHERE `id` = ?\n", $data{'jti'}, $data{'username'}, $data{'type'}, $data{'clientid'}, $data{'iat'}, $data{'exp'}, $data{'address'}, $data{'description'}, $data{'id'})
1945 0 2 unless $self->ping
1948 1 1 if ($id) { }
1950 0 1 unless $self->query("DELETE FROM `tokens`\nWHERE `id` = ?\n", $id)
1953 0 1 unless $self->query("DELETE FROM `tokens`\nWHERE `exp` IS NOT NULL AND `exp` > 0 AND `exp` < ?\n", time)
1962 0 0 unless $self->ping
1963 0 0 unless ($id and is_integer($id))
1969 0 0 if (my $res = $self->query("SELECT `id`,`jti`,`username`,`type`,`clientid`,`iat`,`exp`,`address`,`description`\nFROM `tokens`\nWHERE `id` =?\n", $id))
1971 0 0 if is_hash_ref($r)
1978 0 1 unless $self->ping
1981 1 0 if (my $res = $self->query("SELECT `id`,`jti`,`username`,`type`,`clientid`,`iat`,`exp`,`address`,`description`\nFROM `tokens`\nORDER BY `username` ASC, `iat` DESC\n"))
1983 1 0 if is_array_ref($r)
1992 0 1 unless $self->ping
1997 0 1 if ($cond eq 'session') { }
1 0 elsif ($cond eq 'api') { }
2007 1 0 if ($res)
2009 1 0 if is_hash_ref($r)
2021 6 0 if $v * 1 > $from * 1