Coverage report:
91%
hide covered
Files
Functions
Classes
coverage.py v7.14.1
, created at 2026-06-22 01:21 -0700
Statements
Branches
Total
File
class
coverage
statements
missing
excluded
coverage
branches
partial
coverage
python
/
felis
/
__init__.py
(no class)
67%
6
2
0
100%
0
0
67%
python
/
felis
/
cli.py
(no class)
94%
199
12
0
88%
42
5
93%
python
/
felis
/
datamodel.py
BaseObject
88%
8
1
0
83%
6
1
86%
python
/
felis
/
datamodel.py
DataType
100%
0
0
0
100%
0
0
100%
python
/
felis
/
datamodel.py
Column
97%
99
3
0
97%
68
2
97%
python
/
felis
/
datamodel.py
Constraint
100%
3
0
0
100%
2
0
100%
python
/
felis
/
datamodel.py
CheckConstraint
100%
1
0
0
100%
0
0
100%
python
/
felis
/
datamodel.py
UniqueConstraint
100%
1
0
0
100%
0
0
100%
python
/
felis
/
datamodel.py
ForeignKeyConstraint
100%
4
0
0
100%
2
0
100%
python
/
felis
/
datamodel.py
Index
100%
5
0
0
100%
4
0
100%
python
/
felis
/
datamodel.py
ColumnGroup
100%
18
0
0
100%
8
0
100%
python
/
felis
/
datamodel.py
ColumnOverrides
92%
13
1
0
90%
10
1
91%
python
/
felis
/
datamodel.py
ColumnResourceRef
100%
0
0
0
100%
0
0
100%
python
/
felis
/
datamodel.py
Table
100%
29
0
0
100%
22
0
100%
python
/
felis
/
datamodel.py
SchemaVersion
100%
0
0
0
100%
0
0
100%
python
/
felis
/
datamodel.py
SchemaIdVisitor
95%
20
1
0
75%
12
3
88%
python
/
felis
/
datamodel.py
Resource
100%
0
0
0
100%
0
0
100%
python
/
felis
/
datamodel.py
Schema
99%
215
3
0
96%
138
5
98%
python
/
felis
/
datamodel.py
(no class)
100%
322
0
0
88%
8
1
99%
python
/
felis
/
db
/
__init__.py
(no class)
100%
0
0
0
100%
0
0
100%
python
/
felis
/
db
/
_dialects.py
(no class)
88%
49
6
0
67%
12
4
84%
python
/
felis
/
db
/
_sqltypes.py
TINYINT
100%
0
0
0
100%
0
0
100%
python
/
felis
/
db
/
_sqltypes.py
(no class)
96%
68
3
0
83%
6
1
95%
python
/
felis
/
db
/
_variants.py
(no class)
95%
44
2
0
83%
12
2
93%
python
/
felis
/
db
/
database_context.py
DatabaseContextError
100%
0
0
0
100%
0
0
100%
python
/
felis
/
db
/
database_context.py
DatabaseContext
60%
5
2
11
100%
0
0
60%
python
/
felis
/
db
/
database_context.py
_BaseContext
80%
74
15
0
68%
28
7
76%
python
/
felis
/
db
/
database_context.py
DatabaseContextFactory
68%
19
6
0
50%
8
2
63%
python
/
felis
/
db
/
database_context.py
_SQLWriter
53%
17
8
0
30%
10
1
44%
python
/
felis
/
db
/
database_context.py
PostgreSQLContext
6%
17
16
0
0%
2
0
5%
python
/
felis
/
db
/
database_context.py
MySQLContext
0%
21
21
0
0%
2
0
0%
python
/
felis
/
db
/
database_context.py
SQLiteContext
75%
8
2
0
100%
0
0
75%
python
/
felis
/
db
/
database_context.py
MockContext
88%
17
2
0
50%
2
1
84%
python
/
felis
/
db
/
database_context.py
(no class)
99%
175
1
12
82%
22
4
97%
python
/
felis
/
diff.py
SchemaDiff
100%
5
0
0
100%
0
0
100%
python
/
felis
/
diff.py
FormattedSchemaDiff
89%
64
7
0
76%
34
6
85%
python
/
felis
/
diff.py
DatabaseDiff
100%
8
0
0
50%
2
1
90%
python
/
felis
/
diff.py
(no class)
100%
37
0
0
100%
0
0
100%
python
/
felis
/
metadata.py
MetaDataBuilder
96%
91
4
0
88%
42
5
93%
python
/
felis
/
metadata.py
(no class)
96%
55
2
0
81%
16
3
93%
python
/
felis
/
tap_schema.py
TableManager
82%
71
13
0
82%
22
2
82%
python
/
felis
/
tap_schema.py
DataLoader
96%
90
4
0
98%
42
1
96%
python
/
felis
/
tap_schema.py
MetadataInserter
100%
12
0
0
100%
2
0
100%
python
/
felis
/
tap_schema.py
(no class)
100%
68
0
0
100%
0
0
100%
python
/
felis
/
tests
/
__init__.py
(no class)
100%
0
0
0
100%
0
0
100%
python
/
felis
/
tests
/
postgresql.py
TemporaryPostgresInstance
0%
15
15
0
0%
2
0
0%
python
/
felis
/
tests
/
postgresql.py
(no class)
80%
30
6
0
50%
2
1
78%
python
/
felis
/
tests
/
run_cli.py
(no class)
89%
19
2
0
80%
10
2
86%
python
/
felis
/
types.py
FelisType
82%
11
2
0
100%
0
0
82%
python
/
felis
/
types.py
Boolean
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Byte
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Short
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Int
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Long
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Float
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Double
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Char
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
String
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Unicode
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Text
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Binary
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
Timestamp
100%
0
0
0
100%
0
0
100%
python
/
felis
/
types.py
(no class)
100%
33
0
0
100%
0
0
100%
tests
/
__init__.py
(no class)
100%
0
0
0
100%
0
0
100%
tests
/
test_cli.py
CliTestCase
92%
146
11
0
77%
26
6
90%
tests
/
test_cli.py
ColumnRefsTestCase
100%
18
0
0
100%
0
0
100%
tests
/
test_cli.py
(no class)
98%
64
1
0
50%
2
1
97%
tests
/
test_database_context.py
BaseDatabaseContextTest
97%
34
1
0
83%
6
1
95%
tests
/
test_database_context.py
SQLiteTestCase
100%
3
0
0
100%
0
0
100%
tests
/
test_database_context.py
PostgreSQLTestCase
0%
7
7
0
100%
0
0
0%
tests
/
test_database_context.py
MySQLTestCase
42%
12
7
0
0%
2
0
36%
tests
/
test_database_context.py
MockTestCase
100%
5
0
0
100%
0
0
100%
tests
/
test_database_context.py
DatabaseContextTestCase
100%
7
0
0
100%
0
0
100%
tests
/
test_database_context.py
SupportedDialectsTestCase
100%
12
0
0
100%
0
0
100%
tests
/
test_database_context.py
(no class)
98%
40
1
0
50%
2
1
95%
tests
/
test_datamodel.py
ColumnTestCase
100%
98
0
0
94%
18
1
99%
tests
/
test_datamodel.py
TableTestCase
100%
13
0
0
100%
0
0
100%
tests
/
test_datamodel.py
ColumnGroupTestCase
100%
26
0
0
100%
0
0
100%
tests
/
test_datamodel.py
ConstraintTestCase
100%
75
0
0
100%
0
0
100%
tests
/
test_datamodel.py
IndexTestCase
100%
17
0
0
100%
0
0
100%
tests
/
test_datamodel.py
SchemaTestCase
100%
95
0
0
100%
2
0
100%
tests
/
test_datamodel.py
SchemaVersionTest
100%
12
0
0
100%
0
0
100%
tests
/
test_datamodel.py
ValidationFlagsTest
100%
25
0
0
100%
0
0
100%
tests
/
test_datamodel.py
RedundantDatatypesTest
100%
38
0
0
100%
0
0
100%
tests
/
test_datamodel.py
RedundantDatatypesTest.test_mysql_datatypes.ColumnGenerator
100%
5
0
0
100%
0
0
100%
tests
/
test_datamodel.py
SchemaSerializationTest
100%
11
0
0
100%
0
0
100%
tests
/
test_datamodel.py
ResourceTestCase
96%
200
7
0
88%
8
1
96%
tests
/
test_datamodel.py
ColumnOverridesTestCase
100%
55
0
0
100%
2
0
100%
tests
/
test_datamodel.py
(no class)
99%
87
1
0
50%
2
1
98%
tests
/
test_diff.py
TestSchemaDiff
100%
114
0
0
100%
0
0
100%
tests
/
test_diff.py
TestDatabaseDiff
100%
14
0
0
100%
0
0
100%
tests
/
test_diff.py
(no class)
100%
15
0
0
100%
0
0
100%
tests
/
test_import_modules.py
TestPackageImports
100%
0
0
0
100%
0
0
100%
tests
/
test_import_modules.py
(no class)
83%
6
1
0
50%
2
1
75%
tests
/
test_metadata.py
MetaDataTestCase
99%
125
1
0
88%
52
6
96%
tests
/
test_metadata.py
(no class)
95%
20
1
0
50%
2
1
91%
tests
/
test_postgres.py
TestPostgresql
2%
53
52
0
0%
10
0
2%
tests
/
test_postgres.py
(no class)
100%
16
0
0
100%
0
0
100%
tests
/
test_tap_schema.py
TableManagerTestCase
100%
14
0
0
100%
4
0
100%
tests
/
test_tap_schema.py
DataLoaderTestCase
100%
42
0
0
100%
4
0
100%
tests
/
test_tap_schema.py
TapSchemaSqliteSetup
100%
8
0
0
100%
0
0
100%
tests
/
test_tap_schema.py
TapSchemaDataTest
100%
122
0
0
100%
0
0
100%
tests
/
test_tap_schema.py
ForceUnboundArraySizeTest
100%
13
0
0
100%
4
0
100%
tests
/
test_tap_schema.py
CompositeKeysTestCase
100%
21
0
0
100%
0
0
100%
tests
/
test_tap_schema.py
ColumnRefsTestCase
97%
30
1
0
88%
8
1
95%
tests
/
test_tap_schema.py
TableManagerExtensionsTestCase
100%
124
0
0
100%
0
0
100%
tests
/
test_tap_schema.py
(no class)
99%
80
1
0
50%
2
1
98%
tests
/
test_tap_schema_postgres.py
TestTapSchemaPostgresql
3%
59
57
0
25%
4
1
5%
tests
/
test_tap_schema_postgres.py
(no class)
96%
27
1
0
50%
2
1
93%
Total
92%
4074
313
23
84%
764
85
91%
No items found using the specified filter.