RepoAuditor 0.2.4__tar.gz → 0.2.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. {repoauditor-0.2.4 → repoauditor-0.2.6}/PKG-INFO +1 -1
  2. {repoauditor-0.2.4 → repoauditor-0.2.6}/pyproject.toml +3 -1
  3. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/__init__.py +1 -1
  4. repoauditor-0.2.6/tests/Plugins/GitHubModule_UnitTest.py +69 -0
  5. {repoauditor-0.2.4 → repoauditor-0.2.6}/uv.lock +11 -0
  6. {repoauditor-0.2.4 → repoauditor-0.2.6}/.copier-answers.yml +0 -0
  7. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/CODEOWNERS +0 -0
  8. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  10. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/ISSUE_TEMPLATE/custom.md +0 -0
  11. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  12. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/actions/release_impl/action.yml +0 -0
  13. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/pull_request_template.md +0 -0
  14. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/release_sources.yaml +0 -0
  15. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/workflows/CICD.yml +0 -0
  16. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/workflows/CICD_impl.yml +0 -0
  17. {repoauditor-0.2.4 → repoauditor-0.2.6}/.github/workflows/codeql.yml +0 -0
  18. {repoauditor-0.2.4 → repoauditor-0.2.6}/.gitignore +0 -0
  19. {repoauditor-0.2.4 → repoauditor-0.2.6}/.pre-commit-config.yaml +0 -0
  20. {repoauditor-0.2.4 → repoauditor-0.2.6}/.python-version +0 -0
  21. {repoauditor-0.2.4 → repoauditor-0.2.6}/CODE_OF_CONDUCT.md +0 -0
  22. {repoauditor-0.2.4 → repoauditor-0.2.6}/CONTRIBUTING.md +0 -0
  23. {repoauditor-0.2.4 → repoauditor-0.2.6}/DEVELOPMENT.md +0 -0
  24. {repoauditor-0.2.4 → repoauditor-0.2.6}/GOVERNANCE.md +0 -0
  25. {repoauditor-0.2.4 → repoauditor-0.2.6}/LICENSE +0 -0
  26. {repoauditor-0.2.4 → repoauditor-0.2.6}/MAINTAINERS.md +0 -0
  27. {repoauditor-0.2.4 → repoauditor-0.2.6}/README.md +0 -0
  28. {repoauditor-0.2.4 → repoauditor-0.2.6}/SECURITY.md +0 -0
  29. {repoauditor-0.2.4 → repoauditor-0.2.6}/minisign_key.pub +0 -0
  30. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/AutoGitSemVer.yaml +0 -0
  31. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/CommandLineProcessor.py +0 -0
  32. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/EntryPoint.py +0 -0
  33. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/ExecuteModules.py +0 -0
  34. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Impl/ParallelSequentialProcessor.py +0 -0
  35. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Impl/__init__.py +0 -0
  36. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Module.py +0 -0
  37. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugin.py +0 -0
  38. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionQuery.py +0 -0
  39. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowDeletions.py +0 -0
  40. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/AllowForcePushes.py +0 -0
  41. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DismissStalePullRequestApprovals.py +0 -0
  42. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/DoNotAllowBypassSettings.py +0 -0
  43. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/EnsureStatusChecks.py +0 -0
  44. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicEnableRequirementImpl.py +0 -0
  45. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/ClassicValueRequirementImpl.py +0 -0
  46. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/Impl/__init__.py +0 -0
  47. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovalMostRecentPush.py +0 -0
  48. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireApprovals.py +0 -0
  49. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireCodeOwnerReview.py +0 -0
  50. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireConversationResolution.py +0 -0
  51. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireLinearHistory.py +0 -0
  52. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequirePullRequests.py +0 -0
  53. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireSignedCommits.py +0 -0
  54. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireStatusChecksToPass.py +0 -0
  55. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/RequireUpToDateBranches.py +0 -0
  56. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/ClassicBranchProtectionRequirements/__init__.py +0 -0
  57. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQuery.py +0 -0
  58. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/Protected.py +0 -0
  59. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/DefaultBranchQueryRequirements/__init__.py +0 -0
  60. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/Impl/Common.py +0 -0
  61. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/Impl/EnableRequirementImpl.py +0 -0
  62. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/Impl/ValueRequirementImpl.py +0 -0
  63. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/Impl/__init__.py +0 -0
  64. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/Module.py +0 -0
  65. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQuery.py +0 -0
  66. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/AutoMerge.py +0 -0
  67. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DefaultBranch.py +0 -0
  68. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DeleteHeadBranches.py +0 -0
  69. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/DependabotSecurityUpdates.py +0 -0
  70. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Description.py +0 -0
  71. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardEnableRequirementImpl.py +0 -0
  72. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/StandardValueRequirementImpl.py +0 -0
  73. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Impl/__init__.py +0 -0
  74. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/License.py +0 -0
  75. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommit.py +0 -0
  76. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/MergeCommitMessage.py +0 -0
  77. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/Private.py +0 -0
  78. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/RebaseMergeCommit.py +0 -0
  79. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanning.py +0 -0
  80. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SecretScanningPushProtection.py +0 -0
  81. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashCommitMerge.py +0 -0
  82. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SquashMergeCommitMessage.py +0 -0
  83. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SuggestUpdatingPullRequestBranches.py +0 -0
  84. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportDiscussions.py +0 -0
  85. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportIssues.py +0 -0
  86. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportProjects.py +0 -0
  87. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/SupportWikis.py +0 -0
  88. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/TemplateRepository.py +0 -0
  89. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/WebCommitSignoff.py +0 -0
  90. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/StandardQueryRequirements/__init__.py +0 -0
  91. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHub/__init__.py +0 -0
  92. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/GitHubPlugin.py +0 -0
  93. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Plugins/__init__.py +0 -0
  94. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Query.py +0 -0
  95. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/Requirement.py +0 -0
  96. {repoauditor-0.2.4 → repoauditor-0.2.6}/src/RepoAuditor/py.typed +0 -0
  97. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/CommandLineProcessor_UnitTest.py +0 -0
  98. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/EntryPoint_UnitTest.py +0 -0
  99. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/ExecuteModules_UnitTest.py +0 -0
  100. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/Module_UnitTest.py +0 -0
  101. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/Plugin_UnitTest.py +0 -0
  102. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/Plugins/GitHub_EndToEndTest.py +0 -0
  103. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/Plugins/__snapshots__/GitHub_EndToEndTest.ambr +0 -0
  104. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/Plugins/utilities.py +0 -0
  105. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/Query_UnitTest.py +0 -0
  106. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/Requirement_UnitTest.py +0 -0
  107. {repoauditor-0.2.4 → repoauditor-0.2.6}/tests/__snapshots__/ExecuteModules_UnitTest.ambr +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: RepoAuditor
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: Add your description here
5
5
  Project-URL: Homepage, https://github.com/gt-sse-center/RepoAuditor
6
6
  Project-URL: Documentation, https://github.com/gt-sse-center/RepoAuditor
@@ -47,6 +47,7 @@ build-backend = "hatchling.build"
47
47
  dev = [
48
48
  "autogitsemver>=0.8.0",
49
49
  "pre-commit>=4.2.0",
50
+ "pyfakefs>=5.8.0",
50
51
  "pytest>=8.3.5",
51
52
  "pytest-cov>=6.1.1",
52
53
  "ruff>=0.11.8",
@@ -105,7 +106,7 @@ select = [
105
106
  "PYI",
106
107
  # "PT", # 5
107
108
  "Q",
108
- # "RSE", # 1
109
+ "RSE",
109
110
  "RET",
110
111
  "SLF",
111
112
  # "SIM", # 4
@@ -146,6 +147,7 @@ ignore = [
146
147
  "I001", # Import block is un-sorted or un-formatted
147
148
  "N802", # Function name `xxx` should be lowercase
148
149
  "N999", # Invalid module name
150
+ "RSE102", # Unnecessary parentheses on raise exception
149
151
  "S101", # Use of assert detected
150
152
  "UP032", # Use f-string instead of `format` call
151
153
  ]
@@ -3,4 +3,4 @@ APP_NAME = "RepoAuditor"
3
3
  # Note that this value will be overwritten by calls to `python ../../Build.py update_version` based
4
4
  # on changes observed in the git repository. The default value below will be used until the value
5
5
  # here is explicitly updated by the Continuous Integration system.
6
- __version__ = "0.2.4"
6
+ __version__ = "0.2.6"
@@ -0,0 +1,69 @@
1
+ # -------------------------------------------------------------------------------
2
+ # |
3
+ # | Copyright (c) 2024 Scientific Software Engineering Center at Georgia Tech
4
+ # | Distributed under the MIT License.
5
+ # |
6
+ # -------------------------------------------------------------------------------
7
+ """Unit tests for GitHub/Module.py"""
8
+
9
+ from pathlib import Path
10
+
11
+ import pytest
12
+ from pyfakefs.fake_filesystem_unittest import TestCase as FakeFSTestCase
13
+
14
+ from RepoAuditor.Plugins.GitHub.Module import GitHubModule, _GitHubSession
15
+
16
+
17
+ class TestGitHubSession(FakeFSTestCase):
18
+ """Unit tests for the _GitHubSession class."""
19
+
20
+ def setUp(self):
21
+ self.setUpPyfakefs()
22
+
23
+ def test_Construct(self):
24
+ """Test constructor."""
25
+ github_url = "https://github.com/gt-sse-center/RepoAuditor"
26
+
27
+ github_pat = Path(__file__).parent / "dummy_github_pat.txt"
28
+ self.fs.create_file(github_pat, contents="github_path_abcdefghijklmnop")
29
+
30
+ session = _GitHubSession(github_url=github_url, github_pat=github_pat)
31
+
32
+ assert session.github_url == github_url
33
+
34
+ # Test with trailing slash for URL
35
+ session = _GitHubSession(github_url=github_url + "/", github_pat=github_pat)
36
+
37
+ assert session.github_url == github_url
38
+
39
+ # Test with invalid repository
40
+ with pytest.raises(ValueError):
41
+ session = _GitHubSession(
42
+ github_url="https://github.com/gt-sse-center/RepoAuditor/123", github_pat=github_pat
43
+ )
44
+
45
+ # Test with enterprise URL
46
+ github_enterprise_url = "https://github.gatech.edu/gt-sse-center/RepoAuditor"
47
+ session = _GitHubSession(github_url=github_enterprise_url, github_pat=github_pat)
48
+ assert session.github_url == github_enterprise_url
49
+
50
+
51
+ class TestGitHubModule:
52
+ """Unit tests for the Module class in the GitHub plugin."""
53
+
54
+ def test_Construct(self):
55
+ """Test constructor."""
56
+ module = GitHubModule()
57
+ assert isinstance(module, GitHubModule)
58
+
59
+ def test_GenerateInitialData(self):
60
+ """Test GenerateInitialData method."""
61
+ dynamic_args = {
62
+ "url": "https://github.com/gt-sse-center/RepoAuditor",
63
+ "pat": Path(__file__).parent / "dummy_github_pat.txt",
64
+ }
65
+ module = GitHubModule()
66
+ dynamic_args = module.GenerateInitialData(dynamic_args)
67
+
68
+ assert "session" in dynamic_args
69
+ assert isinstance(dynamic_args["session"], _GitHubSession)
@@ -392,6 +392,15 @@ wheels = [
392
392
  { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707, upload-time = "2025-03-18T21:35:19.343Z" },
393
393
  ]
394
394
 
395
+ [[package]]
396
+ name = "pyfakefs"
397
+ version = "5.8.0"
398
+ source = { registry = "https://pypi.org/simple" }
399
+ sdist = { url = "https://files.pythonhosted.org/packages/a8/50/a839c8812899e8955223d95b27767480856f9723b3230ddee0472cf1dbe2/pyfakefs-5.8.0.tar.gz", hash = "sha256:7e5457ee3cc67069d3cef6e278227ecfc80bfb61e925bc0a4d3b0af32d1c99ce", size = 215072, upload-time = "2025-03-11T19:29:20.274Z" }
400
+ wheels = [
401
+ { url = "https://files.pythonhosted.org/packages/14/ac/ae2cf01b18b7ac04d22e5faf7d5eafcc000269c4f4a9036e40da6c37aed9/pyfakefs-5.8.0-py3-none-any.whl", hash = "sha256:4bd0fc8def7d0582139922447758632ff34a327b460a7e83feb6edbd841061dd", size = 230606, upload-time = "2025-03-11T19:29:18.341Z" },
402
+ ]
403
+
395
404
  [[package]]
396
405
  name = "pygments"
397
406
  version = "2.19.1"
@@ -503,6 +512,7 @@ dependencies = [
503
512
  dev = [
504
513
  { name = "autogitsemver" },
505
514
  { name = "pre-commit" },
515
+ { name = "pyfakefs" },
506
516
  { name = "pytest" },
507
517
  { name = "pytest-cov" },
508
518
  { name = "ruff" },
@@ -521,6 +531,7 @@ requires-dist = [
521
531
  dev = [
522
532
  { name = "autogitsemver", specifier = ">=0.8.0" },
523
533
  { name = "pre-commit", specifier = ">=4.2.0" },
534
+ { name = "pyfakefs", specifier = ">=5.8.0" },
524
535
  { name = "pytest", specifier = ">=8.3.5" },
525
536
  { name = "pytest-cov", specifier = ">=6.1.1" },
526
537
  { name = "ruff", specifier = ">=0.11.8" },
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