ViUR-Core Coverage Report: 20%

Files Functions Classes

coverage.py v7.15.0, created at 2026-07-07 12:23 +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   23% 653 505 0   20% 478 42   22%
/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   13% 31 27 0   17% 24 2   15%
/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   23% 26 20 0   0% 6 0   19%
/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% 499 499 0   0% 336 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   100% 1 0 0   100% 0 0   100%
/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)   11% 141 125 0   0% 72 0   8%
/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% 277 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)   20% 100 80 0   0% 38 0   14%
/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   73% 15 4 0   83% 6 1   76%
/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% 54 0 0   100% 0 0   100%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/db/utils.py (no class)   25% 118 89 0   0% 48 0   17%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/decorators.py (no class)   42% 107 62 0   6% 48 1   31%
/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% 48 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   6% 402 377 0   4% 214 8   5%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/modules/file.py (no class)   39% 368 225 0   1% 84 1   32%
/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% 68 68 0   0% 36 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% 222 222 0   0% 102 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% 266 266 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)   33% 18 12 0   17% 6 1   29%
/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)   100% 61 0 0   100% 0 0   100%
/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)   100% 35 0 0   100% 0 0   100%
/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)   87% 46 6 0   0% 2 0   83%
/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% 333 333 0   0% 188 0   0%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/prototypes/tree.py (no class)   100% 102 0 0   100% 0 0   100%
/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% 344 344 0   0% 150 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% 42 42 0   0% 20 0   0%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/render/json/default.py (no class)   0% 32 32 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% 393 393 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% 77 77 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)   71% 63 18 0   0% 6 0   65%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/__init__.py (no class)   76% 21 5 0   50% 2 1   74%
/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% 153 153 0   0% 92 0   0%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/instance.py (no class)   100% 36 0 0   100% 0 0   100%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/meta.py MetaBaseSkel   86% 22 3 0   78% 18 4   82%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/meta.py MetaSkel   41% 27 16 0   40% 20 4   40%
/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% 44 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% 16 16 0   0% 6 0   0%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/relskel.py (no class)   94% 18 1 0   50% 2 1   90%
/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% 327 327 0   0% 212 0   0%
/home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/skeleton.py (no class)   97% 67 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)   23% 53 41 0   4% 28 1   16%
/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)   34% 107 71 0   21% 48 6   30%
/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     25% 12579 9402 49   8% 5414 209   20%

No items found using the specified filter.