RepoAuditor 0.4.0__tar.gz → 0.4.2__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.
- {repoauditor-0.4.0 → repoauditor-0.4.2}/PKG-INFO +1 -1
- {repoauditor-0.4.0 → repoauditor-0.4.2}/docs/DEVELOPMENT.md +1 -1
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Impl/ExistsRequirementImpl.py +14 -6
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetQuery.py +3 -3
- repoauditor-0.4.0/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/AllowMainlineForcePushes.py → repoauditor-0.4.2/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/BlockMainlineForcePushes.py +7 -7
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/ScientificSoftware/Requirements/Citation.py +1 -2
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/__init__.py +1 -1
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/EntryPoint_UnitTest.py +1 -2
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/ExecuteModules_UnitTest.py +1 -4
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubEnterprise_EndToEndTest.py +3 -3
- repoauditor-0.4.0/tests/Plugins/GitHubModule/RulesetRequirements/AllowMainlineForcePushesRule_UnitTest.py → repoauditor-0.4.2/tests/Plugins/GitHubModule/RulesetRequirements/BlockMainlineForcePushesRule_UnitTest.py +7 -7
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequireUpToDateBranchesRule_UnitTest.py +1 -1
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHub_EndToEndTest.py +3 -3
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/ScientificSoftware_EndToEndTest.py +2 -2
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/__snapshots__/GitHubEnterprise_EndToEndTest.ambr +31 -31
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +44 -44
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/conftest.py +2 -2
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Query_UnitTest.py +0 -1
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Requirement_UnitTest.py +0 -1
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.copier-answers.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/CODEOWNERS +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/ISSUE_TEMPLATE/custom.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/actions/release_impl/action.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/pull_request_template.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/release_sources.yaml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/workflows/CICD.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/workflows/CICD_impl.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/workflows/EndToEnd.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.github/workflows/codeql.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.gitignore +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.pre-commit-config.yaml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/.python-version +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/CODE_OF_CONDUCT.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/GOVERNANCE.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/LICENSE +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/MAINTAINERS.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/README.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/SECURITY.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/default_config.yaml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/docs/CONTRIBUTING.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/docs/PAT.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/docs/config_file.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/docs/index.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/docs/troubleshooting.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/docs/usage.md +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/minisign_key.pub +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/mkdocs.yml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/pyproject.toml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/AutoGitSemVer.yaml +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/CommandLineProcessor.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Display.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/EntryPoint.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/ExecuteModules.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Impl/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Module.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugin.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/CommunityStandardsQuery.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Impl/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Module.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/CodeOfConduct.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/CodeOwners.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/Contributing.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/IssueTemplates.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/LicenseFile.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/PullRequestTemplates.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/ReadMe.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/SecurityPolicy.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/Requirements/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandards/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/CommunityStandardsPlugin.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowMainlineForcePushes.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/DefaultBranchRequirements/Protected.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/DefaultBranchRequirements/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRulesetRequirementImpl.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/Module.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/DismissStalePullRequestApprovals.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/EnsureStatusChecks.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireApprovalMostRecentPush.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireApprovals.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireCodeOwnerReview.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireCodeScanningResults.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireConversationResolution.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireLinearHistory.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireStatusChecksToPass.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireSuccessfulDeployments.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RequireUpToDateBranches.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RestrictCreations.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RestrictDeletions.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/RestrictUpdates.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/RulesetRequirements/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/AutoMerge.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DefaultBranch.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DeleteHeadBranches.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/DependabotSecurityUpdates.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Description.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/StandardEnableRequirementImpl.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/StandardValueRequirementImpl.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Impl/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/License.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/MergeCommit.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/MergeCommitMessage.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/Private.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/RebaseMergeCommit.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SecretScanning.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SecretScanningPushProtection.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SquashCommitMerge.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SquashMergeCommitMessage.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportDiscussions.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportIssues.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportProjects.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/SupportWikis.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/TemplateRepository.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/WebCommitSignoff.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/StandardRequirements/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHub/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHubBase/Module.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHubBase/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/ScientificSoftware/Module.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/ScientificSoftware/Requirements/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/ScientificSoftware/ScientificSoftwareQuery.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/ScientificSoftware/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/ScientificSoftwarePlugin.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Plugins/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Query.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/Requirement.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/src/RepoAuditor/py.typed +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/CommandLineProcessor_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Module_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugin_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/CommunityStandards/CommunityStandardsQuery_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/CommunityStandards/CommunityStandards_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/CommunityStandards/ExistsRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/CommunityStandards_EndToEndTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicBranchProtectionQuery_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/EnsureStatusChecks_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovals_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireCodeOwnerReview_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireUpToDateBranches_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ClassicValueRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/DefaultBranchRequirements/Protected_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/EnableRulesetRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/DismissStalePullRequestApprovalsRule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/EnsureStatusChecksRule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequireApprovalMostRecentPushRule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequireApprovalsRule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequireCodeOwnerReviewRule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequireConversationResolutionRule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequirePullRequests_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequireSignedCommits_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/RequireStatusChecksToPassRule_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulesetRequirements/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/RulsesetQuery_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/DependabotSecurityUpdates_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/Description_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/License_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/MergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/Private_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/SecretScanningPushProtection_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/SecretScanning_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/StandardRequirements/SquashMergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/GitHubModule/fixtures.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/ScientificSoftware/ScientificSoftwareQuery_UnitTest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/__snapshots__/CommunityStandards_EndToEndTest.ambr +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/__snapshots__/ScientificSoftware_EndToEndTest.ambr +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/utilities.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/__init__.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/tests/conftest.py +0 -0
- {repoauditor-0.4.0 → repoauditor-0.4.2}/uv.lock +0 -0
|
@@ -107,7 +107,7 @@ Please follow the steps below to complete the configuration.
|
|
|
107
107
|
- Enable `Require status checks to pass`.
|
|
108
108
|
- Enable `Require branches to be up to date before merging`.
|
|
109
109
|
- Set the `CI+CD Workflow / Validate (ubuntu-latest, 3.12)` or an equivalent check.
|
|
110
|
-
-
|
|
110
|
+
- Enable `Block force pushes`.
|
|
111
111
|
- Be sure to hit `Save changes` at the end.
|
|
112
112
|
|
|
113
113
|
### Development Activities
|
|
@@ -30,6 +30,7 @@ class ExistsRequirementImpl(Requirement):
|
|
|
30
30
|
resolution: str,
|
|
31
31
|
rationale: str,
|
|
32
32
|
*,
|
|
33
|
+
enabled_by_default: bool = True,
|
|
33
34
|
dynamic_arg_name: str = "unrequired",
|
|
34
35
|
requires_explicit_include: bool = False,
|
|
35
36
|
) -> None:
|
|
@@ -41,7 +42,8 @@ class ExistsRequirementImpl(Requirement):
|
|
|
41
42
|
possible_locations (Sequence[str]): List of potential paths in the repo to check if `filename` exists.
|
|
42
43
|
resolution (str): Message on how to resolve the requirement in case of an error.
|
|
43
44
|
rationale (str): Rationale message on why this requirement is needed.
|
|
44
|
-
|
|
45
|
+
enabled_by_default (bool): Flag which indicates if the required file should be present in the repository by default. Defaults to True.
|
|
46
|
+
dynamic_arg_name (str, optional): Name of the runtime argument (e.g. from command line) to this requirement. Defaults to "unrequired", which if enabled causes the requirement to check if file is not present.
|
|
45
47
|
requires_explicit_include (bool, optional): Flag checking if this requirement needs to be explicitly included in the invocation. Defaults to False.
|
|
46
48
|
|
|
47
49
|
"""
|
|
@@ -56,8 +58,8 @@ class ExistsRequirementImpl(Requirement):
|
|
|
56
58
|
|
|
57
59
|
self.dynamic_arg_name = dynamic_arg_name
|
|
58
60
|
self.filename = filename
|
|
59
|
-
|
|
60
61
|
self.possible_locations = possible_locations
|
|
62
|
+
self.enabled_by_default = enabled_by_default
|
|
61
63
|
|
|
62
64
|
# ----------------------------------------------------------------------
|
|
63
65
|
@override
|
|
@@ -68,7 +70,7 @@ class ExistsRequirementImpl(Requirement):
|
|
|
68
70
|
bool,
|
|
69
71
|
typer.Option(
|
|
70
72
|
False,
|
|
71
|
-
help=f"Disable requirement that the file {self.filename} exists.",
|
|
73
|
+
help=f"{'Disable' if self.enabled_by_default else 'Enable'} requirement that the file {self.filename} exists.{' Needs to be explicitly included.' if self.requires_explicit_include else ''}",
|
|
72
74
|
),
|
|
73
75
|
),
|
|
74
76
|
}
|
|
@@ -80,8 +82,14 @@ class ExistsRequirementImpl(Requirement):
|
|
|
80
82
|
query_data: dict[str, Any],
|
|
81
83
|
requirement_args: dict[str, Any],
|
|
82
84
|
) -> Requirement.EvaluateImplResult:
|
|
83
|
-
#
|
|
84
|
-
|
|
85
|
+
# Flag to check if required file exists
|
|
86
|
+
check_exists: bool = self.enabled_by_default
|
|
87
|
+
|
|
88
|
+
# Check if the dynamic argument is provided, which toggles the check flag
|
|
89
|
+
if requirement_args.get(self.dynamic_arg_name, False):
|
|
90
|
+
check_exists = not check_exists
|
|
91
|
+
|
|
92
|
+
if check_exists:
|
|
85
93
|
for location in self.possible_locations:
|
|
86
94
|
# Get full file path in temporary repo directory and check if it exists
|
|
87
95
|
# This checks both upper case and lower case variants
|
|
@@ -107,5 +115,5 @@ class ExistsRequirementImpl(Requirement):
|
|
|
107
115
|
provide_rationale=True,
|
|
108
116
|
)
|
|
109
117
|
|
|
110
|
-
# Requirement
|
|
118
|
+
# Requirement not enabled, so DoesNotApply
|
|
111
119
|
return Requirement.EvaluateImplResult(EvaluateResult.DoesNotApply, None)
|
|
@@ -11,8 +11,8 @@ from typing import Any, Optional
|
|
|
11
11
|
from dbrownell_Common.Types import override
|
|
12
12
|
|
|
13
13
|
from RepoAuditor.Impl.ParallelSequentialProcessor import ExecutionStyle
|
|
14
|
-
from RepoAuditor.Plugins.GitHub.RulesetRequirements.
|
|
15
|
-
|
|
14
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.BlockMainlineForcePushes import (
|
|
15
|
+
BlockMainlineForcePushesRule,
|
|
16
16
|
)
|
|
17
17
|
from RepoAuditor.Plugins.GitHub.RulesetRequirements.DismissStalePullRequestApprovals import (
|
|
18
18
|
DismissStalePullRequestApprovalsRule,
|
|
@@ -68,7 +68,7 @@ class RulesetQuery(Query):
|
|
|
68
68
|
RequireStatusChecksToPassRule(),
|
|
69
69
|
RequireUpToDateBranchesRule(),
|
|
70
70
|
EnsureStatusChecksRule(),
|
|
71
|
-
|
|
71
|
+
BlockMainlineForcePushesRule(),
|
|
72
72
|
RequireCodeScanningResultsRule(),
|
|
73
73
|
],
|
|
74
74
|
)
|
|
@@ -4,21 +4,21 @@
|
|
|
4
4
|
# | Distributed under the MIT License.
|
|
5
5
|
# |
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
|
-
"""Contains the
|
|
7
|
+
"""Contains the BlockMainlineForcePushesRule requirement."""
|
|
8
8
|
|
|
9
9
|
import textwrap
|
|
10
10
|
|
|
11
11
|
from RepoAuditor.Plugins.GitHub.Impl.EnableRulesetRequirementImpl import EnableRulesetRequirementImpl
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
class
|
|
15
|
-
"""Requirement for rule to
|
|
14
|
+
class BlockMainlineForcePushesRule(EnableRulesetRequirementImpl):
|
|
15
|
+
"""Requirement for rule to block force pushes to the mainline branch."""
|
|
16
16
|
|
|
17
17
|
def __init__(self) -> None:
|
|
18
18
|
super().__init__(
|
|
19
|
-
name="
|
|
20
|
-
enabled_by_default=
|
|
21
|
-
dynamic_arg_name="
|
|
19
|
+
name="BlockMainlineForcePushesRule",
|
|
20
|
+
enabled_by_default=True,
|
|
21
|
+
dynamic_arg_name="no",
|
|
22
22
|
github_ruleset_type="non_fast_forward",
|
|
23
23
|
github_ruleset_value="Block force pushes",
|
|
24
24
|
get_configuration_value_func=self._GetValue,
|
|
@@ -34,7 +34,7 @@ class AllowMainlineForcePushesRule(EnableRulesetRequirementImpl):
|
|
|
34
34
|
|
|
35
35
|
Reasons to Override this Default
|
|
36
36
|
--------------------------------
|
|
37
|
-
|
|
37
|
+
- If the repository only has a single developer or if is private.
|
|
38
38
|
""",
|
|
39
39
|
),
|
|
40
40
|
)
|
|
@@ -37,7 +37,7 @@ class Citation(ExistsRequirementImpl):
|
|
|
37
37
|
"citations.bib",
|
|
38
38
|
"citation.md",
|
|
39
39
|
"citations.md",
|
|
40
|
-
# R packages are located in the `inst` directory
|
|
40
|
+
# Citations for R packages are located in the `inst` directory
|
|
41
41
|
"inst/CITATION",
|
|
42
42
|
],
|
|
43
43
|
resolution=textwrap.dedent(
|
|
@@ -59,5 +59,4 @@ class Citation(ExistsRequirementImpl):
|
|
|
59
59
|
https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files
|
|
60
60
|
"""
|
|
61
61
|
),
|
|
62
|
-
dynamic_arg_name="unrequired",
|
|
63
62
|
)
|
|
@@ -8,13 +8,12 @@
|
|
|
8
8
|
|
|
9
9
|
import pytest
|
|
10
10
|
import typer
|
|
11
|
-
|
|
12
11
|
from dbrownell_Common.TestHelpers.StreamTestHelpers import InitializeStreamCapabilities
|
|
13
12
|
from dbrownell_Common.TyperEx import TypeDefinitionItem # type: ignore [import-untyped]
|
|
14
13
|
from typer.testing import CliRunner
|
|
15
14
|
|
|
16
15
|
from RepoAuditor import __version__
|
|
17
|
-
from RepoAuditor.EntryPoint import
|
|
16
|
+
from RepoAuditor.EntryPoint import TypeInfoToString, app
|
|
18
17
|
|
|
19
18
|
from .Plugins.utilities import GetGithubUrl
|
|
20
19
|
|
|
@@ -9,23 +9,20 @@
|
|
|
9
9
|
import sys
|
|
10
10
|
import textwrap
|
|
11
11
|
import time
|
|
12
|
-
|
|
13
12
|
from typing import cast
|
|
14
13
|
|
|
15
14
|
import pytest
|
|
16
|
-
|
|
17
|
-
from dbrownell_Common.Types import override
|
|
18
15
|
from dbrownell_Common.TestHelpers.StreamTestHelpers import (
|
|
19
16
|
GenerateDoneManagerAndContent,
|
|
20
17
|
InitializeStreamCapabilities,
|
|
21
18
|
)
|
|
19
|
+
from dbrownell_Common.Types import override
|
|
22
20
|
|
|
23
21
|
from RepoAuditor.Display import *
|
|
24
22
|
from RepoAuditor.ExecuteModules import *
|
|
25
23
|
from RepoAuditor.Module import *
|
|
26
24
|
from RepoAuditor.Requirement import *
|
|
27
25
|
|
|
28
|
-
|
|
29
26
|
# ----------------------------------------------------------------------
|
|
30
27
|
pytest.fixture(InitializeStreamCapabilities(), scope="session", autouse=True)
|
|
31
28
|
|
|
@@ -538,9 +538,9 @@ class TestRulesets:
|
|
|
538
538
|
assert result.exit_code == -1, result.output
|
|
539
539
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
540
540
|
|
|
541
|
-
def
|
|
542
|
-
"""Test for requirement `Block force pushes to the specified branch` is
|
|
543
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHub-
|
|
541
|
+
def test_NoBlockMainlineForcePushesRule(self, pat_args, snapshot):
|
|
542
|
+
"""Test for requirement `Block force pushes to the specified branch` is disabled in the ruleset for the `main` branch."""
|
|
543
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-no-BlockMainlineForcePushesRule"])
|
|
544
544
|
|
|
545
545
|
# Since the repo ruleset has the requirement disabled,
|
|
546
546
|
# we should get an error.
|
|
@@ -4,22 +4,22 @@
|
|
|
4
4
|
# | Distributed under the MIT License.
|
|
5
5
|
# |
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
|
-
"""Unit tests for
|
|
7
|
+
"""Unit tests for BlockMainlineForcePushesRule.py"""
|
|
8
8
|
|
|
9
|
-
from RepoAuditor.Plugins.GitHub.RulesetRequirements.
|
|
10
|
-
|
|
9
|
+
from RepoAuditor.Plugins.GitHub.RulesetRequirements.BlockMainlineForcePushes import (
|
|
10
|
+
BlockMainlineForcePushesRule,
|
|
11
11
|
)
|
|
12
12
|
from RepoAuditor.Requirement import EvaluateResult
|
|
13
13
|
|
|
14
14
|
from . import create_rule
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
class
|
|
18
|
-
"""Unit tests for the
|
|
17
|
+
class TestBlockMainlineForcePushesRule:
|
|
18
|
+
"""Unit tests for the BlockMainlineForcePushesRule requirement."""
|
|
19
19
|
|
|
20
20
|
def test_Enabled(self, query_data):
|
|
21
21
|
"""Test if the rule is enabled on the main branch."""
|
|
22
|
-
requirement =
|
|
22
|
+
requirement = BlockMainlineForcePushesRule()
|
|
23
23
|
|
|
24
24
|
query_data["rules"].append(
|
|
25
25
|
create_rule(
|
|
@@ -36,7 +36,7 @@ class TestAllowMainlineForcePushesRule:
|
|
|
36
36
|
|
|
37
37
|
def test_Disabled(self, query_data):
|
|
38
38
|
"""Test if the rule is disabled by not providing the appropriate rule within the ruleset."""
|
|
39
|
-
requirement =
|
|
39
|
+
requirement = BlockMainlineForcePushesRule()
|
|
40
40
|
|
|
41
41
|
query_data["rules"].append(
|
|
42
42
|
create_rule(
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# | Distributed under the MIT License.
|
|
5
5
|
# |
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
|
-
"""Unit tests for
|
|
7
|
+
"""Unit tests for RequireUpToDateBranchesRule.py"""
|
|
8
8
|
|
|
9
9
|
from RepoAuditor.Plugins.GitHub.RulesetRequirements.RequireUpToDateBranches import (
|
|
10
10
|
RequireUpToDateBranchesRule,
|
|
@@ -568,9 +568,9 @@ class TestRulesets:
|
|
|
568
568
|
assert result.exit_code == -1, result.output
|
|
569
569
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
570
570
|
|
|
571
|
-
def
|
|
572
|
-
"""Test for requirement `Block force pushes to the specified branch` is
|
|
573
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHub-
|
|
571
|
+
def test_NoBlockMainlineForcePushesRule(self, pat_args, snapshot):
|
|
572
|
+
"""Test for requirement `Block force pushes to the specified branch` is disabled in the ruleset for the `main` branch."""
|
|
573
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-no-BlockMainlineForcePushesRule"])
|
|
574
574
|
|
|
575
575
|
# Since the repo ruleset has the requirement disabled,
|
|
576
576
|
# we should get an error.
|
|
@@ -24,11 +24,11 @@ class TestScientificSoftware:
|
|
|
24
24
|
"""End-to-end tests for files in a GitHub repository which implements scientific software."""
|
|
25
25
|
|
|
26
26
|
# ----------------------------------------------------------------------
|
|
27
|
-
def test_NoCitation(self,
|
|
27
|
+
def test_NoCitation(self, args, snapshot):
|
|
28
28
|
"""Test if no CITATION file exists in the repository."""
|
|
29
29
|
result = CliRunner().invoke(
|
|
30
30
|
app,
|
|
31
|
-
|
|
31
|
+
args,
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
assert result.exit_code == -1, result.output
|
|
@@ -712,7 +712,24 @@
|
|
|
712
712
|
|
|
713
713
|
'''
|
|
714
714
|
# ---
|
|
715
|
-
# name: TestRulesets.
|
|
715
|
+
# name: TestRulesets.test_Default
|
|
716
|
+
'''
|
|
717
|
+
Processing 1 module...
|
|
718
|
+
Processing 'GitHub' (1 of 1)...
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
724
|
+
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
725
|
+
[31;1mERROR:[0m 'branch'
|
|
726
|
+
|
|
727
|
+
Results: DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
'''
|
|
731
|
+
# ---
|
|
732
|
+
# name: TestRulesets.test_DismissStalePullRequestApprovalsRule
|
|
716
733
|
'''
|
|
717
734
|
Processing 1 module...
|
|
718
735
|
Processing 'GitHub' (1 of 1)...
|
|
@@ -734,18 +751,21 @@
|
|
|
734
751
|
│ [37mErrors: 1 (1.89%)[0m │
|
|
735
752
|
│ [37mSkipped: 5 (9.43%)[0m │
|
|
736
753
|
│ │
|
|
737
|
-
│ [31m╭─[0m[31m [Error]
|
|
754
|
+
│ [31m╭─[0m[31m [Error] DismissStalePullRequestApprovalsRule [0m[31m──────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
738
755
|
│ [31m│[0m [31m│[0m │
|
|
739
|
-
│ [31m│[0m Validates that '
|
|
756
|
+
│ [31m│[0m Validates that 'Require a pull request before merging -> Dismiss stale pull request approvals when new commits [31m│[0m │
|
|
757
|
+
│ [31m│[0m are pushed' is set to False. [31m│[0m │
|
|
740
758
|
│ [31m│[0m [31m│[0m │
|
|
741
|
-
│ [31m│[0m ERROR:
|
|
759
|
+
│ [31m│[0m ERROR: 'Require a pull request before merging -> Dismiss stale pull request approvals when new commits are [31m│[0m │
|
|
760
|
+
│ [31m│[0m pushed' rule active in ruleset 'main'. It should be set to False. [31m│[0m │
|
|
742
761
|
│ [31m│[0m [31m│[0m │
|
|
743
762
|
│ [31m│[0m Resolution [31m│[0m │
|
|
744
763
|
│ [31m│[0m ---------- [31m│[0m │
|
|
745
764
|
│ [31m│[0m 1) Visit '<scrubbed-github-url>'. [31m│[0m │
|
|
746
765
|
│ [31m│[0m 2) Find or create a ruleset on the branch 'main'. [31m│[0m │
|
|
747
|
-
│ [31m│[0m 3) Go to '
|
|
748
|
-
│ [31m│[0m
|
|
766
|
+
│ [31m│[0m 3) Go to 'Require a pull request before merging -> Dismiss stale pull request approvals when new commits are [31m│[0m │
|
|
767
|
+
│ [31m│[0m pushed'. [31m│[0m │
|
|
768
|
+
│ [31m│[0m 4) Disable the rule. [31m│[0m │
|
|
749
769
|
│ [31m│[0m [31m│[0m │
|
|
750
770
|
│ [31m╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯[0m │
|
|
751
771
|
│ [37m╭─[0m[37m Metrics [0m[37m───────────────────────────────────────────────────────────────────────────────────────────────────────[0m[37m─╮[0m │
|
|
@@ -765,24 +785,7 @@
|
|
|
765
785
|
|
|
766
786
|
'''
|
|
767
787
|
# ---
|
|
768
|
-
# name: TestRulesets.
|
|
769
|
-
'''
|
|
770
|
-
Processing 1 module...
|
|
771
|
-
Processing 'GitHub' (1 of 1)...
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
777
|
-
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
778
|
-
[31;1mERROR:[0m 'branch'
|
|
779
|
-
|
|
780
|
-
Results: DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
'''
|
|
784
|
-
# ---
|
|
785
|
-
# name: TestRulesets.test_DismissStalePullRequestApprovalsRule
|
|
788
|
+
# name: TestRulesets.test_NoBlockMainlineForcePushesRule
|
|
786
789
|
'''
|
|
787
790
|
Processing 1 module...
|
|
788
791
|
Processing 'GitHub' (1 of 1)...
|
|
@@ -804,20 +807,17 @@
|
|
|
804
807
|
│ [37mErrors: 1 (1.89%)[0m │
|
|
805
808
|
│ [37mSkipped: 5 (9.43%)[0m │
|
|
806
809
|
│ │
|
|
807
|
-
│ [31m╭─[0m[31m [Error]
|
|
810
|
+
│ [31m╭─[0m[31m [Error] BlockMainlineForcePushesRule [0m[31m──────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
808
811
|
│ [31m│[0m [31m│[0m │
|
|
809
|
-
│ [31m│[0m Validates that '
|
|
810
|
-
│ [31m│[0m are pushed' is set to False. [31m│[0m │
|
|
812
|
+
│ [31m│[0m Validates that 'Block force pushes' is set to False. [31m│[0m │
|
|
811
813
|
│ [31m│[0m [31m│[0m │
|
|
812
|
-
│ [31m│[0m ERROR: '
|
|
813
|
-
│ [31m│[0m pushed' rule active in ruleset 'main'. It should be set to False. [31m│[0m │
|
|
814
|
+
│ [31m│[0m ERROR: 'Block force pushes' rule active in ruleset 'main'. It should be set to False. [31m│[0m │
|
|
814
815
|
│ [31m│[0m [31m│[0m │
|
|
815
816
|
│ [31m│[0m Resolution [31m│[0m │
|
|
816
817
|
│ [31m│[0m ---------- [31m│[0m │
|
|
817
818
|
│ [31m│[0m 1) Visit '<scrubbed-github-url>'. [31m│[0m │
|
|
818
819
|
│ [31m│[0m 2) Find or create a ruleset on the branch 'main'. [31m│[0m │
|
|
819
|
-
│ [31m│[0m 3) Go to '
|
|
820
|
-
│ [31m│[0m pushed'. [31m│[0m │
|
|
820
|
+
│ [31m│[0m 3) Go to 'Block force pushes'. [31m│[0m │
|
|
821
821
|
│ [31m│[0m 4) Disable the rule. [31m│[0m │
|
|
822
822
|
│ [31m│[0m [31m│[0m │
|
|
823
823
|
│ [31m╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯[0m │
|
{repoauditor-0.4.0 → repoauditor-0.4.2}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr
RENAMED
|
@@ -712,7 +712,24 @@
|
|
|
712
712
|
|
|
713
713
|
'''
|
|
714
714
|
# ---
|
|
715
|
-
# name: TestRulesets.
|
|
715
|
+
# name: TestRulesets.test_Default
|
|
716
|
+
'''
|
|
717
|
+
Processing 1 module...
|
|
718
|
+
Processing 'GitHub' (1 of 1)...
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
724
|
+
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
725
|
+
[31;1mERROR:[0m 'branch'
|
|
726
|
+
|
|
727
|
+
Results: DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
'''
|
|
731
|
+
# ---
|
|
732
|
+
# name: TestRulesets.test_DismissStalePullRequestApprovalsRule
|
|
716
733
|
'''
|
|
717
734
|
Processing 1 module...
|
|
718
735
|
Processing 'GitHub' (1 of 1)...
|
|
@@ -734,18 +751,21 @@
|
|
|
734
751
|
│ [37mErrors: 1 (1.89%)[0m │
|
|
735
752
|
│ [37mSkipped: 1 (1.89%)[0m │
|
|
736
753
|
│ │
|
|
737
|
-
│ [31m╭─[0m[31m [Error]
|
|
754
|
+
│ [31m╭─[0m[31m [Error] DismissStalePullRequestApprovalsRule [0m[31m──────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
738
755
|
│ [31m│[0m [31m│[0m │
|
|
739
|
-
│ [31m│[0m Validates that '
|
|
756
|
+
│ [31m│[0m Validates that 'Require a pull request before merging -> Dismiss stale pull request approvals when new commits [31m│[0m │
|
|
757
|
+
│ [31m│[0m are pushed' is set to False. [31m│[0m │
|
|
740
758
|
│ [31m│[0m [31m│[0m │
|
|
741
|
-
│ [31m│[0m ERROR:
|
|
759
|
+
│ [31m│[0m ERROR: 'Require a pull request before merging -> Dismiss stale pull request approvals when new commits are [31m│[0m │
|
|
760
|
+
│ [31m│[0m pushed' rule active in ruleset 'main'. It should be set to False. [31m│[0m │
|
|
742
761
|
│ [31m│[0m [31m│[0m │
|
|
743
762
|
│ [31m│[0m Resolution [31m│[0m │
|
|
744
763
|
│ [31m│[0m ---------- [31m│[0m │
|
|
745
764
|
│ [31m│[0m 1) Visit '<scrubbed-github-url>'. [31m│[0m │
|
|
746
765
|
│ [31m│[0m 2) Find or create a ruleset on the branch 'main'. [31m│[0m │
|
|
747
|
-
│ [31m│[0m 3) Go to '
|
|
748
|
-
│ [31m│[0m
|
|
766
|
+
│ [31m│[0m 3) Go to 'Require a pull request before merging -> Dismiss stale pull request approvals when new commits are [31m│[0m │
|
|
767
|
+
│ [31m│[0m pushed'. [31m│[0m │
|
|
768
|
+
│ [31m│[0m 4) Disable the rule. [31m│[0m │
|
|
749
769
|
│ [31m│[0m [31m│[0m │
|
|
750
770
|
│ [31m╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯[0m │
|
|
751
771
|
│ [37m╭─[0m[37m Metrics [0m[37m───────────────────────────────────────────────────────────────────────────────────────────────────────[0m[37m─╮[0m │
|
|
@@ -765,24 +785,7 @@
|
|
|
765
785
|
|
|
766
786
|
'''
|
|
767
787
|
# ---
|
|
768
|
-
# name: TestRulesets.
|
|
769
|
-
'''
|
|
770
|
-
Processing 1 module...
|
|
771
|
-
Processing 'GitHub' (1 of 1)...
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
777
|
-
DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
778
|
-
[31;1mERROR:[0m 'branch'
|
|
779
|
-
|
|
780
|
-
Results: DONE! ([31;1m-1[0m, <scrubbed duration>)
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
'''
|
|
784
|
-
# ---
|
|
785
|
-
# name: TestRulesets.test_DismissStalePullRequestApprovalsRule
|
|
788
|
+
# name: TestRulesets.test_EnsureStatusChecksRule
|
|
786
789
|
'''
|
|
787
790
|
Processing 1 module...
|
|
788
791
|
Processing 'GitHub' (1 of 1)...
|
|
@@ -804,21 +807,21 @@
|
|
|
804
807
|
│ [37mErrors: 1 (1.89%)[0m │
|
|
805
808
|
│ [37mSkipped: 1 (1.89%)[0m │
|
|
806
809
|
│ │
|
|
807
|
-
│ [31m╭─[0m[31m [Error]
|
|
810
|
+
│ [31m╭─[0m[31m [Error] EnsureStatusChecksRule [0m[31m────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
808
811
|
│ [31m│[0m [31m│[0m │
|
|
809
|
-
│ [31m│[0m Validates that 'Require
|
|
810
|
-
│ [31m│[0m are pushed' is set to False. [31m│[0m │
|
|
812
|
+
│ [31m│[0m Validates that 'Require status checks to pass -> Status checks that are required' is set to False. [31m│[0m │
|
|
811
813
|
│ [31m│[0m [31m│[0m │
|
|
812
|
-
│ [31m│[0m ERROR: 'Require
|
|
813
|
-
│ [31m│[0m
|
|
814
|
+
│ [31m│[0m ERROR: 'Require status checks to pass -> Status checks that are required' rule active in ruleset 'main'. It [31m│[0m │
|
|
815
|
+
│ [31m│[0m should be set to False. [31m│[0m │
|
|
814
816
|
│ [31m│[0m [31m│[0m │
|
|
815
817
|
│ [31m│[0m Resolution [31m│[0m │
|
|
816
818
|
│ [31m│[0m ---------- [31m│[0m │
|
|
817
819
|
│ [31m│[0m 1) Visit '<scrubbed-github-url>'. [31m│[0m │
|
|
818
820
|
│ [31m│[0m 2) Find or create a ruleset on the branch 'main'. [31m│[0m │
|
|
819
|
-
│ [31m│[0m 3) Go to 'Require
|
|
820
|
-
│ [31m│[0m
|
|
821
|
-
│ [31m│[0m
|
|
821
|
+
│ [31m│[0m 3) Go to ''Require status checks to pass -> Status checks that are required''. [31m│[0m │
|
|
822
|
+
│ [31m│[0m 4) Click on '+ Add checks'. [31m│[0m │
|
|
823
|
+
│ [31m│[0m 5) Type the name of the check to enforce. [31m│[0m │
|
|
824
|
+
│ [31m│[0m 6) Select status checks that must pass before merging. [31m│[0m │
|
|
822
825
|
│ [31m│[0m [31m│[0m │
|
|
823
826
|
│ [31m╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯[0m │
|
|
824
827
|
│ [37m╭─[0m[37m Metrics [0m[37m───────────────────────────────────────────────────────────────────────────────────────────────────────[0m[37m─╮[0m │
|
|
@@ -838,7 +841,7 @@
|
|
|
838
841
|
|
|
839
842
|
'''
|
|
840
843
|
# ---
|
|
841
|
-
# name: TestRulesets.
|
|
844
|
+
# name: TestRulesets.test_NoBlockMainlineForcePushesRule
|
|
842
845
|
'''
|
|
843
846
|
Processing 1 module...
|
|
844
847
|
Processing 'GitHub' (1 of 1)...
|
|
@@ -860,21 +863,18 @@
|
|
|
860
863
|
│ [37mErrors: 1 (1.89%)[0m │
|
|
861
864
|
│ [37mSkipped: 1 (1.89%)[0m │
|
|
862
865
|
│ │
|
|
863
|
-
│ [31m╭─[0m[31m [Error]
|
|
866
|
+
│ [31m╭─[0m[31m [Error] BlockMainlineForcePushesRule [0m[31m──────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
864
867
|
│ [31m│[0m [31m│[0m │
|
|
865
|
-
│ [31m│[0m Validates that '
|
|
868
|
+
│ [31m│[0m Validates that 'Block force pushes' is set to False. [31m│[0m │
|
|
866
869
|
│ [31m│[0m [31m│[0m │
|
|
867
|
-
│ [31m│[0m ERROR: '
|
|
868
|
-
│ [31m│[0m should be set to False. [31m│[0m │
|
|
870
|
+
│ [31m│[0m ERROR: 'Block force pushes' rule active in ruleset 'main'. It should be set to False. [31m│[0m │
|
|
869
871
|
│ [31m│[0m [31m│[0m │
|
|
870
872
|
│ [31m│[0m Resolution [31m│[0m │
|
|
871
873
|
│ [31m│[0m ---------- [31m│[0m │
|
|
872
874
|
│ [31m│[0m 1) Visit '<scrubbed-github-url>'. [31m│[0m │
|
|
873
875
|
│ [31m│[0m 2) Find or create a ruleset on the branch 'main'. [31m│[0m │
|
|
874
|
-
│ [31m│[0m 3) Go to '
|
|
875
|
-
│ [31m│[0m 4)
|
|
876
|
-
│ [31m│[0m 5) Type the name of the check to enforce. [31m│[0m │
|
|
877
|
-
│ [31m│[0m 6) Select status checks that must pass before merging. [31m│[0m │
|
|
876
|
+
│ [31m│[0m 3) Go to 'Block force pushes'. [31m│[0m │
|
|
877
|
+
│ [31m│[0m 4) Disable the rule. [31m│[0m │
|
|
878
878
|
│ [31m│[0m [31m│[0m │
|
|
879
879
|
│ [31m╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯[0m │
|
|
880
880
|
│ [37m╭─[0m[37m Metrics [0m[37m───────────────────────────────────────────────────────────────────────────────────────────────────────[0m[37m─╮[0m │
|
|
@@ -3276,11 +3276,11 @@
|
|
|
3276
3276
|
│ │ SUCCESS: 'Require status checks to pass -> Status checks that are required' is enabled in Ruleset 'main' │ │
|
|
3277
3277
|
│ │ │ │
|
|
3278
3278
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
|
3279
|
-
│ ╭─ [Success]
|
|
3279
|
+
│ ╭─ [Success] BlockMainlineForcePushesRule ─────────────────────────────────────────────────────────────────────────╮ │
|
|
3280
3280
|
│ │ │ │
|
|
3281
|
-
│ │ Validates that 'Block force pushes' is set to
|
|
3281
|
+
│ │ Validates that 'Block force pushes' is set to True. │ │
|
|
3282
3282
|
│ │ │ │
|
|
3283
|
-
│ │ SUCCESS: 'Block force pushes' is
|
|
3283
|
+
│ │ SUCCESS: 'Block force pushes' is enabled in Ruleset 'main' │ │
|
|
3284
3284
|
│ │ │ │
|
|
3285
3285
|
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
|
|
3286
3286
|
│ ╭─ [Success] RequireCodeScanningResultsRule ───────────────────────────────────────────────────────────────────────╮ │
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
# -------------------------------------------------------------------------------
|
|
7
7
|
"""Common test fixtures for Plugins."""
|
|
8
8
|
|
|
9
|
-
from typing import Any
|
|
10
9
|
from pathlib import Path
|
|
10
|
+
from typing import Any
|
|
11
11
|
|
|
12
12
|
import pytest
|
|
13
13
|
|
|
14
14
|
# Fixtures included here so it is available for all tests
|
|
15
|
-
from GitHubModule.fixtures import
|
|
15
|
+
from GitHubModule.fixtures import query_data_fixture, session_fixture # noqa: F401
|
|
16
16
|
from utilities import CheckPATFileExists, GetGithubUrl
|
|
17
17
|
|
|
18
18
|
from RepoAuditor.Plugins.GitHubBase.Module import _GitHubSession
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|