RepoAuditor 0.2.47__tar.gz → 0.2.48__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.2.47 → repoauditor-0.2.48}/PKG-INFO +1 -1
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +4 -4
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DependabotSecurityUpdates.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardEnableRequirementImpl.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanning.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanningPushProtection.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Impl/EnableRulesetRequirementImpl.py +4 -4
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/RequirePullRequests.py +4 -4
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/RequireSignedCommits.py +4 -4
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/RequireStatusChecks.py +4 -4
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/__init__.py +1 -1
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/DependabotSecurityUpdates_UnitTest.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanningPushProtection_UnitTest.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/SecretScanning_UnitTest.py +2 -2
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubRuleset_EndToEndTest.py +3 -3
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubRulesets/EnableRulesetRequirementImpl_UnitTest.py +5 -5
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubRulesets/GitHubRuleset_UnitTest.py +17 -17
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHub_EndToEndTest.py +3 -3
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/__snapshots__/GitHubRuleset_EndToEndTest.ambr +6 -6
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.copier-answers.yml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/CODEOWNERS +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/ISSUE_TEMPLATE/custom.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/actions/release_impl/action.yml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/pull_request_template.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/release_sources.yaml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/workflows/CICD.yml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/workflows/CICD_impl.yml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/workflows/EndToEnd.yml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.github/workflows/codeql.yml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.gitignore +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.pre-commit-config.yaml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/.python-version +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/CODE_OF_CONDUCT.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/CONTRIBUTING.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/DEVELOPMENT.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/GOVERNANCE.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/LICENSE +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/MAINTAINERS.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/README.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/SECURITY.md +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/default_config.yaml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/minisign_key.pub +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/pyproject.toml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/AutoGitSemVer.yaml +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/CommandLineProcessor.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Display.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/EntryPoint.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/ExecuteModules.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Impl/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Module.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugin.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowMainlineForcePushes.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/Protected.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/Module.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/AutoMerge.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DefaultBranch.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DeleteHeadBranches.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Description.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardValueRequirementImpl.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/License.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommit.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommitMessage.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Private.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/RebaseMergeCommit.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashCommitMerge.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashMergeCommitMessage.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportDiscussions.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportIssues.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportProjects.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportWikis.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/TemplateRepository.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/WebCommitSignoff.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubBase/Module.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubBase/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/CommunityStandardsQuery.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl/ExistsRequirementImpl.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Impl/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Module.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/CodeOfConduct.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/CodeOwners.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/Contributing.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/IssueTemplates.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/PullRequestTemplates.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/ReadMe.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/SecurityPolicy.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Requirements/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandardsPlugin.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Impl/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Module.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Requirements/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/RulesetQuery.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesetsPlugin.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Query.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Requirement.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/py.typed +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/src/github_auditor/__init__.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/CommandLineProcessor_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/EntryPoint_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/ExecuteModules_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Module_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugin_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubCommunityStandards/CommunityStandardsQuery_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubCommunityStandards/ExistsRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubCommunityStandards/GitHubCommunityStandards_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubCommunityStandards_EndToEndTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicBranchProtectionQuery_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/EnsureStatusChecks_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireApprovals_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireCodeOwnerReview_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicBranchProtectionRequirements/RequireUpToDateBranches_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ClassicValueRequirementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/DefaultBranchQueryRequirements/Protected_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/Description_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/License_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/MergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/Private_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQueryRequirements/SquashMergeCommitMessage_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/fixtures.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubRulesets/RulsesetQuery_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/__snapshots__/GitHubCommunityStandards_EndToEndTest.ambr +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/conftest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/utilities.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Query_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Requirement_UnitTest.py +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
- {repoauditor-0.2.47 → repoauditor-0.2.48}/uv.lock +0 -0
|
@@ -21,7 +21,7 @@ class ClassicEnableRequirementImpl(EnableRequirementImpl):
|
|
|
21
21
|
def __init__(
|
|
22
22
|
self,
|
|
23
23
|
name: str,
|
|
24
|
-
|
|
24
|
+
enabled_by_default: bool, # noqa: FBT001
|
|
25
25
|
dynamic_arg_name: str,
|
|
26
26
|
github_settings_section: str,
|
|
27
27
|
github_settings_value: str,
|
|
@@ -34,7 +34,7 @@ class ClassicEnableRequirementImpl(EnableRequirementImpl):
|
|
|
34
34
|
) -> None:
|
|
35
35
|
super().__init__(
|
|
36
36
|
name,
|
|
37
|
-
|
|
37
|
+
enabled_by_default,
|
|
38
38
|
dynamic_arg_name,
|
|
39
39
|
github_settings_value,
|
|
40
40
|
get_configuration_value_func,
|
|
@@ -25,7 +25,7 @@ class EnableRequirementImpl(Requirement):
|
|
|
25
25
|
def __init__( # noqa: PLR0913
|
|
26
26
|
self,
|
|
27
27
|
name: str,
|
|
28
|
-
|
|
28
|
+
enabled_by_default: bool, # noqa: FBT001
|
|
29
29
|
dynamic_arg_name: str,
|
|
30
30
|
github_settings_value: str,
|
|
31
31
|
get_configuration_value_func: Callable[[dict[str, Any]], Optional[bool]],
|
|
@@ -53,7 +53,7 @@ class EnableRequirementImpl(Requirement):
|
|
|
53
53
|
|
|
54
54
|
self.dynamic_arg_name = dynamic_arg_name
|
|
55
55
|
self.github_settings_value = github_settings_value
|
|
56
|
-
self.
|
|
56
|
+
self.enabled_by_default = enabled_by_default
|
|
57
57
|
self.get_configuration_value_func = get_configuration_value_func
|
|
58
58
|
self.unset_set_terminology = unset_set_terminology
|
|
59
59
|
self.missing_value_is_warning = missing_value_is_warning
|
|
@@ -67,7 +67,7 @@ class EnableRequirementImpl(Requirement):
|
|
|
67
67
|
bool,
|
|
68
68
|
typer.Option(
|
|
69
69
|
False,
|
|
70
|
-
help=f"Ensures that the
|
|
70
|
+
help=f"Ensures that the check for {self.github_settings_value} is {'disabled' if self.enabled_by_default else 'enabled'}.",
|
|
71
71
|
),
|
|
72
72
|
),
|
|
73
73
|
}
|
|
@@ -86,7 +86,7 @@ class EnableRequirementImpl(Requirement):
|
|
|
86
86
|
|
|
87
87
|
return Requirement.EvaluateImplResult(EvaluateResult.DoesNotApply, None)
|
|
88
88
|
|
|
89
|
-
expected_value = self.
|
|
89
|
+
expected_value = self.enabled_by_default
|
|
90
90
|
|
|
91
91
|
if requirement_args[self.dynamic_arg_name]:
|
|
92
92
|
expected_value = not expected_value
|
|
@@ -23,14 +23,14 @@ class DependabotSecurityUpdates(StandardEnableRequirementImpl):
|
|
|
23
23
|
super().__init__(
|
|
24
24
|
"DependabotSecurityUpdates",
|
|
25
25
|
True,
|
|
26
|
-
"
|
|
26
|
+
"disabled",
|
|
27
27
|
"settings/security_analysis",
|
|
28
28
|
"Dependabot",
|
|
29
29
|
"Dependabot security updates",
|
|
30
30
|
_GetValue,
|
|
31
31
|
textwrap.dedent(
|
|
32
32
|
"""\
|
|
33
|
-
The default behavior is to
|
|
33
|
+
The default behavior is to ensure Dependabot security updates are enabled.
|
|
34
34
|
|
|
35
35
|
Reasons for this Default
|
|
36
36
|
------------------------
|
|
@@ -21,7 +21,7 @@ class StandardEnableRequirementImpl(EnableRequirementImpl):
|
|
|
21
21
|
def __init__( # noqa: PLR0913
|
|
22
22
|
self,
|
|
23
23
|
name: str,
|
|
24
|
-
|
|
24
|
+
enabled_by_default: bool, # noqa: FBT001
|
|
25
25
|
dynamic_arg_name: str,
|
|
26
26
|
github_settings_url_suffix: str,
|
|
27
27
|
github_settings_section: str,
|
|
@@ -36,7 +36,7 @@ class StandardEnableRequirementImpl(EnableRequirementImpl):
|
|
|
36
36
|
) -> None:
|
|
37
37
|
super().__init__(
|
|
38
38
|
name,
|
|
39
|
-
|
|
39
|
+
enabled_by_default,
|
|
40
40
|
dynamic_arg_name,
|
|
41
41
|
github_settings_value,
|
|
42
42
|
get_configuration_value_func,
|
|
@@ -23,14 +23,14 @@ class SecretScanning(StandardEnableRequirementImpl):
|
|
|
23
23
|
super().__init__(
|
|
24
24
|
"SecretScanning",
|
|
25
25
|
True,
|
|
26
|
-
"
|
|
26
|
+
"disabled",
|
|
27
27
|
"settings/security_analysis",
|
|
28
28
|
"Secret Protection",
|
|
29
29
|
"Secret protection",
|
|
30
30
|
_GetValue,
|
|
31
31
|
textwrap.dedent(
|
|
32
32
|
"""\
|
|
33
|
-
The default behavior is to
|
|
33
|
+
The default behavior is to ensure secret protection is enabled.
|
|
34
34
|
|
|
35
35
|
Reasons for this Default
|
|
36
36
|
------------------------
|
|
@@ -23,14 +23,14 @@ class SecretScanningPushProtection(StandardEnableRequirementImpl):
|
|
|
23
23
|
super().__init__(
|
|
24
24
|
"SecretScanningPushProtection",
|
|
25
25
|
True,
|
|
26
|
-
"
|
|
26
|
+
"disabled",
|
|
27
27
|
"settings/security_analysis",
|
|
28
28
|
"Secret Protection",
|
|
29
29
|
"Push protection",
|
|
30
30
|
_GetValue,
|
|
31
31
|
textwrap.dedent(
|
|
32
32
|
"""\
|
|
33
|
-
The default behavior is to
|
|
33
|
+
The default behavior is to ensure secret scanning push protection is enabled.
|
|
34
34
|
|
|
35
35
|
Reasons for this Default
|
|
36
36
|
------------------------
|
|
@@ -23,7 +23,7 @@ class EnableRulesetRequirementImpl(EnableRequirementImpl):
|
|
|
23
23
|
def __init__( # noqa: PLR0913
|
|
24
24
|
self,
|
|
25
25
|
name: str,
|
|
26
|
-
|
|
26
|
+
enabled_by_default: bool, # noqa: FBT001
|
|
27
27
|
dynamic_arg_name: str,
|
|
28
28
|
github_ruleset_type: str,
|
|
29
29
|
github_ruleset_value: str,
|
|
@@ -38,7 +38,7 @@ class EnableRulesetRequirementImpl(EnableRequirementImpl):
|
|
|
38
38
|
) -> None:
|
|
39
39
|
super().__init__(
|
|
40
40
|
name=name,
|
|
41
|
-
|
|
41
|
+
enabled_by_default=enabled_by_default,
|
|
42
42
|
dynamic_arg_name=dynamic_arg_name,
|
|
43
43
|
github_settings_value=github_ruleset_value,
|
|
44
44
|
get_configuration_value_func=get_configuration_value_func,
|
|
@@ -69,12 +69,12 @@ class EnableRulesetRequirementImpl(EnableRequirementImpl):
|
|
|
69
69
|
ruleset = rule["ruleset"]
|
|
70
70
|
return self.EvaluateImplResult(
|
|
71
71
|
EvaluateResult.Success,
|
|
72
|
-
f"Ruleset '{ruleset['name']}' enforces {self.
|
|
72
|
+
f"Ruleset '{ruleset['name']}' enforces {self.github_settings_value}",
|
|
73
73
|
)
|
|
74
74
|
|
|
75
75
|
return self.EvaluateImplResult(
|
|
76
76
|
EvaluateResult.Error,
|
|
77
|
-
f"No active branch ruleset requiring {self.
|
|
77
|
+
f"No active branch ruleset requiring {self.github_settings_value} found",
|
|
78
78
|
provide_resolution=True,
|
|
79
79
|
provide_rationale=True,
|
|
80
80
|
)
|
|
@@ -15,10 +15,10 @@ class RequirePullRequests(EnableRulesetRequirementImpl):
|
|
|
15
15
|
def __init__(self) -> None:
|
|
16
16
|
super().__init__(
|
|
17
17
|
name="RequirePullRequests",
|
|
18
|
-
|
|
19
|
-
dynamic_arg_name="
|
|
20
|
-
github_ruleset_type="
|
|
21
|
-
github_ruleset_value="
|
|
18
|
+
enabled_by_default=False,
|
|
19
|
+
dynamic_arg_name="enabled",
|
|
20
|
+
github_ruleset_type="pull_request",
|
|
21
|
+
github_ruleset_value="Pull Requests",
|
|
22
22
|
get_configuration_value_func=lambda rule: rule.get("type", "") == "pull_request",
|
|
23
23
|
resolution="Enable pull request requirements in repository rulesets",
|
|
24
24
|
rationale="Pull request reviews help maintain code quality and collaboration",
|
|
@@ -15,10 +15,10 @@ class RequireSignedCommits(EnableRulesetRequirementImpl):
|
|
|
15
15
|
def __init__(self) -> None:
|
|
16
16
|
super().__init__(
|
|
17
17
|
name="RequireSignedCommits",
|
|
18
|
-
|
|
19
|
-
dynamic_arg_name="
|
|
20
|
-
github_ruleset_type="
|
|
21
|
-
github_ruleset_value="
|
|
18
|
+
enabled_by_default=False,
|
|
19
|
+
dynamic_arg_name="enabled",
|
|
20
|
+
github_ruleset_type="required_signatures",
|
|
21
|
+
github_ruleset_value="Signed Commits",
|
|
22
22
|
get_configuration_value_func=lambda rule: rule.get("type", "") == "required_signatures",
|
|
23
23
|
resolution="Enable commit signing requirement in repository rulesets",
|
|
24
24
|
rationale="Signed commits ensure commit authenticity",
|
|
@@ -15,10 +15,10 @@ class RequireStatusChecks(EnableRulesetRequirementImpl):
|
|
|
15
15
|
def __init__(self) -> None:
|
|
16
16
|
super().__init__(
|
|
17
17
|
name="RequireStatusChecks",
|
|
18
|
-
|
|
19
|
-
dynamic_arg_name="
|
|
20
|
-
github_ruleset_type="
|
|
21
|
-
github_ruleset_value="
|
|
18
|
+
enabled_by_default=False,
|
|
19
|
+
dynamic_arg_name="enabled",
|
|
20
|
+
github_ruleset_type="required_status_checks",
|
|
21
|
+
github_ruleset_value="Status Checks",
|
|
22
22
|
get_configuration_value_func=lambda rule: rule.get("type", "") == "required_status_checks",
|
|
23
23
|
resolution="Configure required status checks in repository rulesets",
|
|
24
24
|
rationale="Status checks ensure code quality and compatibility",
|
|
@@ -65,7 +65,7 @@ class TestDependabotSecurityUpdates:
|
|
|
65
65
|
def test_Incorrect(self, requirement, query_data):
|
|
66
66
|
"""Result doesn't match expected value"""
|
|
67
67
|
query_data["standard"]["security_and_analysis"]["dependabot_security_updates"]["status"] = True
|
|
68
|
-
requirement_args = {"
|
|
68
|
+
requirement_args = {"disabled": False}
|
|
69
69
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
70
70
|
assert result.result == EvaluateResult.Error
|
|
71
71
|
assert (
|
|
@@ -76,6 +76,6 @@ class TestDependabotSecurityUpdates:
|
|
|
76
76
|
def test_Successful(self, requirement, query_data):
|
|
77
77
|
"""Successful"""
|
|
78
78
|
query_data["standard"]["security_and_analysis"]["dependabot_security_updates"]["status"] = True
|
|
79
|
-
requirement_args = {"
|
|
79
|
+
requirement_args = {"disabled": True}
|
|
80
80
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
81
81
|
assert result.result == EvaluateResult.Success
|
|
@@ -65,7 +65,7 @@ class TestSecretScanningPushProtection:
|
|
|
65
65
|
def test_Incorrect(self, requirement, query_data):
|
|
66
66
|
"""Test when result doesn't match expected value"""
|
|
67
67
|
query_data["standard"]["security_and_analysis"]["secret_scanning_push_protection"]["status"] = True
|
|
68
|
-
requirement_args = {"
|
|
68
|
+
requirement_args = {"disabled": False}
|
|
69
69
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
70
70
|
assert result.result == EvaluateResult.Error
|
|
71
71
|
assert "'Push protection' must be set to 'True' (it is currently set to 'False')." in result.context
|
|
@@ -73,6 +73,6 @@ class TestSecretScanningPushProtection:
|
|
|
73
73
|
def test_Successful(self, requirement, query_data):
|
|
74
74
|
"""Successful"""
|
|
75
75
|
query_data["standard"]["security_and_analysis"]["secret_scanning_push_protection"]["status"] = True
|
|
76
|
-
requirement_args = {"
|
|
76
|
+
requirement_args = {"disabled": True}
|
|
77
77
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
78
78
|
assert result.result == EvaluateResult.Success
|
|
@@ -63,7 +63,7 @@ class TestSecretScanning:
|
|
|
63
63
|
def test_Incorrect(self, requirement, query_data):
|
|
64
64
|
"""Test when result doesn't match expected value"""
|
|
65
65
|
query_data["standard"]["security_and_analysis"]["secret_scanning"]["status"] = True
|
|
66
|
-
requirement_args = {"
|
|
66
|
+
requirement_args = {"disabled": False}
|
|
67
67
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
68
68
|
assert result.result == EvaluateResult.Error
|
|
69
69
|
assert "'Secret protection' must be set to 'True' (it is currently set to 'False')." in result.context
|
|
@@ -71,6 +71,6 @@ class TestSecretScanning:
|
|
|
71
71
|
def test_Successful(self, requirement, query_data):
|
|
72
72
|
"""Test successful"""
|
|
73
73
|
query_data["standard"]["security_and_analysis"]["secret_scanning"]["status"] = True
|
|
74
|
-
requirement_args = {"
|
|
74
|
+
requirement_args = {"disabled": True}
|
|
75
75
|
result = requirement.Evaluate(query_data, requirement_args)
|
|
76
76
|
assert result.result == EvaluateResult.Success
|
|
@@ -27,21 +27,21 @@ class TestGitHubRuleset:
|
|
|
27
27
|
|
|
28
28
|
def test_RequireStatusChecks(self, pat_args, snapshot):
|
|
29
29
|
"""Test for Status Checks not required ruleset"""
|
|
30
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHubRulesets-RequireStatusChecks-
|
|
30
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHubRulesets-RequireStatusChecks-enabled"])
|
|
31
31
|
|
|
32
32
|
assert result.exit_code == -1, result.output
|
|
33
33
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
34
34
|
|
|
35
35
|
def test_RequirePullRequests(self, pat_args, snapshot):
|
|
36
36
|
"""Test for Pull Requests required ruleset"""
|
|
37
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHubRulesets-RequirePullRequests-
|
|
37
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHubRulesets-RequirePullRequests-enabled"])
|
|
38
38
|
|
|
39
39
|
assert result.exit_code == -1, result.output
|
|
40
40
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
41
41
|
|
|
42
42
|
def test_RequireSignedCommits(self, pat_args, snapshot):
|
|
43
43
|
"""Test for Signed Commits required ruleset"""
|
|
44
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHubRulesets-RequireSignedCommits-
|
|
44
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHubRulesets-RequireSignedCommits-enabled"])
|
|
45
45
|
|
|
46
46
|
assert result.exit_code == -1, result.output
|
|
47
47
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
@@ -17,7 +17,7 @@ class TestEnableRulesetRequirementImpl:
|
|
|
17
17
|
"""Test the EnableRulesetRequirementImpl constructor."""
|
|
18
18
|
requirement = EnableRulesetRequirementImpl(
|
|
19
19
|
name="Test Name",
|
|
20
|
-
|
|
20
|
+
enabled_by_default=False,
|
|
21
21
|
dynamic_arg_name="true",
|
|
22
22
|
github_ruleset_type="Test Ruleset",
|
|
23
23
|
github_ruleset_value="test_ruleset",
|
|
@@ -27,7 +27,7 @@ class TestEnableRulesetRequirementImpl:
|
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
assert requirement.name == "Test Name"
|
|
30
|
-
assert requirement.
|
|
30
|
+
assert requirement.enabled_by_default is False
|
|
31
31
|
assert requirement.dynamic_arg_name == "true"
|
|
32
32
|
assert requirement.github_ruleset_type == "Test Ruleset"
|
|
33
33
|
|
|
@@ -35,7 +35,7 @@ class TestEnableRulesetRequirementImpl:
|
|
|
35
35
|
"""Test the _EvaluateImpl method when dynamic_arg_name is False."""
|
|
36
36
|
requirement = EnableRulesetRequirementImpl(
|
|
37
37
|
name="Test Name",
|
|
38
|
-
|
|
38
|
+
enabled_by_default=False,
|
|
39
39
|
dynamic_arg_name="true",
|
|
40
40
|
github_ruleset_type="Test Ruleset",
|
|
41
41
|
github_ruleset_value="test_ruleset",
|
|
@@ -52,7 +52,7 @@ class TestEnableRulesetRequirementImpl:
|
|
|
52
52
|
"""Test the _EvaluateImpl method when dynamic_arg_name is False."""
|
|
53
53
|
requirement = EnableRulesetRequirementImpl(
|
|
54
54
|
name="Test Name",
|
|
55
|
-
|
|
55
|
+
enabled_by_default=False,
|
|
56
56
|
dynamic_arg_name="true",
|
|
57
57
|
github_ruleset_type="Test Ruleset",
|
|
58
58
|
github_ruleset_value="test_ruleset",
|
|
@@ -79,7 +79,7 @@ class TestEnableRulesetRequirementImpl:
|
|
|
79
79
|
"""Test the _EvaluateImpl method when dynamic_arg_name is False."""
|
|
80
80
|
requirement = EnableRulesetRequirementImpl(
|
|
81
81
|
name="Test Name",
|
|
82
|
-
|
|
82
|
+
enabled_by_default=False,
|
|
83
83
|
dynamic_arg_name="true",
|
|
84
84
|
github_ruleset_type="Test Ruleset",
|
|
85
85
|
github_ruleset_value="test_ruleset",
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubRulesets/GitHubRuleset_UnitTest.py
RENAMED
|
@@ -43,9 +43,9 @@ class TestRequirePullRequests:
|
|
|
43
43
|
)
|
|
44
44
|
]
|
|
45
45
|
}
|
|
46
|
-
result = requirement.Evaluate(context, {"
|
|
46
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
47
47
|
assert result.result == EvaluateResult.Success
|
|
48
|
-
assert "enforces Pull Requests" in result.context
|
|
48
|
+
assert "enforces 'Pull Requests'" in result.context
|
|
49
49
|
|
|
50
50
|
def test_Disabled(self):
|
|
51
51
|
"""Test if the required rule is disabled on the main branch
|
|
@@ -63,7 +63,7 @@ class TestRequirePullRequests:
|
|
|
63
63
|
)
|
|
64
64
|
]
|
|
65
65
|
}
|
|
66
|
-
result = requirement.Evaluate(context, {"
|
|
66
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
67
67
|
assert result.result == EvaluateResult.Error
|
|
68
68
|
|
|
69
69
|
def test_WrongTarget(self):
|
|
@@ -75,16 +75,16 @@ class TestRequirePullRequests:
|
|
|
75
75
|
# Hence the rules here will be empty.
|
|
76
76
|
]
|
|
77
77
|
}
|
|
78
|
-
result = requirement.Evaluate(context, {"
|
|
78
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
79
79
|
assert result.result == EvaluateResult.Error
|
|
80
80
|
|
|
81
81
|
def test_NoRulesets(self):
|
|
82
82
|
"""Test if no rules are applied on the main branch."""
|
|
83
83
|
requirement = RequirePullRequests()
|
|
84
84
|
context = {"rules": []}
|
|
85
|
-
result = requirement.Evaluate(context, {"
|
|
85
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
86
86
|
assert result.result == EvaluateResult.Error
|
|
87
|
-
assert "No active branch ruleset requiring Pull Requests found" in result.context
|
|
87
|
+
assert "No active branch ruleset requiring 'Pull Requests' found" in result.context
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
# ----------------------------------------------------------------------
|
|
@@ -104,9 +104,9 @@ class TestRequireSignedCommits:
|
|
|
104
104
|
)
|
|
105
105
|
]
|
|
106
106
|
}
|
|
107
|
-
result = requirement.Evaluate(context, {"
|
|
107
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
108
108
|
assert result.result == EvaluateResult.Success
|
|
109
|
-
assert "enforces Signed Commits" in result.context
|
|
109
|
+
assert "enforces 'Signed Commits'" in result.context
|
|
110
110
|
|
|
111
111
|
def test_Disabled(self):
|
|
112
112
|
"""Test if the required rule is disabled on the main branch
|
|
@@ -124,7 +124,7 @@ class TestRequireSignedCommits:
|
|
|
124
124
|
)
|
|
125
125
|
]
|
|
126
126
|
}
|
|
127
|
-
result = requirement.Evaluate(context, {"
|
|
127
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
128
128
|
assert result.result == EvaluateResult.Error
|
|
129
129
|
|
|
130
130
|
def test_PartialConfig(self):
|
|
@@ -135,16 +135,16 @@ class TestRequireSignedCommits:
|
|
|
135
135
|
# GitHub only returns rules that are actively enforced
|
|
136
136
|
]
|
|
137
137
|
}
|
|
138
|
-
result = requirement.Evaluate(context, {"
|
|
138
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
139
139
|
assert result.result == EvaluateResult.Error
|
|
140
140
|
|
|
141
141
|
def test_NoRulesets(self):
|
|
142
142
|
"""Test if no rules are applied on the main branch."""
|
|
143
143
|
requirement = RequireSignedCommits()
|
|
144
144
|
context = {"rules": []}
|
|
145
|
-
result = requirement.Evaluate(context, {"
|
|
145
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
146
146
|
assert result.result == EvaluateResult.Error
|
|
147
|
-
assert "No active branch ruleset requiring Signed Commits found" in result.context
|
|
147
|
+
assert "No active branch ruleset requiring 'Signed Commits' found" in result.context
|
|
148
148
|
|
|
149
149
|
|
|
150
150
|
# ----------------------------------------------------------------------
|
|
@@ -164,9 +164,9 @@ class TestRequireStatusChecks:
|
|
|
164
164
|
)
|
|
165
165
|
]
|
|
166
166
|
}
|
|
167
|
-
result = requirement.Evaluate(context, {"
|
|
167
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
168
168
|
assert result.result == EvaluateResult.Success
|
|
169
|
-
assert "enforces Status Checks" in result.context
|
|
169
|
+
assert "enforces 'Status Checks'" in result.context
|
|
170
170
|
|
|
171
171
|
def test_EmptyChecks(self):
|
|
172
172
|
"""Test for Status Check rules which don't have an associated CI check."""
|
|
@@ -178,13 +178,13 @@ class TestRequireStatusChecks:
|
|
|
178
178
|
# Hence empty.
|
|
179
179
|
]
|
|
180
180
|
}
|
|
181
|
-
result = requirement.Evaluate(context, {"
|
|
181
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
182
182
|
assert result.result == EvaluateResult.Error
|
|
183
183
|
|
|
184
184
|
def test_NoRulesets(self):
|
|
185
185
|
"""Test if no rules are applied on the main branch."""
|
|
186
186
|
requirement = RequireStatusChecks()
|
|
187
187
|
context = {"rules": []}
|
|
188
|
-
result = requirement.Evaluate(context, {"
|
|
188
|
+
result = requirement.Evaluate(context, {"enabled": True})
|
|
189
189
|
assert result.result == EvaluateResult.Error
|
|
190
|
-
assert "No active branch ruleset requiring Status Checks found" in result.context
|
|
190
|
+
assert "No active branch ruleset requiring 'Status Checks' found" in result.context
|
|
@@ -73,7 +73,7 @@ class TestStandard:
|
|
|
73
73
|
|
|
74
74
|
# ----------------------------------------------------------------------
|
|
75
75
|
def test_NoDependabotSecurityUpdates(self, pat_args, snapshot):
|
|
76
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHub-DependabotSecurityUpdates-
|
|
76
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-DependabotSecurityUpdates-disabled"])
|
|
77
77
|
|
|
78
78
|
assert result.exit_code == -1, result.output
|
|
79
79
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
@@ -94,14 +94,14 @@ class TestStandard:
|
|
|
94
94
|
|
|
95
95
|
# ----------------------------------------------------------------------
|
|
96
96
|
def test_NoSecretScanning(self, pat_args, snapshot):
|
|
97
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHub-SecretScanning-
|
|
97
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-SecretScanning-disabled"])
|
|
98
98
|
|
|
99
99
|
assert result.exit_code == -1, result.output
|
|
100
100
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
101
101
|
|
|
102
102
|
# ----------------------------------------------------------------------
|
|
103
103
|
def test_NoSecretScanningPushProtection(self, pat_args, snapshot):
|
|
104
|
-
result = CliRunner().invoke(app, pat_args + ["--GitHub-SecretScanningPushProtection-
|
|
104
|
+
result = CliRunner().invoke(app, pat_args + ["--GitHub-SecretScanningPushProtection-disabled"])
|
|
105
105
|
|
|
106
106
|
assert result.exit_code == -1, result.output
|
|
107
107
|
assert ScrubDurationGithuburlAndSpaces(result.stdout) == snapshot
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
│ │
|
|
23
23
|
│ [31m╭─[0m[31m [Error] RequirePullRequests [0m[31m───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
24
24
|
│ [31m│[0m [31m│[0m │
|
|
25
|
-
│ [31m│[0m Validates that '
|
|
25
|
+
│ [31m│[0m Validates that 'Pull Requests' is set to the expected value. [31m│[0m │
|
|
26
26
|
│ [31m│[0m [31m│[0m │
|
|
27
|
-
│ [31m│[0m ERROR: No active branch ruleset requiring Pull Requests found
|
|
27
|
+
│ [31m│[0m ERROR: No active branch ruleset requiring 'Pull Requests' found [31m│[0m │
|
|
28
28
|
│ [31m│[0m [31m│[0m │
|
|
29
29
|
│ [31m│[0m Resolution [31m│[0m │
|
|
30
30
|
│ [31m│[0m ---------- [31m│[0m │
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
│ │
|
|
67
67
|
│ [31m╭─[0m[31m [Error] RequireSignedCommits [0m[31m──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
68
68
|
│ [31m│[0m [31m│[0m │
|
|
69
|
-
│ [31m│[0m Validates that '
|
|
69
|
+
│ [31m│[0m Validates that 'Signed Commits' is set to the expected value. [31m│[0m │
|
|
70
70
|
│ [31m│[0m [31m│[0m │
|
|
71
|
-
│ [31m│[0m ERROR: No active branch ruleset requiring Signed Commits found
|
|
71
|
+
│ [31m│[0m ERROR: No active branch ruleset requiring 'Signed Commits' found [31m│[0m │
|
|
72
72
|
│ [31m│[0m [31m│[0m │
|
|
73
73
|
│ [31m│[0m Resolution [31m│[0m │
|
|
74
74
|
│ [31m│[0m ---------- [31m│[0m │
|
|
@@ -110,9 +110,9 @@
|
|
|
110
110
|
│ │
|
|
111
111
|
│ [31m╭─[0m[31m [Error] RequireStatusChecks [0m[31m───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────[0m[31m─╮[0m │
|
|
112
112
|
│ [31m│[0m [31m│[0m │
|
|
113
|
-
│ [31m│[0m Validates that '
|
|
113
|
+
│ [31m│[0m Validates that 'Status Checks' is set to the expected value. [31m│[0m │
|
|
114
114
|
│ [31m│[0m [31m│[0m │
|
|
115
|
-
│ [31m│[0m ERROR: No active branch ruleset requiring Status Checks found
|
|
115
|
+
│ [31m│[0m ERROR: No active branch ruleset requiring 'Status Checks' found [31m│[0m │
|
|
116
116
|
│ [31m│[0m [31m│[0m │
|
|
117
117
|
│ [31m│[0m Resolution [31m│[0m │
|
|
118
118
|
│ [31m│[0m ---------- [31m│[0m │
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandards/Module.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubCommunityStandardsPlugin.py
RENAMED
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/Impl/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/RulesetQuery.py
RENAMED
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/src/RepoAuditor/Plugins/GitHubRulesets/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubCommunityStandards_EndToEndTest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/DefaultBranchQuery_UnitTest.py
RENAMED
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/GitHubModule_UnitTest.py
RENAMED
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/GitHubSession_UnitTest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/StandardQuery_UnitTest.py
RENAMED
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubModule/ValueRequrementImpl_UnitTest.py
RENAMED
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/GitHubRulesets/RulsesetQuery_UnitTest.py
RENAMED
|
File without changes
|
|
File without changes
|
{repoauditor-0.2.47 → repoauditor-0.2.48}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|