ViUR-Core Coverage Report: 17%

Files Functions Classes

coverage.py v7.12.0, created at 2025-11-24 12:24 +0000

      Statements   Branches   Total
File class   coverage statements missing excluded   coverage branches partial   coverage
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / __init__.py (no class)   20% 159 127 0   4% 84 3   14%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / __init__.py (no class)   91% 46 4 0   100% 6 0   92%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py ReadFromClientErrorSeverity   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py ReadFromClientError   100% 3 0 0   100% 2 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py ReadFromClientException   0% 8 8 0   0% 4 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py UniqueLockMethod   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py UniqueValue   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py MultipleConstraints   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py ComputeMethod   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py ComputeInterval   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py Compute   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py CloneStrategy   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py CloneCustomFunc   100% 0 0 1   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py CloneBehavior   50% 4 2 0   50% 4 2   50%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py BaseBone   22% 655 513 0   19% 480 43   21%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / base.py (no class)   97% 163 5 2   25% 4 1   95%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / boolean.py BooleanBone   0% 31 31 0   0% 24 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / boolean.py (no class)   100% 14 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / captcha.py CaptchaBone   0% 36 36 0   0% 20 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / captcha.py (no class)   92% 13 1 0   50% 2 1   87%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / color.py ColorBone   0% 27 27 0   0% 24 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / color.py (no class)   100% 7 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / credential.py CredentialBone   0% 17 17 0   0% 10 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / credential.py (no class)   100% 9 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / date.py DateBone   39% 137 83 0   27% 84 17   35%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / date.py (no class)   100% 21 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / email.py EmailBone   0% 28 28 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / email.py (no class)   100% 8 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / file.py FileBone   0% 89 89 0   0% 54 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / file.py (no class)   39% 61 37 0   0% 22 0   29%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / image.py ImageBoneRelSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / image.py ImageBone   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / image.py (no class)   100% 11 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / json.py JsonBone   0% 26 26 0   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / json.py (no class)   100% 14 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / key.py KeyBone   4% 76 73 0   0% 42 0   3%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / key.py (no class)   100% 14 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / numeric.py NumericBone   41% 99 58 0   41% 56 5   41%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / numeric.py (no class)   97% 29 1 0   50% 2 1   94%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / password.py PasswordBone   0% 41 41 0   0% 26 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / password.py (no class)   76% 29 7 0   0% 4 0   67%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / phone.py PhoneBone   0% 24 24 0   0% 16 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / phone.py (no class)   100% 15 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / randomslice.py RandomSliceBone   0% 47 47 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / randomslice.py (no class)   100% 13 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / raw.py RawBone   0% 10 10 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / raw.py (no class)   100% 7 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / record.py RecordBone   7% 91 85 0   3% 62 2   5%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / record.py (no class)   96% 24 1 0   50% 2 1   92%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / relational.py RelationalConsistency   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / relational.py RelationalUpdateLevel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / relational.py RelDict   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / relational.py RelationalBone   0% 489 489 0   0% 326 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / relational.py (no class)   98% 58 1 0   50% 2 1   97%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / select.py SelectBone   19% 43 35 0   7% 30 2   14%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / select.py (no class)   88% 26 3 0   50% 2 1   86%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / selectcountry.py SelectCountryBone   0% 27 27 0   0% 18 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / selectcountry.py (no class)   100% 16 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / sortindex.py SortIndexBone   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / sortindex.py (no class)   100% 7 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / spam.py SpamBone   0% 32 32 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / spam.py (no class)   100% 15 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / spatial.py SpatialBone   0% 129 129 0   0% 38 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / spatial.py (no class)   75% 32 8 0   100% 0 0   75%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / string.py StringBone   33% 132 88 0   28% 100 16   31%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / string.py (no class)   97% 31 1 0   50% 2 1   94%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / text.py HtmlBoneConfiguration   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / text.py CollectBlobKeys   0% 8 8 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / text.py HtmlSerializer   55% 118 53 0   39% 84 17   49%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / text.py TextBone   34% 41 27 0   25% 28 3   30%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / text.py TextBone.__undefinedC__   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / text.py (no class)   100% 46 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / treeleaf.py TreeLeafBone   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / treeleaf.py (no class)   100% 4 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / treenode.py TreeNodeBone   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / treenode.py (no class)   100% 3 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / uid.py UidBone   0% 16 16 0   0% 10 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / uid.py (no class)   30% 33 23 0   0% 8 0   24%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / uri.py UriBone   72% 101 28 0   68% 88 20   70%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / uri.py (no class)   100% 16 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / user.py UserBone   0% 16 16 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / bones / user.py (no class)   100% 6 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / cache.py (no class)   0% 141 141 0   0% 72 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py CaptchaDefaultCredentialsType   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py ConfigType   75% 65 16 0   76% 38 3   76%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py Admin   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py Database   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py Security   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py Debug   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py Email   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py History   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py I18N   75% 4 1 0   100% 0 0   75%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py User   33% 6 4 0   25% 4 1   30%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py Instance   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py Conf   60% 25 10 0   25% 8 0   52%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / config.py (no class)   100% 275 0 7   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / current.py (no class)   73% 11 3 0   50% 2 1   69%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / __init__.py (no class)   57% 23 10 0   25% 4 1   52%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / cache.py (no class)   21% 100 79 0   0% 38 0   15%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / config.py DBConfig   0% 6 6 0   0% 4 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / config.py (no class)   100% 8 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / overrides.py (no class)   10% 49 44 0   0% 28 0   6%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / query.py Query   0% 302 302 0   0% 188 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / query.py (no class)   65% 60 21 0   6% 18 1   51%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / transport.py (no class)   27% 131 95 0   0% 56 0   19%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / types.py SortOrder   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / types.py Key   0% 5 5 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / types.py Entity   0% 3 3 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / types.py QueryDefinition   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / types.py (no class)   100% 51 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / db / utils.py (no class)   23% 111 85 0   0% 44 0   17%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / decorators.py (no class)   25% 107 80 0   4% 48 2   19%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py EmailTransport   0% 29 29 3   0% 18 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py EmailTransportBrevo   0% 75 75 0   0% 40 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py EmailTransportSendInBlue   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py EmailTransportMailjet   0% 21 21 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py EmailTransportSendgrid   0% 17 17 0   0% 10 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py EmailTransportSmtp   0% 26 26 0   0% 4 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py EmailTransportAppengine   0% 11 11 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / email.py (no class)   39% 204 125 6   5% 60 3   31%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py HTTPException   0% 6 6 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py BadRequest   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py Redirect   0% 4 4 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py Unauthorized   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py PaymentRequired   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py Forbidden   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py NotFound   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py MethodNotAllowed   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py NotAcceptable   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py RequestTimeout   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py Gone   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py PreconditionFailed   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py RequestTooLarge   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py Locked   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py TooManyRequests   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py UnprocessableEntity   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py Censored   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py InternalServerError   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py NotImplemented   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py BadGateway   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py ServiceUnavailable   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / errors.py (no class)   100% 43 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / i18n.py AddMissing   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / i18n.py LanguageWrapper   0% 15 15 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / i18n.py translate   56% 59 26 0   33% 42 14   47%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / i18n.py TranslationExtension   0% 40 40 0   0% 16 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / i18n.py (no class)   39% 142 87 0   0% 46 0   29%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / languages / __init__.py (no class)   100% 2 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / languages / de.py (no class)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / languages / en.py (no class)   100% 1 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / logging.py ViURDefaultLogger   80% 10 2 0   100% 0 0   80%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / logging.py ViURLocalFormatter   0% 19 19 0   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / logging.py (no class)   89% 38 4 0   88% 8 1   89%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / module.py Method   12% 130 115 0   2% 86 0   8%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / module.py Module   0% 51 51 0   0% 40 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / module.py (no class)   100% 32 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / file.py DownloadUrlBone   0% 4 4 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / file.py FileLeafSkel   0% 24 24 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / file.py FileNodeSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / file.py File   0% 399 399 0   0% 214 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / file.py (no class)   0% 368 368 0   0% 84 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / formmailer.py MailSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / formmailer.py Formmailer   0% 23 23 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / formmailer.py (no class)   0% 20 20 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / history.py HistorySkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / history.py BigQueryHistory   0% 23 23 0   0% 4 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / history.py HistoryAdapter   0% 26 26 0   0% 18 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / history.py History   0% 89 89 0   0% 46 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / history.py (no class)   0% 68 68 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / moduleconf.py ModuleConfScriptSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / moduleconf.py ModuleConfSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / moduleconf.py ModuleConf   0% 43 43 0   0% 20 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / moduleconf.py (no class)   0% 35 35 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / page.py PageSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / page.py Page   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / page.py (no class)   0% 12 12 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / script.py BaseScriptAbstractSkel   0% 10 10 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / script.py ScriptNodeSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / script.py ScriptLeafSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / script.py Script   0% 63 63 0   0% 32 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / script.py (no class)   0% 38 38 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / site.py Site   0% 7 7 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / site.py (no class)   0% 7 7 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / translation.py Creator   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / translation.py TranslationSkel   0% 8 8 0   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / translation.py Translation   0% 28 28 0   0% 10 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / translation.py (no class)   0% 51 51 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py Status   0% 6 6 0   0% 4 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserSkel   0% 32 32 0   0% 26 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserAuthentication   0% 5 5 3   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserPrimaryAuthentication   0% 1 1 1   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserPassword   0% 92 92 0   0% 44 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserPassword.LoginSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserPassword.LostPasswordStep1Skel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserPassword.LostPasswordStep2Skel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserPassword.LostPasswordStep3Skel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py GoogleAccount   0% 41 41 0   0% 24 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py UserSecondFactorAuthentication   0% 4 4 2   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py TimeBasedOTP   0% 60 60 0   0% 32 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py TimeBasedOTP.OtpConfig   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py TimeBasedOTP.OtpSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py AuthenticatorOTP   0% 44 44 0   0% 20 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py User   0% 193 193 0   0% 96 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py User.SelectAuthenticationProviderSkel.SelectAuthenticationProviderSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py User.SelectSecondFactorProviderSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / modules / user.py (no class)   0% 255 255 9   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / pagination.py Pagination   0% 44 44 0   0% 20 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / pagination.py (no class)   0% 11 11 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / __init__.py (no class)   0% 18 18 0   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / instanced_module.py InstancedModule   0% 7 7 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / instanced_module.py (no class)   0% 6 6 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / list.py List   0% 159 159 0   0% 92 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / list.py (no class)   0% 61 61 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / singleton.py Singleton   0% 73 73 0   0% 42 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / singleton.py (no class)   0% 35 35 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / skelmodule.py SkelModule   0% 55 55 0   0% 32 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / skelmodule.py (no class)   0% 46 46 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / tree.py TreeSkel   0% 3 3 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / tree.py Tree   0% 329 329 0   0% 184 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / prototypes / tree.py (no class)   0% 102 102 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / ratelimit.py RateLimit   0% 53 53 0   0% 14 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / ratelimit.py (no class)   0% 16 16 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / __init__.py (no class)   0% 5 5 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / abstract.py AbstractRenderer   0% 2 2 5   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / abstract.py (no class)   0% 16 16 4   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / __init__.py (no class)   0% 2 2 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / default.py Render   0% 155 155 0   0% 106 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / default.py (no class)   0% 45 45 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / __init__.py (no class)   0% 7 7 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / date.py (no class)   0% 16 16 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / debug.py (no class)   0% 20 20 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / regex.py (no class)   0% 13 13 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / session.py (no class)   0% 17 17 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / strings.py (no class)   0% 11 11 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / tests.py (no class)   0% 9 9 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / env / viur.py (no class)   0% 348 348 0   0% 152 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / html / utils.py (no class)   0% 33 33 0   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / json / __init__.py (no class)   0% 18 18 0   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / json / default.py CustomJsonEncoder   0% 13 13 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / json / default.py DefaultRender   0% 40 40 0   0% 20 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / json / default.py (no class)   0% 29 29 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / vi / __init__.py default   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / render / vi / __init__.py (no class)   0% 117 117 0   0% 48 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / request.py RequestValidator   0% 1 1 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / request.py FetchMetaDataValidator   0% 11 11 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / request.py Router   0% 389 389 0   0% 248 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / request.py (no class)   100% 41 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / secret.py (no class)   0% 8 8 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / securityheaders.py (no class)   17% 102 85 0   0% 60 0   10%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / securitykey.py (no class)   0% 59 59 0   0% 24 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / session.py Session   0% 76 76 0   0% 22 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / session.py DeleteSessionsIter   0% 2 2 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / session.py (no class)   89% 47 5 0   100% 0 0   89%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / __init__.py (no class)   74% 19 5 0   50% 2 1   71%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / adapter.py DatabaseAdapter   0% 4 4 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / adapter.py ViurTagsSearchAdapter   12% 32 28 0   0% 20 0   8%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / adapter.py (no class)   100% 22 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / instance.py SkeletonInstance   0% 144 144 0   0% 86 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / instance.py (no class)   100% 35 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / meta.py MetaBaseSkel   82% 22 4 0   72% 18 5   78%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / meta.py MetaSkel   37% 27 17 0   30% 20 6   34%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / meta.py BaseSkeleton   0% 66 66 0   0% 50 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / meta.py (no class)   100% 45 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / relskel.py RelSkel   0% 12 12 0   0% 8 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / relskel.py RefSkel   0% 15 15 0   0% 6 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / relskel.py (no class)   100% 13 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / skeleton.py SeoKeyBone   0% 18 18 0   0% 10 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / skeleton.py Skeleton   0% 325 325 0   0% 212 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / skeleton.py (no class)   97% 65 2 0   50% 2 1   96%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / tasks.py SkelIterTask   0% 28 28 0   0% 10 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / tasks.py SkeletonMaintenanceTask   0% 13 13 0   0% 4 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / tasks.py SkeletonMaintenanceTask.dataSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / tasks.py SkeletonMaintenanceTask.dataSkel.FilterRowUsingSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / tasks.py (no class)   55% 67 30 0   0% 16 0   45%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / utils.py SkelList   0% 7 7 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / skeleton / utils.py (no class)   35% 26 17 0   0% 14 0   22%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py CustomEnvironmentHandler   100% 0 0 2   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py PermanentTaskFailure   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py CallableTaskBase   0% 3 3 0   100% 0 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py TaskHandler   0% 128 128 0   0% 68 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py TaskHandler.list.TaskSkel   100% 0 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py MetaQueryIter   100% 3 0 0   100% 0 0   100%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py QueryIter   0% 50 50 0   0% 12 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py DeleteEntitiesIter   0% 4 4 0   0% 2 0   0%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / tasks.py (no class)   53% 239 113 4   14% 56 6   45%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / utils / __init__.py (no class)   28% 101 73 0   13% 46 6   23%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / utils / json.py ViURJsonEncoder   73% 22 6 0   70% 20 4   71%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / utils / json.py (no class)   84% 31 5 0   71% 14 4   80%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / utils / parse.py (no class)   52% 21 10 0   40% 10 0   48%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / utils / string.py (no class)   79% 29 6 0   67% 6 2   77%
 / home / runner / work / viur-core / viur-core / viur / src / viur / core / version.py (no class)   100% 2 0 0   100% 0 0   100%
Total     22% 12421 9749 49   8% 5354 199   17%

No items found using the specified filter.