RepoAuditor 0.2.42__tar.gz → 0.2.44__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.42 → repoauditor-0.2.44}/DEVELOPMENT.md +2 -12
  2. {repoauditor-0.2.42 → repoauditor-0.2.44}/PKG-INFO +7 -1
  3. {repoauditor-0.2.42 → repoauditor-0.2.44}/README.md +5 -0
  4. repoauditor-0.2.44/default_config.yaml +5 -0
  5. {repoauditor-0.2.42 → repoauditor-0.2.44}/pyproject.toml +1 -0
  6. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/__init__.py +1 -1
  7. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubCommunityStandards_EndToEndTest.py +81 -35
  8. {repoauditor-0.2.42 → repoauditor-0.2.44}/uv.lock +2 -0
  9. {repoauditor-0.2.42 → repoauditor-0.2.44}/.copier-answers.yml +0 -0
  10. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/CODEOWNERS +0 -0
  11. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  12. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  13. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/ISSUE_TEMPLATE/custom.md +0 -0
  14. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  15. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/actions/release_impl/action.yml +0 -0
  16. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/pull_request_template.md +0 -0
  17. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/release_sources.yaml +0 -0
  18. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/workflows/CICD.yml +0 -0
  19. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/workflows/CICD_impl.yml +0 -0
  20. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/workflows/EndToEnd.yml +0 -0
  21. {repoauditor-0.2.42 → repoauditor-0.2.44}/.github/workflows/codeql.yml +0 -0
  22. {repoauditor-0.2.42 → repoauditor-0.2.44}/.gitignore +0 -0
  23. {repoauditor-0.2.42 → repoauditor-0.2.44}/.pre-commit-config.yaml +0 -0
  24. {repoauditor-0.2.42 → repoauditor-0.2.44}/.python-version +0 -0
  25. {repoauditor-0.2.42 → repoauditor-0.2.44}/CODE_OF_CONDUCT.md +0 -0
  26. {repoauditor-0.2.42 → repoauditor-0.2.44}/CONTRIBUTING.md +0 -0
  27. {repoauditor-0.2.42 → repoauditor-0.2.44}/GOVERNANCE.md +0 -0
  28. {repoauditor-0.2.42 → repoauditor-0.2.44}/LICENSE +0 -0
  29. {repoauditor-0.2.42 → repoauditor-0.2.44}/MAINTAINERS.md +0 -0
  30. {repoauditor-0.2.42 → repoauditor-0.2.44}/SECURITY.md +0 -0
  31. {repoauditor-0.2.42 → repoauditor-0.2.44}/minisign_key.pub +0 -0
  32. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/AutoGitSemVer.yaml +0 -0
  33. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/CommandLineProcessor.py +0 -0
  34. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Display.py +0 -0
  35. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/EntryPoint.py +0 -0
  36. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/ExecuteModules.py +0 -0
  37. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
  38. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Impl/__init__.py +0 -0
  39. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Module.py +0 -0
  40. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugin.py +0 -0
  41. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
  42. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
  43. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowForcePushes.py +0 -0
  44. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
  45. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
  46. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +0 -0
  47. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +0 -0
  48. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
  49. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
  50. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
  51. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
  52. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
  53. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
  54. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
  55. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
  56. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
  57. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
  58. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
  59. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
  60. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
  61. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/Protected.py +0 -0
  62. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/__init__.py +0 -0
  63. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
  64. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +0 -0
  65. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +0 -0
  66. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
  67. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/Module.py +0 -0
  68. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
  69. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/AutoMerge.py +0 -0
  70. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DefaultBranch.py +0 -0
  71. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DeleteHeadBranches.py +0 -0
  72. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DependabotSecurityUpdates.py +0 -0
  73. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Description.py +0 -0
  74. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardEnableRequirementImpl.py +0 -0
  75. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardValueRequirementImpl.py +0 -0
  76. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/__init__.py +0 -0
  77. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/License.py +0 -0
  78. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommit.py +0 -0
  79. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommitMessage.py +0 -0
  80. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Private.py +0 -0
  81. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/RebaseMergeCommit.py +0 -0
  82. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanning.py +0 -0
  83. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanningPushProtection.py +0 -0
  84. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashCommitMerge.py +0 -0
  85. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashMergeCommitMessage.py +0 -0
  86. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
  87. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportDiscussions.py +0 -0
  88. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportIssues.py +0 -0
  89. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportProjects.py +0 -0
  90. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportWikis.py +0 -0
  91. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/TemplateRepository.py +0 -0
  92. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/WebCommitSignoff.py +0 -0
  93. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/__init__.py +0 -0
  94. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHub/__init__.py +0 -0
  95. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubBase/Module.py +0 -0
  96. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubBase/__init__.py +0 -0
  97. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/CommunityStandardsQuery.py +0 -0
  98. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl/ExistsRequirementImpl.py +0 -0
  99. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl/__init__.py +0 -0
  100. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Module.py +0 -0
  101. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/CodeOwners.py +0 -0
  102. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/Contributing.py +0 -0
  103. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/IssueTemplates.py +0 -0
  104. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/PullRequestTemplates.py +0 -0
  105. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/SecurityPolicy.py +0 -0
  106. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/__init__.py +0 -0
  107. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandards/__init__.py +0 -0
  108. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubCommunityStandardsPlugin.py +0 -0
  109. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
  110. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/Impl/EnableRulesetRequirementImpl.py +0 -0
  111. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/Impl/__init__.py +0 -0
  112. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/Module.py +0 -0
  113. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/RequirePullRequests.py +0 -0
  114. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/RequireSignedCommits.py +0 -0
  115. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/RequireStatusChecks.py +0 -0
  116. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/__init__.py +0 -0
  117. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/RulesetQuery.py +0 -0
  118. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesets/__init__.py +0 -0
  119. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/GitHubRulesetsPlugin.py +0 -0
  120. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Plugins/__init__.py +0 -0
  121. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Query.py +0 -0
  122. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/Requirement.py +0 -0
  123. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/RepoAuditor/py.typed +0 -0
  124. {repoauditor-0.2.42 → repoauditor-0.2.44}/src/github_auditor/__init__.py +0 -0
  125. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/CommandLineProcessor_UnitTest.py +0 -0
  126. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/EntryPoint_UnitTest.py +0 -0
  127. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/ExecuteModules_UnitTest.py +0 -0
  128. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Module_UnitTest.py +0 -0
  129. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugin_UnitTest.py +0 -0
  130. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubCommunityStandards/CommunityStandardsQuery_UnitTest.py +0 -0
  131. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubCommunityStandards/ExistsRequirementImpl_UnitTest.py +0 -0
  132. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubCommunityStandards/GitHubCommunityStandards_UnitTest.py +0 -0
  133. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicBranchProtectionQuery_UnitTest.py +0 -0
  134. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals_UnitTest.py +0 -0
  135. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/EnsureStatusChecks_UnitTest.py +0 -0
  136. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush_UnitTest.py +0 -0
  137. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovals_UnitTest.py +0 -0
  138. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireCodeOwnerReview_UnitTest.py +0 -0
  139. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireUpToDateBranches_UnitTest.py +0 -0
  140. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ClassicValueRequirementImpl_UnitTest.py +0 -0
  141. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/DefaultBranchQueryRequirements/Protected_UnitTest.py +0 -0
  142. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py +0 -0
  143. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py +0 -0
  144. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py +0 -0
  145. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/DependabotSecurityUpdates_UnitTest.py +0 -0
  146. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/Description_UnitTest.py +0 -0
  147. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/License_UnitTest.py +0 -0
  148. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/MergeCommitMessage_UnitTest.py +0 -0
  149. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/Private_UnitTest.py +0 -0
  150. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanningPushProtection_UnitTest.py +0 -0
  151. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanning_UnitTest.py +0 -0
  152. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQueryRequirements/SquashMergeCommitMessage_UnitTest.py +0 -0
  153. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py +0 -0
  154. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py +0 -0
  155. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubModule/fixtures.py +0 -0
  156. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubRuleset_EndToEndTest.py +0 -0
  157. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubRulesets/EnableRulesetRequirementImpl_UnitTest.py +0 -0
  158. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubRulesets/GitHubRuleset_UnitTest.py +0 -0
  159. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHubRulesets/RulsesetQuery_UnitTest.py +0 -0
  160. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/GitHub_EndToEndTest.py +0 -0
  161. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/__snapshots__/GitHubCommunityStandards_EndToEndTest.ambr +0 -0
  162. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/__snapshots__/GitHubRuleset_EndToEndTest.ambr +0 -0
  163. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +0 -0
  164. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/conftest.py +0 -0
  165. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Plugins/utilities.py +0 -0
  166. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Query_UnitTest.py +0 -0
  167. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/Requirement_UnitTest.py +0 -0
  168. {repoauditor-0.2.42 → repoauditor-0.2.44}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
@@ -4,18 +4,8 @@
4
4
  | --- | --- | --- |
5
5
  | 1. Fork the repository | -- | https://github.com/gt-sse-center/RepoAuditor/fork |
6
6
  | 2. Create a PAT for your forked repository | -- | See [PAT setup instructions](README.md#personal-access-token-pat) |
7
- | 3. Sync the `test-GitHubCommunityStandards` branch | see instructions below | In the web interface, select "New Branch", then choose `gt-sse-center/RepoAuditor` and `test-GitHubCommunityStandards` as source, and enter `test-GitHubCommunityStandards` as branch name. |
8
- | 4. Update your forked repository settings to match RepoAuditor's defaults | -- |
9
-
10
-
11
- To sync the `test-GitHubCommunityStandards` branch using the command line:
12
- ```bash
13
- git clone <REPOAUDITOR_FORK_URL>
14
- git remote add upstream https://github.com/gt-sse-center/RepoAuditor
15
- git fetch upstream
16
- git checkout -b test-GitHubCommunityStandards upstream/test-GitHubCommunityStandards
17
- git push origin test-GitHubCommunityStandards
18
- ```
7
+ | 3. Update your forked repository settings to match RepoAuditor's defaults | -- |
8
+
19
9
 
20
10
  # Local Development
21
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: RepoAuditor
3
- Version: 0.2.42
3
+ Version: 0.2.44
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
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
19
  Requires-Python: >=3.10
20
20
  Requires-Dist: dbrownell-common>=0.14.10
21
+ Requires-Dist: gitpython>=3.1.44
21
22
  Requires-Dist: pluggy>=1.5.0
22
23
  Requires-Dist: requests>=2.32.3
23
24
  Requires-Dist: typer-config[yaml]>=1.4.2
@@ -72,6 +73,11 @@ To get a list of command line options, you can run
72
73
  uv run repo_auditor --help
73
74
  ```
74
75
 
76
+ `RepoAuditor` accepts both a set of flags as well as a configuratin YAML file. We have provided a sample configuration file called `default_config.yaml`, which can be used as:
77
+ ```shell
78
+ uv run repo_auditor --config default_config.yaml
79
+ ```
80
+
75
81
  ### Personal Access Token (PAT)
76
82
 
77
83
  The most common use case for `RepoAuditor` would be to audit a GitHub repository.
@@ -46,6 +46,11 @@ To get a list of command line options, you can run
46
46
  uv run repo_auditor --help
47
47
  ```
48
48
 
49
+ `RepoAuditor` accepts both a set of flags as well as a configuratin YAML file. We have provided a sample configuration file called `default_config.yaml`, which can be used as:
50
+ ```shell
51
+ uv run repo_auditor --config default_config.yaml
52
+ ```
53
+
49
54
  ### Personal Access Token (PAT)
50
55
 
51
56
  The most common use case for `RepoAuditor` would be to audit a GitHub repository.
@@ -0,0 +1,5 @@
1
+ includes: ["GitHub", "GitHubCommunityStandards", "GitHubRulesets"]
2
+ GitHub-url: "https://github.com/gt-sse-center/RepoAuditor"
3
+ GitHubCommunityStandards-url: "https://github.com/gt-sse-center/RepoAuditor"
4
+ GitHubRulesets-url: "https://github.com/gt-sse-center/RepoAuditor"
5
+ # GitHub-pat: "PAT"
@@ -8,6 +8,7 @@ authors = [
8
8
  requires-python = ">= 3.10"
9
9
  dependencies = [
10
10
  "dbrownell-common>=0.14.10",
11
+ "gitpython>=3.1.44",
11
12
  "pluggy>=1.5.0",
12
13
  "requests>=2.32.3",
13
14
  "typer>=0.15.3",
@@ -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.42"
5
+ __version__ = "0.2.44"
@@ -6,21 +6,52 @@
6
6
  # -------------------------------------------------------------------------------
7
7
  """End-to-end tests for the GitHubCommunityStandards plugin."""
8
8
 
9
+ import shutil
9
10
  from pathlib import Path
11
+ from tempfile import TemporaryDirectory
12
+ from unittest.mock import patch
10
13
 
11
14
  import pytest
12
15
  from dbrownell_Common.TestHelpers.StreamTestHelpers import (
13
16
  InitializeStreamCapabilities,
14
17
  )
18
+ from git import Repo
15
19
  from typer.testing import CliRunner
16
20
  from utilities import CheckPATFileExists, GetGithubUrl, ScrubDurationGithuburlAndSpaces
17
21
 
18
22
  from RepoAuditor.EntryPoint import app
23
+ from RepoAuditor.Plugins.GitHubCommunityStandards.CommunityStandardsQuery import CommunityStandardsQuery
19
24
 
20
25
  # ----------------------------------------------------------------------
21
26
  pytest.fixture(InitializeStreamCapabilities(), scope="session", autouse=True)
22
27
 
23
28
 
29
+ def GetDataFunctional(path_to_delete: str, is_directory=False):
30
+ """A functional which returns a modified GetData method which
31
+ deletes the specified path in the cloned repo.
32
+ """
33
+
34
+ def GetData(self, module_data):
35
+ # Clone the GitHub repository to a temp directory
36
+ github_url = module_data["url"]
37
+ branch = module_data.get("branch", "main")
38
+ temp_repo_dir = TemporaryDirectory()
39
+ Repo.clone_from(github_url, temp_repo_dir.name, branch=branch)
40
+
41
+ path = Path(temp_repo_dir.name) / path_to_delete
42
+
43
+ if is_directory:
44
+ shutil.rmtree(path)
45
+ else:
46
+ path.unlink()
47
+
48
+ # Record the path and the temp directory for later cleanup
49
+ module_data["repo_dir"] = temp_repo_dir
50
+ return module_data
51
+
52
+ return GetData
53
+
54
+
24
55
  # ----------------------------------------------------------------------
25
56
  class TestCommunityStandards:
26
57
  """End-to-end tests for community standards files in a GitHub repository."""
@@ -28,21 +59,24 @@ class TestCommunityStandards:
28
59
  # ----------------------------------------------------------------------
29
60
  def test_CodeOwners(self, pat_args, snapshot):
30
61
  """Test if a CODEOWNERS file exists in the repository."""
31
- result = CliRunner().invoke(app, pat_args + ["--GitHubCommunityStandards-CodeOwners-exists"])
62
+ result = CliRunner().invoke(
63
+ app,
64
+ pat_args + ["--GitHubCommunityStandards-CodeOwners-exists"],
65
+ )
32
66
 
33
67
  assert result.exit_code == 0, result.output
34
68
  assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
35
69
 
70
+ @patch.object(
71
+ CommunityStandardsQuery,
72
+ "GetData",
73
+ GetDataFunctional(".github/CODEOWNERS"),
74
+ )
36
75
  def test_NoCodeOwners(self, pat_args, snapshot):
37
76
  """Test if a CODEOWNERS file does not exist in the repository."""
38
77
  result = CliRunner().invoke(
39
78
  app,
40
- pat_args
41
- + [
42
- "--GitHubCommunityStandards-CodeOwners-exists",
43
- "--GitHubCommunityStandards-branch",
44
- "test-GitHubCommunityStandards",
45
- ],
79
+ pat_args + ["--GitHubCommunityStandards-CodeOwners-exists"],
46
80
  )
47
81
 
48
82
  assert result.exit_code == -1, result.output
@@ -50,21 +84,24 @@ class TestCommunityStandards:
50
84
 
51
85
  def test_Contributing(self, pat_args, snapshot):
52
86
  """Test if a CONTRIBUTING.md file exists in the repository."""
53
- result = CliRunner().invoke(app, pat_args + ["--GitHubCommunityStandards-Contributing-exists"])
87
+ result = CliRunner().invoke(
88
+ app,
89
+ pat_args + ["--GitHubCommunityStandards-Contributing-exists"],
90
+ )
54
91
 
55
92
  assert result.exit_code == 0, result.output
56
93
  assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
57
94
 
95
+ @patch.object(
96
+ CommunityStandardsQuery,
97
+ "GetData",
98
+ GetDataFunctional("CONTRIBUTING.md"),
99
+ )
58
100
  def test_NoContributing(self, pat_args, snapshot):
59
101
  """Test if a CONTRIBUTING file does not exist in the repository."""
60
102
  result = CliRunner().invoke(
61
103
  app,
62
- pat_args
63
- + [
64
- "--GitHubCommunityStandards-Contributing-exists",
65
- "--GitHubCommunityStandards-branch",
66
- "test-GitHubCommunityStandards",
67
- ],
104
+ pat_args + ["--GitHubCommunityStandards-Contributing-exists"],
68
105
  )
69
106
 
70
107
  assert result.exit_code == -1, result.output
@@ -77,38 +114,44 @@ class TestCommunityStandards:
77
114
  assert result.exit_code == 0, result.output
78
115
  assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
79
116
 
117
+ @patch.object(
118
+ CommunityStandardsQuery,
119
+ "GetData",
120
+ GetDataFunctional(".github/ISSUE_TEMPLATE", True),
121
+ )
80
122
  def test_NoIssueTemplate(self, pat_args, snapshot):
81
123
  """Test if no Issue template file exists in the repository."""
82
124
  result = CliRunner().invoke(
83
125
  app,
84
- pat_args
85
- + [
86
- "--GitHubCommunityStandards-IssueTemplates-exists",
87
- "--GitHubCommunityStandards-branch",
88
- "test-GitHubCommunityStandards",
89
- ],
126
+ pat_args + ["--GitHubCommunityStandards-IssueTemplates-exists"],
90
127
  )
91
128
 
92
129
  assert result.exit_code == -1, result.output
93
130
  assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
94
131
 
95
132
  def test_PullRequestTemplate(self, pat_args, snapshot):
96
- """Test if a Pull Request template file (e.g. PULL_REQUEST_TEMPLATE.md) exists in the repository."""
97
- result = CliRunner().invoke(app, pat_args + ["--GitHubCommunityStandards-PullRequestTemplate-exists"])
133
+ """
134
+ Test if a Pull Request template file (e.g. PULL_REQUEST_TEMPLATE.md)
135
+ exists in the repository.
136
+ """
137
+ result = CliRunner().invoke(
138
+ app,
139
+ pat_args + ["--GitHubCommunityStandards-PullRequestTemplate-exists"],
140
+ )
98
141
 
99
142
  assert result.exit_code == 0, result.output
100
143
  assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
101
144
 
145
+ @patch.object(
146
+ CommunityStandardsQuery,
147
+ "GetData",
148
+ GetDataFunctional(".github/pull_request_template.md"),
149
+ )
102
150
  def test_NoPullRequestTemplate(self, pat_args, snapshot):
103
151
  """Test if no Pull Request template file exists in the repository."""
104
152
  result = CliRunner().invoke(
105
153
  app,
106
- pat_args
107
- + [
108
- "--GitHubCommunityStandards-PullRequestTemplate-exists",
109
- "--GitHubCommunityStandards-branch",
110
- "test-GitHubCommunityStandards",
111
- ],
154
+ pat_args + ["--GitHubCommunityStandards-PullRequestTemplate-exists"],
112
155
  )
113
156
 
114
157
  assert result.exit_code == -1, result.output
@@ -116,21 +159,24 @@ class TestCommunityStandards:
116
159
 
117
160
  def test_SecurityPolicy(self, pat_args, snapshot):
118
161
  """Test if a Security policy file (e.g. SECURITY.md) exists in the repository."""
119
- result = CliRunner().invoke(app, pat_args + ["--GitHubCommunityStandards-SecurityPolicy-exists"])
162
+ result = CliRunner().invoke(
163
+ app,
164
+ pat_args + ["--GitHubCommunityStandards-SecurityPolicy-exists"],
165
+ )
120
166
 
121
167
  assert result.exit_code == 0, result.output
122
168
  assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
123
169
 
170
+ @patch.object(
171
+ CommunityStandardsQuery,
172
+ "GetData",
173
+ GetDataFunctional("SECURITY.md"),
174
+ )
124
175
  def test_NoSecurityPolicy(self, pat_args, snapshot):
125
176
  """Test if no Security policy file exists in the repository."""
126
177
  result = CliRunner().invoke(
127
178
  app,
128
- pat_args
129
- + [
130
- "--GitHubCommunityStandards-SecurityPolicy-exists",
131
- "--GitHubCommunityStandards-branch",
132
- "test-GitHubCommunityStandards",
133
- ],
179
+ pat_args + ["--GitHubCommunityStandards-SecurityPolicy-exists"],
134
180
  )
135
181
 
136
182
  assert result.exit_code == -1, result.output
@@ -517,6 +517,7 @@ name = "repoauditor"
517
517
  source = { editable = "." }
518
518
  dependencies = [
519
519
  { name = "dbrownell-common" },
520
+ { name = "gitpython" },
520
521
  { name = "pluggy" },
521
522
  { name = "requests" },
522
523
  { name = "typer" },
@@ -537,6 +538,7 @@ dev = [
537
538
  [package.metadata]
538
539
  requires-dist = [
539
540
  { name = "dbrownell-common", specifier = ">=0.14.10" },
541
+ { name = "gitpython", specifier = ">=3.1.44" },
540
542
  { name = "pluggy", specifier = ">=1.5.0" },
541
543
  { name = "requests", specifier = ">=2.32.3" },
542
544
  { name = "typer", specifier = ">=0.15.3" },
File without changes
File without changes
File without changes
File without changes