SneaksAndData / arcane-framework

Akka.NET-based framework for data streaming services using the Arcane Kubernetes Operator
Apache License 2.0
4 stars 2 forks source link

Improve code coverage in this repo #44

Closed s-vitaliy closed 4 months ago

s-vitaliy commented 4 months ago

Resolves #5

Scope

Implemented:

Checklist

github-actions[bot] commented 4 months ago

Coverage after merging add-sample-cdm-changefeed-tests into main will be

71.55%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Services
   ArcaneExceptionHandler.cs0%0%0%0%19–25, 28–31, 34–37, 40–41, 41, 41, 41, 41–47
   StreamRunnerService.cs0%0%0%0%28–36, 40–45, 49–50, 50, 50–52, 55–57
   StreamStatusService.cs0%100%0%0%11–14, 17–23
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs62.06%46.51%82.61%65.38%109, 109–112, 115, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 160–166, 195, 199–202, 207–208, 213–216, 216, 216–217, 229–231, 233, 233, 233–236, 240, 240, 240, 240, 240–245, 245, 245–250, 253–261, 263, 263, 263, 265–266, 268–269, 271–272, 287–290, 312–315, 322–329, 331–334, 336–337, 339, 345, 350, 358–360, 362–363, 372, 372, 374, 376, 82–88
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs94.57%97.22%66.67%94.34%54, 85–87
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs8.33%0%50%5%44–45, 45, 45–62
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs60.95%32.93%72.73%70.62%133–135, 139–145, 171–175, 229–234, 260–265, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 325–333, 348–351, 370, 370–372, 372, 372, 375–376, 378–379, 382, 435–437, 445, 455–456, 458, 460, 462, 462, 462, 462, 462, 462, 462, 462, 462, 468, 472–473, 83–88
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Services
   ArcaneExceptionHandler.cs0%0%0%0%19–25, 28–31, 34–37, 40–41, 41, 41, 41, 41–47
   StreamRunnerService.cs0%0%0%0%28–36, 40–45, 49–50, 50, 50–52, 55–57
   StreamStatusService.cs0%100%0%0%11–14, 17–23
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs80.99%61.63%95.65%86.22%109, 109–112, 115, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 160–166, 195, 199–202, 207–208, 232–235, 255, 279–282, 304–307, 337, 364, 364, 366, 368, 82–88
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs8.33%0%50%5%44–45, 45, 45–62
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs60.95%32.93%72.73%70.62%133–135, 139–145, 171–175, 229–234, 260–265, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 325–333, 348–351, 370, 370–372, 372, 372, 375–376, 378–379, 382, 435–437, 445, 455–456, 458, 460, 462, 462, 462, 462, 462, 462, 462, 462, 462, 468, 472–473, 83–88
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs0%0%0%0%19–22, 26–27, 27, 27–28, 30–31, 34, 34, 34–38, 41–42
   PageOffsetResolver.cs0%0%0%0%23–28, 32–33, 33, 33–35, 35, 35–37, 37, 37–40, 43–44, 47, 47, 47–48, 51, 51, src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Services
   StreamRunnerService.cs0%0%0%0%28–36, 40–45, 49–50, 50, 50–52, 55–57
   StreamStatusService.cs0%100%0%0%11–14, 17–23
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs80.99%61.63%95.65%86.22%109, 109–112, 115, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 160–166, 195, 199–202, 207–208, 232–235, 255, 279–282, 304–307, 337, 364, 364, 366, 368, 82–88
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs8.33%0%50%5%44–45, 45, 45–62
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs60.95%32.93%72.73%70.62%133–135, 139–145, 171–175, 229–234, 260–265, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 325–333, 348–351, 370, 370–372, 372, 372, 375–376, 378–379, 382, 435–437, 445, 455–456, 458, 460, 462, 462, 462, 462, 462, 462, 462, 462, 462, 468, 472–473, 83–88
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs0%0%0%0%19–22, 26–27, 27, 27–28, 30–31, 34, 34, 34–38, 41–42
   PageOffsetResolver.cs0%0%0%0%23–28, 32–33, 33, 33–35, 35, 35–37, 37, 37–40, 43–44, 47, 47, 47–48, 51, 51, 51–54, 57–59
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs80.95%100%75%82.35%60–62
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs80.99%61.63%95.65%86.22%109, 109–112, 115, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 160–166, 195, 199–202, 207–208, 232–235, 255, 279–282, 304–307, 337, 364, 364, 366, 368, 82–88
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs8.33%0%50%5%44–45, 45, 45–62
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs60.95%32.93%72.73%70.62%133–135, 139–145, 171–175, 229–234, 260–265, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 325–333, 348–351, 370, 370–372, 372, 372, 375–376, 378–379, 382, 435–437, 445, 455–456, 458, 460, 462, 462, 462, 462, 462, 462, 462, 462, 462, 468, 472–473, 83–88
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs0%0%0%0%19–22, 26–27, 27, 27–28, 30–31, 34, 34, 34–38, 41–42
   PageOffsetResolver.cs0%0%0%0%23–28, 32–33, 33, 33–35, 35, 35–37, 37, 37–40, 43–44, 47, 47, 47–48, 51, 51, 51–54, 57–59
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs80.95%100%75%82.35%60–62
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs80.99%61.63%95.65%86.22%109, 109–112, 115, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 160–166, 195, 199–202, 207–208, 232–235, 255, 279–282, 304–307, 337, 364, 364, 366, 368, 82–88
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs60.95%32.93%72.73%70.62%133–135, 139–145, 171–175, 229–234, 260–265, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 325–333, 348–351, 370, 370–372, 372, 372, 375–376, 378–379, 382, 435–437, 445, 455–456, 458, 460, 462, 462, 462, 462, 462, 462, 462, 462, 462, 468, 472–473, 83–88
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs0%0%0%0%19–22, 26–27, 27, 27–28, 30–31, 34, 34, 34–38, 41–42
   PageOffsetResolver.cs0%0%0%0%23–28, 32–33, 33, 33–35, 35, 35–37, 37, 37–40, 43–44, 47, 47, 47–48, 51, 51, 51–54, 57–59
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs80.95%100%75%82.35%60–62
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs81.52%61.54%95.45%86.72%160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 162–168, 197, 201–204, 209–210, 234–237, 257, 281–284, 306–309, 339, 366, 366, 368, 370, 83–89
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs63.48%32.93%82.35%75.41%134–136, 140–146, 324, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 331–339, 354–357, 376, 376–378, 378, 378, 381–382, 384–385, 388, 441–443, 451, 461–462, 464, 466, 468, 468, 468, 468, 468, 468, 468, 468, 468, 474, 478–479, 84–89
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs0%0%0%0%19–22, 26–27, 27, 27–28, 30–31, 34, 34, 34–38, 41–42
   PageOffsetResolver.cs0%0%0%0%23–28, 32–33, 33, 33–35, 35, 35–37, 37, 37–40, 43–44, 47, 47, 47–48, 51, 51, 51–54, 57–59
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs80.95%100%75%82.35%60–62
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, 168–171, 173–174, 50, 52, 67, 67, src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs81.52%61.54%95.45%86.72%160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 162–168, 197, 201–204, 209–210, 234–237, 257, 281–284, 306–309, 339, 366, 366, 368, 370, 83–89
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs63.48%32.93%82.35%75.41%134–136, 140–146, 324, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 331–339, 354–357, 376, 376–378, 378, 378, 381–382, 384–385, 388, 441–443, 451, 461–462, 464, 466, 468, 468, 468, 468, 468, 468, 468, 468, 468, 474, 478–479, 84–89
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs0%0%0%0%19–22, 26–27, 27, 27–28, 30–31, 34, 34, 34–38, 41–42
   PageOffsetResolver.cs76.32%70%100%76.92%33, 51, 51, 51–54, 57–58
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs100%100%100%100%
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, 168–171, 173–174, 50, 52, 67, 67, 67, 77, 77, 77, 84–86, 88, 95, 95, 95
   SimpleUriProvider.cs60.27%45%66.67%66%34–35, 44, src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs81.82%62.82%95.45%86.72%160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 162–168, 197, 201–204, 209–210, 234–237, 257, 281–284, 306–309, 339, 366, 366, 368, 370, 83–89
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs63.48%32.93%82.35%75.41%134–136, 140–146, 324, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 331–339, 354–357, 376, 376–378, 378, 378, 381–382, 384–385, 388, 441–443, 451, 461–462, 464, 466, 468, 468, 468, 468, 468, 468, 468, 468, 468, 474, 478–479, 84–89
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs100%100%100%100%
   PageOffsetResolver.cs76.32%70%100%76.92%37–40, 47, 51–54
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs100%100%100%100%
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, 168–171, 173–174, 50, 52, 67, 67, 67, 77, 77, 77, 84–86, 88, 95, 95, 95
   SimpleUriProvider.cs60.27%45%66.67%66%34–35, 44, 56, 60, 64, 67, 67, 67, 74–76, 78, 82, 84–85, 85, src/Contracts
   SourceTags.cs0%0%0%0%15, 20, 27–28, 28, 28–36
src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs87.54%77.08%95.45%88.94%160, 162, 191, 195–198, 203–204, 228–231, 251, 275–278, 300–303, 333, 360, 360, 362, 364, 83–89
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs73.06%54%82.35%77.53%134–136, 140–146, 324, 329, 329, 329, 329, 329, 329, 331–334, 349–352, 371, 371–373, 373, 373, 376–377, 379–380, 383, 436–438, 446, 456–457, 459, 461, 463, 463, 463, 463, 463, 463, 463, 463, 463, 469, 473–474, 84–89
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs100%100%100%100%
   PageOffsetResolver.cs76.32%70%100%76.92%37–40, 47, 51–54
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs100%100%100%100%
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, 168–171, 173–174, 50, 52, 67, 67, 67, 77, 77, 77, 84–86, 88, 95, 95, 95
   SimpleUriProvider.cs60.27%45%66.67%66%34–35, 44, 56, 60, 64, 67, 67, 67, 74–76, 78, 82, 84–85, 85, 85, 85, 85, 88–90, 92–94, 96, 98
src/Sources/SqlServer
   FastParquetSchemaValidator.cs87.50%75%100%88.24%34–36
   SqlServerChangeTrackingSource.cs81.39%65.22%92%83.04%100–103, 197, 197, 199–200, 215–218, 236–240, 273, 278–281, 283, 326, 334, 334, 334–336, 336, 336, 336, 336, 336, 336–339, 341–344, 346–349, 357–360, 396, 396–398, 398, 398, 401–402, 404–405, 408, 96–99
   SqlServerSource.cs74.62%50%85.71%77%122, 122, src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs87.54%77.08%95.45%88.94%160, 162, 191, 195–198, 203–204, 228–231, 251, 275–278, 300–303, 333, 360, 360, 362, 364, 83–89
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs73.06%54%82.35%77.53%134–136, 140–146, 324, 329, 329, 329, 329, 329, 329, 331–334, 349–352, 371, 371–373, 373, 373, 376–377, 379–380, 383, 436–438, 446, 456–457, 459, 461, 463, 463, 463, 463, 463, 463, 463, 463, 463, 469, 473–474, 84–89
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs100%100%100%100%
   PageOffsetResolver.cs73.68%60%100%76.92%33, 47, 51, 51, 51–54, 57–58
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs100%100%100%100%
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, 168–171, 173–174, 50, 52, 67, 67, 67, 77, 77, 77, 84–86, 88, 95, 95, 95
   SimpleUriProvider.cs60.27%45%66.67%66%34–35, 44, 56, 60, 64, 67, 67, 67, 74–76, 78, 82, 84–85, 85, 85, 85, 85, 88–90, 92–94, 96, 98
src/Sources/SqlServer
   FastParquetSchemaValidator.cs87.50%75%100%88.24%34–36
   SqlServerChangeTrackingSource.cs81.39%65.22%92%83.04%100–103, 197, 197, 199–200, 215–218, 236–240, 273, 278–281, 283, 326, 334, 334, 334–336, 336, 336, 336, 336, 336, 336–339, 341–344, 346–349, 357–360, 396, 396–398, 398, 398, 401–402, 404–405, 408, 96–99
   SqlServerSource.cs74.62%50%85.71%77%122, 122, 124–125, 136, 136–139, src/Providers/Hosting
   HostBuilderExtensions.cs0%0%0%0%172–177, 179–185, 185, 185–187, 187, 187–189, 191, 191, 191–195, 197, 197, 197–198, 198, 198–203, 206–208, 211–214
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs87.78%77.08%95.45%89.21%159, 161, 190, 194–197, 202–203, 228–231, 258, 282–285, 307–310, 340, 367, 367, 369, 371, 82–88
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs73.06%54%82.35%77.53%134–136, 140–146, 324, 329, 329, 329, 329, 329, 329, 331–334, 349–352, 371, 371–373, 373, 373, 376–377, 379–380, 383, 436–438, 446, 456–457, 459, 461, 463, 463, 463, 463, 463, 463, 463, 463, 463, 469, 473–474, 84–89
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs100%100%100%100%
   PageOffsetResolver.cs73.68%60%100%76.92%33, 47, 51, 51, 51–54, 57–58
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs100%100%100%100%
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, 168–171, 173–174, 50, 52, 67, 67, 67, 77, 77, 77, 84–86, 88, 95, 95, 95
   SimpleUriProvider.cs60.27%45%66.67%66%34–35, 44, 56, 60, 64, 67, 67, 67, 74–76, 78, 82, 84–85, 85, 85, 85, 85, 88–90, 92–94, 96, 98
src/Sources/SqlServer
   FastParquetSchemaValidator.cs87.50%75%100%88.24%34–36
   SqlServerChangeTrackingSource.cs81.39%65.22%92%83.04%100–103, 197, 197, 199–200, 215–218, 236–240, 273, 278–281, 283, 326, 334, 334, 334–336, 336, 336, 336, 336, 336, 336–339, 341–344, 346–349, 357–360, 396, 396–398, 398, 398, 401–402, 404–405, 408, 96–99
   SqlServerSource.cs74.62%50%85.71%77%122, 122, 124–125, 136, 136–139, src/Providers/Hosting
   HostBuilderExtensions.cs84.75%58.33%100%90.48%190–192, 227–229
src/Sinks
   SchemaBoundSink.cs100%100%100%100%
   SchemaFreeSink.cs100%100%100%100%
src/Sinks/Extensions
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sinks/Json
   JsonSink.cs74.66%42.86%100%77.68%102–105, 149–151, 151, 151, 151, 151, 151, 154–156, 158–159, 161–162, 164, 166, 177, 177–180, 82, 82, 82, 82, 84–86, 96–99
   MultilineJsonSink.cs79.12%52%100%81.69%113, 113, 113, 113, 115–117, 127–130, 133–136, 206–208, 208, 208, 208, 208, 208, 211–213, 215–216, 218–219, 221, 223, 234, 234–238
src/Sinks/Parquet
   ParquetSink.cs83.26%64.10%100%85.88%114, 114, 114, 114, 116–118, 134–137, 161, 212–215, 252–254, 254, 254, 254, 254, 254, 257–259, 261–262, 264–265, 267, 269, 280, 280, 286–288, 45
   ParquetOperations.cs74.68%66.67%87.50%77.45%100–102, 102, 102, 102, 102, 105–107, 159–161, 61–62, 62, 62–65, 65, 65–67, 69, 71–72, 89, 89, 89, 92–96, 96, 96, 98–99
src/Sinks/Parquet/Models
   DataCell.cs100%100%100%100%
src/Sources
   SchemaBoundSource.cs50%100%33.33%60%25, 28, 32, 36, 39, 49
   SchemaFreeSource.cs88.24%100%83.33%90.91%28
src/Sources/CdmChangeFeedSource
   CdmChangeFeedSource.cs87.78%77.08%95.45%89.21%159, 161, 190, 194–197, 202–203, 228–231, 258, 282–285, 307–310, 340, 367, 367, 369, 371, 82–88
src/Sources/CdmChangeFeedSource/Extensions
   CsvOperations.cs98.91%97.22%100%100%54
   JsonDocumentOperations.cs100%100%100%100%
   SimpleCdmAttributeExtensions.cs94.12%91.67%100%94.59%27–28, 41
src/Sources/CdmChangeFeedSource/Models
   SimpleCdmAttribute.cs55.24%16.67%84.62%63.24%108, 123–124, 124, 124–126, 129, 129, 129–131, 134, 134, 134–136, 139, 139, 139–141, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144–150, 153–156, 91, 96
   SimpleCdmEntity.cs80%64.29%88.89%82.69%101–103, 106, 106, 112–114, 86–88, 96–98
src/Sources/Extensions
   GraphStageLogicExtensions.cs100%100%100%100%
   SinkExtensions.cs100%100%100%100%
   SourceExtensions.cs100%100%100%100%
   SqlServerUtils.cs100%100%100%100%
   SchemaFreeSourceExtensions.cs100%100%100%100%
src/Sources/RestApi
   RestApiSource.cs73.06%54%82.35%77.53%134–136, 140–146, 324, 329, 329, 329, 329, 329, 329, 331–334, 349–352, 371, 371–373, 373, 373, 376–377, 379–380, 383, 436–438, 446, 456–457, 459, 461, 463, 463, 463, 463, 463, 463, 463, 463, 463, 469, 473–474, 84–89
src/Sources/RestApi/Extensions
   RestApiExtensions.cs66.67%75%66.67%64.71%23–29, 29, 29–32, 35–36
src/Sources/RestApi/Models
   PageResolverConfiguration.cs50%100%50%50%27, 33
   RestApiTemplatedField.cs100%100%100%100%
src/Sources/RestApi/Services
   RestApiTemplate.cs87.50%80%100%87.50%62–64, 90–93
src/Sources/RestApi/Services/AuthenticatedMessageProviders
   DynamicBearerAuthenticatedMessageProvider.cs61.90%50%66.67%64%52–60, 60, 60–61, 66, 68–72, 77–80
   FixedHeaderAuthenticatedMessageProvider.cs100%100%100%100%
src/Sources/RestApi/Services/PageResolvers
   PageCountingResolver.cs80.49%75%100%81.48%37, 40–41, 43, 52, 59–61
   PageNextTokenResolver.cs100%100%100%100%
   PageOffsetResolver.cs73.68%60%100%76.92%33, 47, 51, 51, 51–54, 57–58
src/Sources/RestApi/Services/PageResolvers/Base
   PageResolverBase.cs100%100%100%100%
src/Sources/RestApi/Services/UriProviders
   PagedUriProvider.cs67.16%50%83.33%72.83%102–104, 106, 113–116, 126, 126, 126, 132–133, 135, 149, 157, 157, 163, 163, 163–165, 168–171, 173–174, 50, 52, 67, 67, 67, 77, 77, 77, 84–86, 88, 95, 95, 95
   SimpleUriProvider.cs60.27%45%66.67%66%34–35, 44, 56, 60, 64, 67, 67, 67, 74–76, 78, 82, 84–85, 85, 85, 85, 85, 88–90, 92–94, 96, 98
src/Sources/SqlServer
   FastParquetSchemaValidator.cs87.50%75%100%88.24%34–36
   SqlServerChangeTrackingSource.cs81.39%65.22%92%83.04%100–103, 197, 197, 199–200, 215–218, 236–240, 273, 278–281, 283, 326, 334, 334, 334–336, 336, 336, 336, 336, 336, 336–339, 341–344, 346–349, 357–360, 396, 396–398, 398, 398, 401–402, 404–405, 408, 96–99
   SqlServerSource.cs74.62%50%85.71%77%122, 122, 124–125, 136, 136–139, 148, 148–150, 150, 150, 153–154, 156–157, 160, 201–203, 73–80