RepoAuditor 0.2.72__tar.gz → 0.2.73__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. {repoauditor-0.2.72 → repoauditor-0.2.73}/PKG-INFO +1 -1
  2. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +1 -1
  3. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +9 -11
  4. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRulesetRequirementImpl.py +1 -2
  5. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +4 -4
  6. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequirePullRequests.py +1 -1
  7. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireSignedCommits.py +1 -1
  8. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireStatusChecks.py +1 -1
  9. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DefaultBranch.py +1 -1
  10. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Description.py +1 -1
  11. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Private.py +5 -4
  12. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Requirement.py +0 -3
  13. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/__init__.py +1 -1
  14. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals_UnitTest.py +10 -10
  15. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush_UnitTest.py +8 -9
  16. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovals_UnitTest.py +12 -11
  17. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireCodeOwnerReview_UnitTest.py +12 -11
  18. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireUpToDateBranches_UnitTest.py +10 -10
  19. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/DependabotSecurityUpdates_UnitTest.py +10 -14
  20. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/License_UnitTest.py +1 -1
  21. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/MergeCommitMessage_UnitTest.py +12 -13
  22. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/Private_UnitTest.py +6 -10
  23. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanningPushProtection_UnitTest.py +10 -14
  24. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanning_UnitTest.py +10 -14
  25. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/SquashMergeCommitMessage_UnitTest.py +10 -11
  26. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py +2 -2
  27. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/__snapshots__/GitHubEnterprise_EndToEndTest.ambr +35 -34
  28. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +59 -58
  29. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Requirement_UnitTest.py +2 -2
  30. {repoauditor-0.2.72 → repoauditor-0.2.73}/.copier-answers.yml +0 -0
  31. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/CODEOWNERS +0 -0
  32. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  33. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  34. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/ISSUE_TEMPLATE/custom.md +0 -0
  35. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  36. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/actions/release_impl/action.yml +0 -0
  37. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/pull_request_template.md +0 -0
  38. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/release_sources.yaml +0 -0
  39. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/workflows/CICD.yml +0 -0
  40. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/workflows/CICD_impl.yml +0 -0
  41. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/workflows/EndToEnd.yml +0 -0
  42. {repoauditor-0.2.72 → repoauditor-0.2.73}/.github/workflows/codeql.yml +0 -0
  43. {repoauditor-0.2.72 → repoauditor-0.2.73}/.gitignore +0 -0
  44. {repoauditor-0.2.72 → repoauditor-0.2.73}/.pre-commit-config.yaml +0 -0
  45. {repoauditor-0.2.72 → repoauditor-0.2.73}/.python-version +0 -0
  46. {repoauditor-0.2.72 → repoauditor-0.2.73}/CODE_OF_CONDUCT.md +0 -0
  47. {repoauditor-0.2.72 → repoauditor-0.2.73}/CONTRIBUTING.md +0 -0
  48. {repoauditor-0.2.72 → repoauditor-0.2.73}/DEVELOPMENT.md +0 -0
  49. {repoauditor-0.2.72 → repoauditor-0.2.73}/GOVERNANCE.md +0 -0
  50. {repoauditor-0.2.72 → repoauditor-0.2.73}/LICENSE +0 -0
  51. {repoauditor-0.2.72 → repoauditor-0.2.73}/MAINTAINERS.md +0 -0
  52. {repoauditor-0.2.72 → repoauditor-0.2.73}/README.md +0 -0
  53. {repoauditor-0.2.72 → repoauditor-0.2.73}/SECURITY.md +0 -0
  54. {repoauditor-0.2.72 → repoauditor-0.2.73}/default_config.yaml +0 -0
  55. {repoauditor-0.2.72 → repoauditor-0.2.73}/minisign_key.pub +0 -0
  56. {repoauditor-0.2.72 → repoauditor-0.2.73}/pyproject.toml +0 -0
  57. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/AutoGitSemVer.yaml +0 -0
  58. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/CommandLineProcessor.py +0 -0
  59. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Display.py +0 -0
  60. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/EntryPoint.py +0 -0
  61. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/ExecuteModules.py +0 -0
  62. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
  63. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Impl/__init__.py +0 -0
  64. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Module.py +0 -0
  65. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugin.py +0 -0
  66. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/CommunityStandardsQuery.py +0 -0
  67. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Impl/ExistsRequirementImpl.py +0 -0
  68. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Impl/__init__.py +0 -0
  69. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Module.py +0 -0
  70. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/CodeOfConduct.py +0 -0
  71. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/CodeOwners.py +0 -0
  72. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/Contributing.py +0 -0
  73. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/IssueTemplates.py +0 -0
  74. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/LicenseFile.py +0 -0
  75. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/PullRequestTemplates.py +0 -0
  76. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/ReadMe.py +0 -0
  77. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/SecurityPolicy.py +0 -0
  78. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/__init__.py +0 -0
  79. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandards/__init__.py +0 -0
  80. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/CommunityStandardsPlugin.py +0 -0
  81. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
  82. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
  83. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowMainlineForcePushes.py +0 -0
  84. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
  85. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
  86. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +0 -0
  87. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
  88. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
  89. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
  90. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
  91. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
  92. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
  93. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
  94. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
  95. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
  96. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
  97. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
  98. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
  99. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
  100. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/DefaultBranchRequirements/Protected.py +0 -0
  101. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/DefaultBranchRequirements/__init__.py +0 -0
  102. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
  103. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
  104. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/Module.py +0 -0
  105. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/RulesetQuery.py +0 -0
  106. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/__init__.py +0 -0
  107. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
  108. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/AutoMerge.py +0 -0
  109. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DeleteHeadBranches.py +0 -0
  110. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DependabotSecurityUpdates.py +0 -0
  111. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/StandardEnableRequirementImpl.py +0 -0
  112. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/StandardValueRequirementImpl.py +0 -0
  113. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/__init__.py +0 -0
  114. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/License.py +0 -0
  115. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/MergeCommit.py +0 -0
  116. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/MergeCommitMessage.py +0 -0
  117. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/RebaseMergeCommit.py +0 -0
  118. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SecretScanning.py +0 -0
  119. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SecretScanningPushProtection.py +0 -0
  120. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SquashCommitMerge.py +0 -0
  121. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SquashMergeCommitMessage.py +0 -0
  122. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
  123. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportDiscussions.py +0 -0
  124. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportIssues.py +0 -0
  125. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportProjects.py +0 -0
  126. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportWikis.py +0 -0
  127. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/TemplateRepository.py +0 -0
  128. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/WebCommitSignoff.py +0 -0
  129. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/__init__.py +0 -0
  130. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHub/__init__.py +0 -0
  131. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHubBase/Module.py +0 -0
  132. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHubBase/__init__.py +0 -0
  133. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
  134. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Plugins/__init__.py +0 -0
  135. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/Query.py +0 -0
  136. {repoauditor-0.2.72 → repoauditor-0.2.73}/src/RepoAuditor/py.typed +0 -0
  137. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/CommandLineProcessor_UnitTest.py +0 -0
  138. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/EntryPoint_UnitTest.py +0 -0
  139. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/ExecuteModules_UnitTest.py +0 -0
  140. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Module_UnitTest.py +0 -0
  141. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugin_UnitTest.py +0 -0
  142. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/CommunityStandards/CommunityStandardsQuery_UnitTest.py +0 -0
  143. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/CommunityStandards/ExistsRequirementImpl_UnitTest.py +0 -0
  144. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/CommunityStandards/GitHubCommunityStandards_UnitTest.py +0 -0
  145. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/CommunityStandards_EndToEndTest.py +0 -0
  146. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubEnterprise_EndToEndTest.py +0 -0
  147. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicBranchProtectionQuery_UnitTest.py +0 -0
  148. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/EnsureStatusChecks_UnitTest.py +0 -0
  149. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/ClassicValueRequirementImpl_UnitTest.py +0 -0
  150. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/DefaultBranchQueryRequirements/Protected_UnitTest.py +0 -0
  151. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py +0 -0
  152. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/EnableRulesetRequirementImpl_UnitTest.py +0 -0
  153. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py +0 -0
  154. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py +0 -0
  155. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/RulesetRequirements_UnitTest.py +0 -0
  156. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/RulsesetQuery_UnitTest.py +0 -0
  157. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQueryRequirements/Description_UnitTest.py +0 -0
  158. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py +0 -0
  159. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHubModule/fixtures.py +0 -0
  160. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/GitHub_EndToEndTest.py +0 -0
  161. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/__snapshots__/CommunityStandards_EndToEndTest.ambr +0 -0
  162. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/conftest.py +0 -0
  163. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Plugins/utilities.py +0 -0
  164. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/Query_UnitTest.py +0 -0
  165. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/__init__.py +0 -0
  166. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
  167. {repoauditor-0.2.72 → repoauditor-0.2.73}/tests/conftest.py +0 -0
  168. {repoauditor-0.2.72 → repoauditor-0.2.73}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: RepoAuditor
3
- Version: 0.2.72
3
+ Version: 0.2.73
4
4
  Summary: Add your description here
5
5
  Project-URL: Homepage, https://github.com/gt-sse-center/RepoAuditor
6
6
  Project-URL: Documentation, https://github.com/gt-sse-center/RepoAuditor
@@ -24,7 +24,7 @@ class EnsureStatusChecks(Requirement):
24
24
  def __init__(self) -> None:
25
25
  super().__init__(
26
26
  "EnsureStatusChecks",
27
- "Ensure that status checks have been enabled for the '{branch}' branch.",
27
+ "Ensure that status checks have been enabled for the branch.",
28
28
  ExecutionStyle.Parallel,
29
29
  textwrap.dedent(
30
30
  """\
@@ -44,7 +44,7 @@ class EnableRequirementImpl(Requirement):
44
44
 
45
45
  super().__init__(
46
46
  name,
47
- f"Validates that {subject} is set to {{__expected_value}}.",
47
+ f"Validates that {subject} is set to the expected value.",
48
48
  ExecutionStyle.Parallel,
49
49
  resolution,
50
50
  rationale,
@@ -79,16 +79,6 @@ class EnableRequirementImpl(Requirement):
79
79
  query_data: dict[str, Any],
80
80
  requirement_args: dict[str, Any],
81
81
  ) -> Requirement.EvaluateImplResult:
82
- expected_value = self.enabled_by_default
83
-
84
- if requirement_args[self.dynamic_arg_name]:
85
- expected_value = not expected_value
86
- provide_rationale = False
87
- else:
88
- provide_rationale = True
89
-
90
- query_data["__expected_value"] = expected_value
91
-
92
82
  result = self.get_configuration_value_func(query_data)
93
83
  if result is None:
94
84
  if query_data["session"].is_enterprise:
@@ -105,6 +95,14 @@ class EnableRequirementImpl(Requirement):
105
95
 
106
96
  return Requirement.EvaluateImplResult(EvaluateResult.DoesNotApply, None)
107
97
 
98
+ expected_value = self.enabled_by_default
99
+
100
+ if requirement_args[self.dynamic_arg_name]:
101
+ expected_value = not expected_value
102
+ provide_rationale = False
103
+ else:
104
+ provide_rationale = True
105
+
108
106
  if result != expected_value:
109
107
  query_data["__checked_desc"] = self.unset_set_terminology[int(expected_value)]
110
108
 
@@ -67,8 +67,7 @@ class EnableRulesetRequirementImpl(EnableRequirementImpl):
67
67
  else:
68
68
  provide_rationale = True
69
69
 
70
- query_data["__expected_value"] = expected_rule_enabled
71
- query_data["__enabled_str"] = "Enable" if expected_rule_enabled else "Disable"
70
+ query_data["__expected_value"] = "Enable" if expected_rule_enabled else "Disable"
72
71
 
73
72
  # Get the rules for the specified branch
74
73
  rules = query_data.get("rules", [])
@@ -51,7 +51,7 @@ class ValueRequirementImpl(Requirement):
51
51
 
52
52
  super().__init__(
53
53
  name,
54
- f"Validates that {subject} is set to '{{__expected_value}}'.",
54
+ f"Validates that {subject} is set to the expected value.",
55
55
  ExecutionStyle.Parallel,
56
56
  resolution,
57
57
  rationale,
@@ -84,9 +84,6 @@ class ValueRequirementImpl(Requirement):
84
84
  query_data: dict[str, Any],
85
85
  requirement_args: dict[str, Any],
86
86
  ) -> Requirement.EvaluateImplResult:
87
- expected_value = requirement_args["value"]
88
- query_data["__expected_value"] = f"{expected_value}"
89
-
90
87
  result = self.get_configuration_value_func(query_data)
91
88
  if result is None:
92
89
  if self.missing_value_is_warning:
@@ -94,6 +91,7 @@ class ValueRequirementImpl(Requirement):
94
91
 
95
92
  return Requirement.EvaluateImplResult(EvaluateResult.DoesNotApply, None)
96
93
 
94
+ expected_value = requirement_args["value"]
97
95
  is_default_expected_value = expected_value == self.default_value
98
96
 
99
97
  if isinstance(result, DoesNotApplyResult):
@@ -108,6 +106,8 @@ class ValueRequirementImpl(Requirement):
108
106
  result = str(result)
109
107
 
110
108
  if result != expected_value:
109
+ query_data["__expected_value"] = f"'{expected_value}'"
110
+
111
111
  return Requirement.EvaluateImplResult(
112
112
  EvaluateResult.Error,
113
113
  f"{self.github_value} must be set to '{expected_value}' (it is currently set to '{result}').",
@@ -20,6 +20,6 @@ class RequirePullRequests(EnableRulesetRequirementImpl):
20
20
  github_ruleset_type="pull_request",
21
21
  github_ruleset_value="Require a pull request before merging",
22
22
  get_configuration_value_func=lambda rule: rule.get("type", "") == "pull_request",
23
- resolution="{__enabled_str} pull request rule in repository rulesets",
23
+ resolution="{__expected_value} pull request rule in repository rulesets",
24
24
  rationale="Pull request reviews help maintain code quality and collaboration",
25
25
  )
@@ -20,6 +20,6 @@ class RequireSignedCommits(EnableRulesetRequirementImpl):
20
20
  github_ruleset_type="required_signatures",
21
21
  github_ruleset_value="Require signed commits",
22
22
  get_configuration_value_func=lambda rule: rule.get("type", "") == "required_signatures",
23
- resolution="{__enabled_str} commit signing requirement in repository rulesets",
23
+ resolution="Enable commit signing requirement in repository rulesets",
24
24
  rationale="Signed commits ensure commit authenticity",
25
25
  )
@@ -20,6 +20,6 @@ class RequireStatusChecks(EnableRulesetRequirementImpl):
20
20
  github_ruleset_type="required_status_checks",
21
21
  github_ruleset_value="Require status checks to pass",
22
22
  get_configuration_value_func=lambda rule: rule.get("type", "") == "required_status_checks",
23
- resolution="{__enabled_str} required status checks in repository rulesets",
23
+ resolution="Configure required status checks in repository rulesets",
24
24
  rationale="Status checks ensure code quality and compatibility",
25
25
  )
@@ -24,7 +24,7 @@ class DefaultBranch(StandardValueRequirementImpl):
24
24
  "main",
25
25
  "settings",
26
26
  "Default Branch",
27
- "Default Branch",
27
+ None,
28
28
  lambda data: data["standard"].get("default_branch", None),
29
29
  textwrap.dedent(
30
30
  """\
@@ -24,7 +24,7 @@ class Description(Requirement):
24
24
  def __init__(self) -> None:
25
25
  super().__init__(
26
26
  "Description",
27
- "Validates if the repository has a description.",
27
+ "Validates a repository's description.",
28
28
  ExecutionStyle.Parallel,
29
29
  textwrap.dedent(
30
30
  """\
@@ -25,7 +25,7 @@ class Private(Requirement):
25
25
  def __init__(self) -> None:
26
26
  super().__init__(
27
27
  "Private",
28
- "Validates that the repository's visibility is set to '{__expected_visibility}'.",
28
+ "Validates that the repository is set to the expected visibility.",
29
29
  ExecutionStyle.Parallel,
30
30
  textwrap.dedent(
31
31
  """\
@@ -71,15 +71,16 @@ class Private(Requirement):
71
71
  query_data: dict[str, Any],
72
72
  requirement_args: dict[str, Any],
73
73
  ) -> Requirement.EvaluateImplResult:
74
- expect_private = requirement_args["enabled"]
75
- query_data["__expected_visibility"] = "private" if expect_private else "public"
76
-
77
74
  result = query_data["standard"].get("private", None)
78
75
 
79
76
  if result is None:
80
77
  return CreateIncompleteDataResult()
81
78
 
79
+ expect_private = requirement_args["enabled"]
80
+
82
81
  if result != expect_private:
82
+ query_data["__expected_visibility"] = "private" if expect_private else "public"
83
+
83
84
  return Requirement.EvaluateImplResult(
84
85
  EvaluateResult.Error,
85
86
  f"The repository's visibility must be {query_data['__expected_visibility']}.",
@@ -112,9 +112,6 @@ class Requirement(ABC):
112
112
  """Evaluate the requirements given the query data and specific arguments."""
113
113
  result_info = self._EvaluateImpl(query_data, requirement_args)
114
114
 
115
- # Fill in templates in description string
116
- self.description = self.description.format(**query_data)
117
-
118
115
  if result_info.result == EvaluateResult.Error:
119
116
  return Requirement.EvaluateInfo(
120
117
  result_info.result,
@@ -2,4 +2,4 @@ APP_NAME = "RepoAuditor"
2
2
 
3
3
  # Note that the default value below will be used until the value
4
4
  # here is explicitly updated by the Continuous Integration system.
5
- __version__ = "0.2.72"
5
+ __version__ = "0.2.73"
@@ -32,44 +32,44 @@ def requirement():
32
32
  return DismissStalePullRequestApprovals()
33
33
 
34
34
 
35
- @pytest.fixture(name="requirement_args")
36
- def requirement_args_fixture():
37
- return {"disabled": False}
38
-
39
-
40
35
  class TestDismissStalePullRequestApprovals:
41
- def test_required_pull_request_reviews_missing(self, requirement, query_data, requirement_args):
36
+ def test_required_pull_request_reviews_missing(self, requirement, query_data):
42
37
  """Test when `required_pull_request_reviews` is missing."""
43
38
  query_data["branch_protection_data"] = {}
39
+ requirement_args = {}
44
40
  result = requirement.Evaluate(query_data, requirement_args)
45
41
  assert result.result == EvaluateResult.DoesNotApply
46
42
  assert result.context is None
47
43
 
48
- def test_required_pull_request_reviews_none(self, requirement, query_data, requirement_args):
44
+ def test_required_pull_request_reviews_none(self, requirement, query_data):
49
45
  """Test when `required_pull_request_reviews` is None"""
50
46
  query_data["branch_protection_data"]["required_pull_request_reviews"] = None
47
+ requirement_args = {}
51
48
  result = requirement.Evaluate(query_data, requirement_args)
52
49
  assert result.result == EvaluateResult.DoesNotApply
53
50
  assert result.context is None
54
51
 
55
- def test_dismiss_stale_reviews_missing(self, requirement, query_data, requirement_args):
52
+ def test_dismiss_stale_reviews_missing(self, requirement, query_data):
56
53
  """Test when `dismiss_stale_reviews` is missing"""
57
54
  query_data["branch_protection_data"]["required_pull_request_reviews"] = {}
55
+ requirement_args = {}
58
56
  result = requirement.Evaluate(query_data, requirement_args)
59
57
  assert result.result == EvaluateResult.DoesNotApply
60
58
  assert result.context is None
61
59
 
62
- def test_dismiss_stale_reviews_none(self, requirement, query_data, requirement_args):
60
+ def test_dismiss_stale_reviews_none(self, requirement, query_data):
63
61
  """Test when `dismiss_stale_reviews` is None"""
64
62
  query_data["branch_protection_data"]["required_pull_request_reviews"] = {
65
63
  "dismiss_stale_reviews": None
66
64
  }
65
+ requirement_args = {}
67
66
  result = requirement.Evaluate(query_data, requirement_args)
68
67
  assert result.result == EvaluateResult.DoesNotApply
69
68
  assert result.context is None
70
69
 
71
- def test_successful(self, requirement, query_data, requirement_args):
70
+ def test_successful(self, requirement, query_data):
72
71
  """Test successful"""
73
72
  query_data["branch_protection_data"]["required_pull_request_reviews"]["dismiss_stale_reviews"] = True
73
+ requirement_args = {"disabled": False}
74
74
  result = requirement.Evaluate(query_data, requirement_args)
75
75
  assert result.result == EvaluateResult.Success
@@ -32,35 +32,34 @@ def requirement():
32
32
  return RequireApprovalMostRecentPush()
33
33
 
34
34
 
35
- @pytest.fixture(name="requirement_args")
36
- def requirement_args_fixture():
37
- return {"disabled": False}
38
-
39
-
40
35
  class TestRequireApprovalMostRecentPush:
41
- def test_required_pull_request_reviews_missing(self, requirement, query_data, requirement_args):
36
+ def test_required_pull_request_reviews_missing(self, requirement, query_data):
42
37
  """Test when `required_pull_request_reviews` is missing"""
43
38
  query_data["branch_protection_data"] = {}
39
+ requirement_args = {}
44
40
  result = requirement.Evaluate(query_data, requirement_args)
45
41
  assert result.result == EvaluateResult.DoesNotApply
46
42
  assert result.context is None
47
43
 
48
- def test_required_pull_request_reviews_none(self, requirement, query_data, requirement_args):
44
+ def test_required_pull_request_reviews_none(self, requirement, query_data):
49
45
  """Test when `required_pull_request_reviews` is None"""
50
46
  query_data["branch_protection_data"]["required_pull_request_reviews"] = None
47
+ requirement_args = {}
51
48
  result = requirement.Evaluate(query_data, requirement_args)
52
49
  assert result.result == EvaluateResult.DoesNotApply
53
50
  assert result.context is None
54
51
 
55
- def test_require_last_push_approval_missing(self, requirement, query_data, requirement_args):
52
+ def test_require_last_push_approval_missing(self, requirement, query_data):
56
53
  """Test when `require_last_push_approval` is missing"""
57
54
  query_data["branch_protection_data"]["required_pull_request_reviews"] = {}
55
+ requirement_args = {}
58
56
  result = requirement.Evaluate(query_data, requirement_args)
59
57
  assert result.result == EvaluateResult.DoesNotApply
60
58
  assert result.context is None
61
59
 
62
- def test_require_last_push_approval_none(self, requirement, query_data, requirement_args):
60
+ def test_require_last_push_approval_none(self, requirement, query_data):
63
61
  """Test when `require_last_push_approval` is None"""
62
+ requirement_args = {}
64
63
  query_data["branch_protection_data"]["required_pull_request_reviews"][
65
64
  "require_last_push_approval"
66
65
  ] = None
@@ -30,47 +30,47 @@ def requirement():
30
30
  return RequireApprovals()
31
31
 
32
32
 
33
- @pytest.fixture(name="requirement_args")
34
- def requirement_args_fixture():
35
- return {"value": "1"}
36
-
37
-
38
33
  class TestRequireApprovals:
39
- def test_required_pull_request_reviews_missing(self, requirement, query_data, requirement_args):
34
+ def test_required_pull_request_reviews_missing(self, requirement, query_data):
40
35
  """Test when `required_pull_request_reviews` is missing"""
41
36
  query_data["branch_protection_data"] = {}
37
+ requirement_args = {}
42
38
  result = requirement.Evaluate(query_data, requirement_args)
43
39
  assert result.result == EvaluateResult.DoesNotApply
44
40
  assert result.context is None
45
41
 
46
- def test_required_pull_request_reviews_none(self, requirement, query_data, requirement_args):
42
+ def test_required_pull_request_reviews_none(self, requirement, query_data):
47
43
  """Test when `required_pull_request_reviews` is None"""
48
44
  query_data["branch_protection_data"]["required_pull_request_reviews"] = None
45
+ requirement_args = {}
49
46
  result = requirement.Evaluate(query_data, requirement_args)
50
47
  assert result.result == EvaluateResult.DoesNotApply
51
48
  assert result.context is None
52
49
 
53
- def test_required_approving_review_count_missing(self, requirement, query_data, requirement_args):
50
+ def test_required_approving_review_count_missing(self, requirement, query_data):
54
51
  """Test when `required_approving_review_count` is missing"""
55
52
  query_data["branch_protection_data"]["required_pull_request_reviews"] = {}
53
+ requirement_args = {}
56
54
  result = requirement.Evaluate(query_data, requirement_args)
57
55
  assert result.result == EvaluateResult.DoesNotApply
58
56
  assert result.context is None
59
57
 
60
- def test_required_approving_review_count_none(self, requirement, query_data, requirement_args):
58
+ def test_required_approving_review_count_none(self, requirement, query_data):
61
59
  """Test when `required_approving_review_count` is None"""
62
60
  query_data["branch_protection_data"]["required_pull_request_reviews"][
63
61
  "required_approving_review_count"
64
62
  ] = None
63
+ requirement_args = {}
65
64
  result = requirement.Evaluate(query_data, requirement_args)
66
65
  assert result.result == EvaluateResult.DoesNotApply
67
66
  assert result.context is None
68
67
 
69
- def test_IncorrectValue(self, requirement, query_data, requirement_args):
68
+ def test_IncorrectValue(self, requirement, query_data):
70
69
  """Test incorrect"""
71
70
  query_data["branch_protection_data"]["required_pull_request_reviews"][
72
71
  "required_approving_review_count"
73
72
  ] = "2"
73
+ requirement_args = {"value": "1"}
74
74
  result = requirement.Evaluate(query_data, requirement_args)
75
75
  assert result.result == EvaluateResult.Error
76
76
  assert (
@@ -78,10 +78,11 @@ class TestRequireApprovals:
78
78
  in result.context
79
79
  )
80
80
 
81
- def test_Successful(self, requirement, query_data, requirement_args):
81
+ def test_Successful(self, requirement, query_data):
82
82
  """Test successful"""
83
83
  query_data["branch_protection_data"]["required_pull_request_reviews"][
84
84
  "required_approving_review_count"
85
85
  ] = "1"
86
+ requirement_args = {"value": "1"}
86
87
  result = requirement.Evaluate(query_data, requirement_args)
87
88
  assert result.result == EvaluateResult.Success
@@ -32,47 +32,47 @@ def requirement():
32
32
  return RequireCodeOwnerReview()
33
33
 
34
34
 
35
- @pytest.fixture(name="requirement_args")
36
- def requirement_args_fixture():
37
- return {"enabled": True}
38
-
39
-
40
35
  class TestRequireCodeOwnerReview:
41
- def test_required_pull_request_reviews_missing(self, requirement, query_data, requirement_args):
36
+ def test_required_pull_request_reviews_missing(self, requirement, query_data):
42
37
  """Test when `required_pull_request_reviews` is missing"""
43
38
  query_data["branch_protection_data"] = {}
39
+ requirement_args = {}
44
40
  result = requirement.Evaluate(query_data, requirement_args)
45
41
  assert result.result == EvaluateResult.DoesNotApply
46
42
  assert result.context is None
47
43
 
48
- def test_required_pull_request_reviews_none(self, requirement, query_data, requirement_args):
44
+ def test_required_pull_request_reviews_none(self, requirement, query_data):
49
45
  """Test when `required_pull_request_reviews` is None"""
50
46
  query_data["branch_protection_data"]["required_pull_request_reviews"] = None
47
+ requirement_args = {}
51
48
  result = requirement.Evaluate(query_data, requirement_args)
52
49
  assert result.result == EvaluateResult.DoesNotApply
53
50
  assert result.context is None
54
51
 
55
- def test_require_code_owner_reviews_missing(self, requirement, query_data, requirement_args):
52
+ def test_require_code_owner_reviews_missing(self, requirement, query_data):
56
53
  """Test when `require_code_owner_reviews` is missing"""
57
54
  query_data["branch_protection_data"]["required_pull_request_reviews"] = {}
55
+ requirement_args = {}
58
56
  result = requirement.Evaluate(query_data, requirement_args)
59
57
  assert result.result == EvaluateResult.DoesNotApply
60
58
  assert result.context is None
61
59
 
62
- def test_require_code_owner_reviews_none(self, requirement, query_data, requirement_args):
60
+ def test_require_code_owner_reviews_none(self, requirement, query_data):
63
61
  """Test when `require_code_owner_reviews` is None"""
64
62
  query_data["branch_protection_data"]["required_pull_request_reviews"][
65
63
  "require_code_owner_reviews"
66
64
  ] = None
65
+ requirement_args = {}
67
66
  result = requirement.Evaluate(query_data, requirement_args)
68
67
  assert result.result == EvaluateResult.DoesNotApply
69
68
  assert result.context is None
70
69
 
71
- def test_IncorrectValue(self, requirement, query_data, requirement_args):
70
+ def test_IncorrectValue(self, requirement, query_data):
72
71
  """Test incorrect"""
73
72
  query_data["branch_protection_data"]["required_pull_request_reviews"][
74
73
  "require_code_owner_reviews"
75
74
  ] = False
75
+ requirement_args = {"enabled": True}
76
76
  result = requirement.Evaluate(query_data, requirement_args)
77
77
  assert result.result == EvaluateResult.Error
78
78
  assert (
@@ -80,10 +80,11 @@ class TestRequireCodeOwnerReview:
80
80
  in result.context
81
81
  )
82
82
 
83
- def test_Successful(self, requirement, query_data, requirement_args):
83
+ def test_Successful(self, requirement, query_data):
84
84
  """Test successful"""
85
85
  query_data["branch_protection_data"]["required_pull_request_reviews"][
86
86
  "require_code_owner_reviews"
87
87
  ] = True
88
+ requirement_args = {"enabled": True}
88
89
  result = requirement.Evaluate(query_data, requirement_args)
89
90
  assert result.result == EvaluateResult.Success
@@ -24,36 +24,35 @@ def requirement():
24
24
  return RequireUpToDateBranches()
25
25
 
26
26
 
27
- @pytest.fixture(name="requirement_args")
28
- def requirement_args_fixture():
29
- return {"disabled": True}
30
-
31
-
32
27
  class TestRequireUpToDateBranches:
33
- def test_required_status_checks_missing(self, requirement, query_data, requirement_args):
28
+ def test_required_status_checks_missing(self, requirement, query_data):
34
29
  """Test when `required_status_checks` is missing"""
35
30
  query_data["branch_protection_data"] = {}
31
+ requirement_args = {}
36
32
  result = requirement.Evaluate(query_data, requirement_args)
37
33
  assert result.result == EvaluateResult.DoesNotApply
38
34
  assert result.context is None
39
35
 
40
- def test_required_status_checks_none(self, requirement, query_data, requirement_args):
36
+ def test_required_status_checks_none(self, requirement, query_data):
41
37
  """Test when `required_status_checks` is None"""
42
38
  query_data["branch_protection_data"] = {"required_status_checks": None}
39
+ requirement_args = {}
43
40
  result = requirement.Evaluate(query_data, requirement_args)
44
41
  assert result.result == EvaluateResult.DoesNotApply
45
42
  assert result.context is None
46
43
 
47
- def test_strict_missing(self, requirement, query_data, requirement_args):
44
+ def test_strict_missing(self, requirement, query_data):
48
45
  """Test when `strict` is missing"""
49
46
  query_data["branch_protection_data"]["required_status_checks"] = {}
47
+ requirement_args = {}
50
48
  result = requirement.Evaluate(query_data, requirement_args)
51
49
  assert result.result == EvaluateResult.DoesNotApply
52
50
  assert result.context is None
53
51
 
54
- def test_strict_none(self, requirement, query_data, requirement_args):
52
+ def test_strict_none(self, requirement, query_data):
55
53
  """Test when `strict` is None"""
56
54
  query_data["branch_protection_data"]["required_status_checks"] = {"strict": None}
55
+ requirement_args = {}
57
56
  result = requirement.Evaluate(query_data, requirement_args)
58
57
  assert result.result == EvaluateResult.DoesNotApply
59
58
  assert result.context is None
@@ -69,8 +68,9 @@ class TestRequireUpToDateBranches:
69
68
  in result.context
70
69
  )
71
70
 
72
- def test_Successful(self, requirement, query_data, requirement_args):
71
+ def test_Successful(self, requirement, query_data):
73
72
  """Test successful"""
74
73
  query_data["branch_protection_data"]["required_status_checks"]["strict"] = False
74
+ requirement_args = {"disabled": True}
75
75
  result = requirement.Evaluate(query_data, requirement_args)
76
76
  assert result.result == EvaluateResult.Success
@@ -33,43 +33,39 @@ def requirement():
33
33
  return DependabotSecurityUpdates()
34
34
 
35
35
 
36
- @pytest.fixture(name="requirement_args")
37
- def requirement_args_fixture():
38
- return {"disabled": False}
39
-
40
-
41
36
  class TestDependabotSecurityUpdates:
42
- def test_security_and_analysis_missing(self, requirement, query_data, requirement_args):
37
+ def test_security_and_analysis_missing(self, requirement, query_data):
43
38
  """Test if `security_and_analysis` is missing"""
44
39
  query_data["standard"] = {}
45
- result = requirement.Evaluate(query_data, requirement_args)
40
+ result = requirement.Evaluate(query_data, requirement_args={})
46
41
  assert result.result == EvaluateResult.Warning
47
42
  assert "Incomplete data was encountered" in result.context
48
43
 
49
- def test_dependabot_security_updates_missing(self, requirement, query_data, requirement_args):
44
+ def test_dependabot_security_updates_missing(self, requirement, query_data):
50
45
  """Test if `dependabot_security_updates` is missing"""
51
46
  query_data["standard"]["security_and_analysis"] = {}
52
- result = requirement.Evaluate(query_data, requirement_args)
47
+ result = requirement.Evaluate(query_data, requirement_args={})
53
48
  assert result.result == EvaluateResult.Warning
54
49
  assert "Incomplete data was encountered" in result.context
55
50
 
56
- def test_status_missing(self, requirement, query_data, requirement_args):
51
+ def test_status_missing(self, requirement, query_data):
57
52
  """Test if `status` is missing"""
58
53
  query_data["standard"]["security_and_analysis"]["dependabot_security_updates"] = {}
59
- result = requirement.Evaluate(query_data, requirement_args)
54
+ result = requirement.Evaluate(query_data, requirement_args={})
60
55
  assert result.result == EvaluateResult.Warning
61
56
  assert "Incomplete data was encountered" in result.context
62
57
 
63
- def test_status_none(self, requirement, query_data, requirement_args):
58
+ def test_status_none(self, requirement, query_data):
64
59
  """Test if `status` is None"""
65
60
  query_data["standard"]["security_and_analysis"]["dependabot_security_updates"]["status"] = None
66
- result = requirement.Evaluate(query_data, requirement_args)
61
+ result = requirement.Evaluate(query_data, requirement_args={})
67
62
  assert result.result == EvaluateResult.Warning
68
63
  assert "Incomplete data was encountered" in result.context
69
64
 
70
- def test_Incorrect(self, requirement, query_data, requirement_args):
65
+ def test_Incorrect(self, requirement, query_data):
71
66
  """Result doesn't match expected value"""
72
67
  query_data["standard"]["security_and_analysis"]["dependabot_security_updates"]["status"] = True
68
+ requirement_args = {"disabled": False}
73
69
  result = requirement.Evaluate(query_data, requirement_args)
74
70
  assert result.result == EvaluateResult.Error
75
71
  assert (
@@ -37,7 +37,7 @@ class TestLicense:
37
37
  query_data["standard"] = {}
38
38
  result = requirement.Evaluate(
39
39
  query_data,
40
- requirement_args={"value": requirement.default_value},
40
+ requirement_args={},
41
41
  )
42
42
  assert result.result == EvaluateResult.Warning
43
43
  assert "Incomplete data was encountered" in result.context
@@ -28,48 +28,47 @@ def requirement():
28
28
  return MergeCommitMessage()
29
29
 
30
30
 
31
- @pytest.fixture(name="requirement_args")
32
- def requirement_args_fixture():
33
- return {"value": "BLANK"}
34
-
35
-
36
31
  class TestMergeCommitMessage:
37
- def test_allow_merge_commit_missing(self, requirement, query_data, requirement_args):
32
+ def test_allow_merge_commit_missing(self, requirement, query_data):
38
33
  """Test if `allow_merge_commit` is missing"""
39
34
  query_data["standard"] = {}
40
- result = requirement.Evaluate(query_data, requirement_args)
35
+ result = requirement.Evaluate(query_data, requirement_args={})
41
36
  assert result.result == EvaluateResult.Warning
42
37
  assert "Incomplete data was encountered" in result.context
43
38
 
44
- def test_allow_merge_commit_none(self, requirement, query_data, requirement_args):
39
+ def test_allow_merge_commit_none(self, requirement, query_data):
45
40
  """Test if `allow_merge_commit` is None"""
46
41
  query_data["standard"]["allow_merge_commit"] = None
47
- result = requirement.Evaluate(query_data, requirement_args)
42
+ result = requirement.Evaluate(query_data, requirement_args={})
48
43
  assert result.result == EvaluateResult.Warning
49
44
  assert "Incomplete data was encountered" in result.context
50
45
 
51
- def test_Disabled(self, requirement, query_data, requirement_args):
46
+ def test_Disabled(self, requirement, query_data):
52
47
  """Test when merge commits are disabled"""
53
48
  query_data["standard"]["allow_merge_commit"] = False
49
+ requirement_args = {"value": "BLANK"}
54
50
  result = requirement.Evaluate(query_data, requirement_args)
55
51
  assert result.result == EvaluateResult.DoesNotApply
56
52
  assert "Merge commits are not enabled" in result.context
57
53
 
58
- def test_MissingMergeCommitMessage(self, requirement, query_data, requirement_args):
54
+ def test_MissingMergeCommitMessage(self, requirement, query_data):
59
55
  """Missing merge_commit_message value"""
60
56
  query_data["standard"].pop("merge_commit_message", None)
57
+ requirement_args = {"value": "BLANK"}
61
58
  result = requirement.Evaluate(query_data, requirement_args)
62
59
  assert result.result == EvaluateResult.Warning
63
60
  assert "Incomplete data was encountered" in result.context
64
61
 
65
- def test_Successful(self, requirement, query_data, requirement_args):
62
+ def test_Successful(self, requirement, query_data):
66
63
  """Test successful with BLANK commit message value"""
64
+ requirement_args = {"value": "BLANK"}
67
65
  result = requirement.Evaluate(query_data, requirement_args)
68
66
  assert result.result == EvaluateResult.Success
69
67
 
70
- def test_IncorrectCommitMessage(self, requirement, query_data, requirement_args):
68
+ def test_IncorrectCommitMessage(self, requirement, query_data):
71
69
  """With incorrect commit message value"""
72
70
  query_data["standard"]["merge_commit_message"] = "BLUR"
71
+ requirement_args = {"value": "BLANK"}
73
72
  result = requirement.Evaluate(query_data, requirement_args)
74
73
  assert result.result == EvaluateResult.Error
75
74
  assert "it is currently set to 'BLUR'" in result.context