Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add one more test case #86

Merged
merged 6 commits into from
May 23, 2024
Merged

Add one more test case #86

merged 6 commits into from
May 23, 2024

Conversation

s-vitaliy
Copy link
Contributor

@s-vitaliy s-vitaliy commented May 23, 2024

Resolves #6

Scope

Implemented:

  • Added the test that verifies that StreamClassOperatorService can handle exceptions properly.

Additional changes:

  • Add the FailedStreamClass model for testing purposes.
  • Remove the IStreamingJobCommandHandler interface
  • Rename StreamingJobMaintenanceServiceTests -> StreamingJobOperatorServiceTests
  • Remove the SetAnnotationCommand<V1Job> handler duplicate.

Checklist

  • GitHub issue exists for this change.
  • Unit tests added and they pass.
  • Line Coverage is at least 80%.
  • Review requested on latest commit.

Copy link

Coverage after merging test-coverage into main will be

79.64%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/Configurations
   MetricsPublisherActorConfiguration.cs100%100%100%100%
   MetricsReporterConfiguration.cs100%100%100%100%
src/Extensions
   JsonElementExtensions.cs0%100%0%0%23, 31
   KubernetesObjectExtensions.cs0%100%0%0%15–18
   StreamClassPhaseExtensions.cs100%100%100%100%
   V1JobExtensions.cs82.24%63.64%94.12%89.01%105, 105, 126, 126, 131, 136, 136, 141, 146, 146, 151, 53, 53, 58, 68, 68, 75, 83–84, 84, 84, 84, 84–87
src/Models/Api
   CustomResourceApiRequest.cs100%100%100%100%
   ResourceEvent.cs100%100%100%100%
src/Models/Commands
   StreamClassCommands.cs100%100%100%100%
   StreamDefinitionCommands.cs84.62%100%85.71%84%61–63, 89
   StreamingJobCommands.cs100%100%100%100%
src/Models/Resources/Status/V1Alpha1
   V1Alpha1StreamStatus.cs100%100%100%100%
src/Models/Resources/StreamClass/V1Beta1
   V1Beta1StreamClassSpec.cs85.71%100%85.71%85.71%12
src/Models/Resources/StreamDefinitions/Base
   IStreamDefinition.cs90%83.33%100%100%29
src/Services/Base
   ICommandHandler.cs100%100%100%100%
src/Services/CommandHandlers
   AnnotationCommandHandler.cs68.75%66.67%75%68.52%37–40, 52–55, 62–65, 72–78
   StreamingJobCommandHandler.cs81.93%80%100%81.16%101–103, 44, 54, 63–66, 77–82
   UpdateStatusCommandHandler.cs90.91%75%100%91.18%42–45, 81, 98–99
src/Services/HostedServices
   HostedStreamingJobOperatorService.cs0%0%0%0%16–24, 27–29, 29, 29–36, 39–42
src/Services/Metrics
   DeclaredMetrics.cs67.65%60%75%70%26–31, 33, 33, 33, 33
   MetricsReporter.cs85.29%100%75%85.71%50–53
src/Services/Metrics/Actors
   MetricsPublisherActor.cs100%100%100%100%
src/Services/Operator
   StreamClassOperatorService.cs93.06%62.50%100%96.55%100, 102, 77, 77, 81
   StreamingJobOperatorService.cs90.60%83.33%100%92.59%113–117, 122, 126, 131, 72, 72, 76
   StreamOperatorService.cs80%68.97%90.91%83.56%100–102, 145–146, 146, 146, 148–149, 158–159, 169–174, 192, 194, 198, 198, 204, 206, 67–68, 68, 68–69, 82–83, 83, 83, 83, 83, 83, 83–86, 88, 98–99
src/Services/Repositories/CustomResources
   StreamClassRepository.cs100%100%100%100%
   StreamDefinitionRepository.cs0%100%0%0%19–22, 27–34, 38–43
   StreamingJobTemplateRepository.cs0%0%0%0%21–28, 32–34, 34, 34, 34, 34, 34, 34, 34, 34–37, 40–48
src/Services/Repositories/StreamingJob
   StreamingJobRepository.cs58.82%100%66.67%57.14%33–38

Copy link

Coverage after merging test-coverage into main will be

80.27%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/Configurations
   MetricsPublisherActorConfiguration.cs100%100%100%100%
   MetricsReporterConfiguration.cs100%100%100%100%
src/Extensions
   JsonElementExtensions.cs0%100%0%0%23, 31
   KubernetesObjectExtensions.cs100%100%100%100%
   StreamClassPhaseExtensions.cs100%100%100%100%
   V1JobExtensions.cs82.24%63.64%94.12%89.01%105, 105, 126, 126, 131, 136, 136, 141, 146, 146, 151, 53, 53, 58, 68, 68, 75, 83–84, 84, 84, 84, 84–87
src/Models/Api
   CustomResourceApiRequest.cs100%100%100%100%
   ResourceEvent.cs100%100%100%100%
src/Models/Commands
   StreamClassCommands.cs100%100%100%100%
   StreamDefinitionCommands.cs84.62%100%85.71%84%61–63, 89
   StreamingJobCommands.cs100%100%100%100%
src/Models/Resources/Status/V1Alpha1
   V1Alpha1StreamStatus.cs100%100%100%100%
src/Models/Resources/StreamClass/V1Beta1
   V1Beta1StreamClassSpec.cs85.71%100%85.71%85.71%12
src/Models/Resources/StreamDefinitions/Base
   IStreamDefinition.cs90%83.33%100%100%29
src/Services/Base
   ICommandHandler.cs100%100%100%100%
src/Services/CommandHandlers
   AnnotationCommandHandler.cs73.24%66.67%100%72.13%37–40, 57–60, 69–72, 79–85
   StreamingJobCommandHandler.cs81.69%70%100%82.76%44, 48, 51, 54, 64–69, 88–90
   UpdateStatusCommandHandler.cs90.91%75%100%91.18%42–45, 81, 98–99
src/Services/HostedServices
   HostedStreamingJobOperatorService.cs0%0%0%0%16–24, 27–29, 29, 29–36, 39–42
src/Services/Metrics
   DeclaredMetrics.cs67.65%60%75%70%26–31, 33, 33, 33, 33
   MetricsReporter.cs85.29%100%75%85.71%50–53
src/Services/Metrics/Actors
   MetricsPublisherActor.cs100%100%100%100%
src/Services/Operator
   StreamClassOperatorService.cs93.06%62.50%100%96.55%100, 102, 77, 77, 81
   StreamingJobOperatorService.cs90.60%83.33%100%92.59%113–117, 122, 126, 131, 72, 72, 76
   StreamOperatorService.cs80%68.97%90.91%83.56%100–102, 145–146, 146, 146, 148–149, 158–159, 169–174, 192, 194, 198, 198, 204, 206, 67–68, 68, 68–69, 82–83, 83, 83, 83, 83, 83, 83–86, 88, 98–99
src/Services/Repositories/CustomResources
   StreamClassRepository.cs92.86%50%100%95.45%31, 33
   StreamDefinitionRepository.cs0%100%0%0%19–22, 27–34, 38–43
   StreamingJobTemplateRepository.cs0%0%0%0%21–28, 32–34, 34, 34, 34, 34, 34, 34, 34, 34–37, 40–48
src/Services/Repositories/StreamingJob
   StreamingJobRepository.cs58.82%100%66.67%57.14%33–38

Copy link

Coverage after merging test-coverage into main will be

80.70%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/Configurations
   MetricsPublisherActorConfiguration.cs100%100%100%100%
   MetricsReporterConfiguration.cs100%100%100%100%
src/Extensions
   KubernetesObjectExtensions.cs100%100%100%100%
   StreamClassPhaseExtensions.cs100%100%100%100%
   V1JobExtensions.cs82.24%63.64%94.12%89.01%105, 105, 126, 126, 131, 136, 136, 141, 146, 146, 151, 53, 53, 58, 68, 68, 75, 83–84, 84, 84, 84, 84–87
src/Models/Api
   CustomResourceApiRequest.cs100%100%100%100%
   ResourceEvent.cs100%100%100%100%
src/Models/Commands
   StreamClassCommands.cs100%100%100%100%
   StreamDefinitionCommands.cs84.62%100%85.71%84%61–63, 89
   StreamingJobCommands.cs100%100%100%100%
src/Models/Resources/Status/V1Alpha1
   V1Alpha1StreamStatus.cs100%100%100%100%
src/Models/Resources/StreamClass/V1Beta1
   V1Beta1StreamClassSpec.cs85.71%100%85.71%85.71%12
src/Models/Resources/StreamDefinitions/Base
   IStreamDefinition.cs90%83.33%100%100%29
src/Services/Base
   ICommandHandler.cs100%100%100%100%
src/Services/CommandHandlers
   AnnotationCommandHandler.cs73.24%66.67%100%72.13%37–40, 57–60, 69–72, 79–85
   StreamingJobCommandHandler.cs84.51%80%100%84.48%44, 54, 64–69, 88–90
   UpdateStatusCommandHandler.cs90.91%75%100%91.18%42–45, 81, 98–99
src/Services/HostedServices
   HostedStreamingJobOperatorService.cs0%0%0%0%16–24, 27–29, 29, 29–36, 39–42
src/Services/Metrics
   DeclaredMetrics.cs67.65%60%75%70%26–31, 33, 33, 33, 33
   MetricsReporter.cs85.29%100%75%85.71%50–53
src/Services/Metrics/Actors
   MetricsPublisherActor.cs100%100%100%100%
src/Services/Operator
   StreamClassOperatorService.cs93.06%62.50%100%96.55%100, 102, 77, 77, 81
   StreamingJobOperatorService.cs90.60%83.33%100%92.59%113–117, 122, 126, 131, 72, 72, 76
   StreamOperatorService.cs80%68.97%90.91%83.56%100–102, 145–146, 146, 146, 148–149, 158–159, 169–174, 192, 194, 198, 198, 204, 206, 67–68, 68, 68–69, 82–83, 83, 83, 83, 83, 83, 83–86, 88, 98–99
src/Services/Repositories/CustomResources
   StreamClassRepository.cs100%100%100%100%
   StreamDefinitionRepository.cs0%100%0%0%19–22, 27–34, 38–43
   StreamingJobTemplateRepository.cs0%0%0%0%21–28, 32–34, 34, 34, 34, 34, 34, 34, 34, 34–37, 40–48
src/Services/Repositories/StreamingJob
   StreamingJobRepository.cs58.82%100%66.67%57.14%33–38

@s-vitaliy s-vitaliy marked this pull request as ready for review May 23, 2024 10:51
@s-vitaliy s-vitaliy requested a review from a team as a code owner May 23, 2024 10:51
@s-vitaliy s-vitaliy merged commit 6197e46 into main May 23, 2024
2 checks passed
@s-vitaliy s-vitaliy deleted the test-coverage branch May 23, 2024 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve code coverage in this repo
2 participants