daktari 0.0.332__tar.gz → 0.0.333__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 (80) hide show
  1. {daktari-0.0.332/daktari.egg-info → daktari-0.0.333}/PKG-INFO +2 -2
  2. {daktari-0.0.332 → daktari-0.0.333}/README.md +1 -1
  3. daktari-0.0.333/daktari/__init__.py +1 -0
  4. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/mobile.py +20 -0
  5. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_mobile.py +36 -0
  6. {daktari-0.0.332 → daktari-0.0.333/daktari.egg-info}/PKG-INFO +2 -2
  7. {daktari-0.0.332 → daktari-0.0.333}/pyproject.toml +1 -1
  8. daktari-0.0.332/daktari/__init__.py +0 -1
  9. {daktari-0.0.332 → daktari-0.0.333}/LICENSE.txt +0 -0
  10. {daktari-0.0.332 → daktari-0.0.333}/MANIFEST.in +0 -0
  11. {daktari-0.0.332 → daktari-0.0.333}/daktari/__main__.py +0 -0
  12. {daktari-0.0.332 → daktari-0.0.333}/daktari/asdf.py +0 -0
  13. {daktari-0.0.332 → daktari-0.0.333}/daktari/check.py +0 -0
  14. {daktari-0.0.332 → daktari-0.0.333}/daktari/check_runner.py +0 -0
  15. {daktari-0.0.332 → daktari-0.0.333}/daktari/check_sorter.py +0 -0
  16. {daktari-0.0.332 → daktari-0.0.333}/daktari/check_utils.py +0 -0
  17. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/__init__.py +0 -0
  18. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/android.py +0 -0
  19. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/aws.py +0 -0
  20. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/certs.py +0 -0
  21. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/conan.py +0 -0
  22. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/direnv.py +0 -0
  23. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/docker.py +0 -0
  24. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/etc_hosts.py +0 -0
  25. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/files.py +0 -0
  26. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/flutter.py +0 -0
  27. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/git.py +0 -0
  28. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/google.py +0 -0
  29. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/intellij_idea.py +0 -0
  30. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/java.py +0 -0
  31. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/kubernetes.py +0 -0
  32. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/misc.py +0 -0
  33. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/nodejs.py +0 -0
  34. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/npmrc.py +0 -0
  35. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/onepassword.py +0 -0
  36. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/pnpm.py +0 -0
  37. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/python.py +0 -0
  38. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/ssh.py +0 -0
  39. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/terraform.py +0 -0
  40. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_certs.py +0 -0
  41. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_intellij_idea.py +0 -0
  42. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_java.py +0 -0
  43. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_misc.py +0 -0
  44. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_npmrc.py +0 -0
  45. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_onepassword.py +0 -0
  46. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_pnpm.py +0 -0
  47. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_ssh.py +0 -0
  48. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_yarn.py +0 -0
  49. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/xml.py +0 -0
  50. {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/yarn.py +0 -0
  51. {daktari-0.0.332 → daktari-0.0.333}/daktari/collection_utils.py +0 -0
  52. {daktari-0.0.332 → daktari-0.0.333}/daktari/command_utils.py +0 -0
  53. {daktari-0.0.332 → daktari-0.0.333}/daktari/config.py +0 -0
  54. {daktari-0.0.332 → daktari-0.0.333}/daktari/file_utils.py +0 -0
  55. {daktari-0.0.332 → daktari-0.0.333}/daktari/options.py +0 -0
  56. {daktari-0.0.332 → daktari-0.0.333}/daktari/os.py +0 -0
  57. {daktari-0.0.332 → daktari-0.0.333}/daktari/resource_utils.py +0 -0
  58. {daktari-0.0.332 → daktari-0.0.333}/daktari/resources/__init__.py +0 -0
  59. {daktari-0.0.332 → daktari-0.0.333}/daktari/resources/daktari-local-template.yaml +0 -0
  60. {daktari-0.0.332 → daktari-0.0.333}/daktari/resources/mock_cert.pem +0 -0
  61. {daktari-0.0.332 → daktari-0.0.333}/daktari/result_printer.py +0 -0
  62. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_asdf.py +0 -0
  63. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check.py +0 -0
  64. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_factory.py +0 -0
  65. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_runner.py +0 -0
  66. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_sorter.py +0 -0
  67. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_utils.py +0 -0
  68. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_collection_utils.py +0 -0
  69. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_config.py +0 -0
  70. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_git.py +0 -0
  71. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_result_printer.py +0 -0
  72. {daktari-0.0.332 → daktari-0.0.333}/daktari/test_version_utils.py +0 -0
  73. {daktari-0.0.332 → daktari-0.0.333}/daktari/version_utils.py +0 -0
  74. {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/SOURCES.txt +0 -0
  75. {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/dependency_links.txt +0 -0
  76. {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/entry_points.txt +0 -0
  77. {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/requires.txt +0 -0
  78. {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/top_level.txt +0 -0
  79. {daktari-0.0.332 → daktari-0.0.333}/requirements.txt +0 -0
  80. {daktari-0.0.332 → daktari-0.0.333}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: daktari
3
- Version: 0.0.332
3
+ Version: 0.0.333
4
4
  Summary: Assist in setting up and maintaining developer environments
5
5
  Author-email: Matt Russell <matthew.russell@sonocent.com>
6
6
  License: Copyright 2021 Sonocent Ltd
@@ -45,7 +45,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
45
45
  ```python
46
46
  from daktari.checks.git import *
47
47
 
48
- version = "0.0.332"
48
+ version = "0.0.333"
49
49
  title = "My Project"
50
50
 
51
51
  checks = [
@@ -7,7 +7,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
7
7
  ```python
8
8
  from daktari.checks.git import *
9
9
 
10
- version = "0.0.332"
10
+ version = "0.0.333"
11
11
  title = "My Project"
12
12
 
13
13
  checks = [
@@ -0,0 +1 @@
1
+ __version__ = "0.0.333"
@@ -10,6 +10,7 @@ from typing import Optional
10
10
  from daktari.check import Check, CheckResult
11
11
  from daktari.command_utils import CommandErrorException, CommandNotFoundException, run_command
12
12
  from daktari.os import OS
13
+ from daktari.version_utils import get_simple_cli_version
13
14
 
14
15
 
15
16
  def command_failure_summary(error) -> str:
@@ -185,6 +186,25 @@ def android_hosts_mapping_present(serial, host_alias) -> bool:
185
186
  return False
186
187
 
187
188
 
189
+ class MaestroInstalled(Check):
190
+ name = "maestro.installed"
191
+
192
+ suggestions = {
193
+ OS.OS_X: '<cmd>curl -Ls "https://get.maestro.mobile.dev" | bash</cmd>',
194
+ OS.GENERIC: 'Install Maestro:\n<cmd>curl -Ls "https://get.maestro.mobile.dev" | bash</cmd>',
195
+ }
196
+
197
+ def __init__(self, required_version: Optional[str] = None, recommended_version: Optional[str] = None):
198
+ self.required_version = required_version
199
+ self.recommended_version = recommended_version
200
+
201
+ def check(self) -> CheckResult:
202
+ installed_version = get_simple_cli_version("maestro")
203
+ return self.validate_semver_expression(
204
+ "maestro", installed_version, self.required_version, self.recommended_version
205
+ )
206
+
207
+
188
208
  class MobileIosPrerequisitesReady(Check):
189
209
  name = "mobile.ios.prerequisites"
190
210
  suggestions = {OS.OS_X: """
@@ -3,8 +3,11 @@ import tempfile
3
3
  import unittest
4
4
  from unittest import mock
5
5
 
6
+ from semver import VersionInfo
7
+
6
8
  from daktari.check import CheckStatus
7
9
  from daktari.checks.mobile import (
10
+ MaestroInstalled,
8
11
  MobileAndroidBootstrapReady,
9
12
  command_failure_summary,
10
13
  get_available_android_avds,
@@ -163,5 +166,38 @@ class TestMobileAndroidBootstrapReady(unittest.TestCase):
163
166
  self.assertEqual(2, mock_get_serial.call_count)
164
167
 
165
168
 
169
+ class TestMaestroInstalled(unittest.TestCase):
170
+ @mock.patch("daktari.checks.mobile.get_simple_cli_version", return_value=VersionInfo.parse("2.5.1"))
171
+ def test_passes_when_installed(self, _mock_version):
172
+ result = MaestroInstalled().check()
173
+
174
+ self.assertEqual(CheckStatus.PASS, result.status)
175
+
176
+ @mock.patch("daktari.checks.mobile.get_simple_cli_version", return_value=None)
177
+ def test_fails_when_not_installed(self, _mock_version):
178
+ result = MaestroInstalled().check()
179
+
180
+ self.assertEqual(CheckStatus.FAIL, result.status)
181
+ self.assertIn("not installed", result.summary)
182
+
183
+ @mock.patch("daktari.checks.mobile.get_simple_cli_version", return_value=VersionInfo.parse("2.5.1"))
184
+ def test_passes_when_required_version_satisfied(self, _mock_version):
185
+ result = MaestroInstalled(required_version=">=2.0.0").check()
186
+
187
+ self.assertEqual(CheckStatus.PASS, result.status)
188
+
189
+ @mock.patch("daktari.checks.mobile.get_simple_cli_version", return_value=VersionInfo.parse("1.9.0"))
190
+ def test_fails_when_required_version_not_satisfied(self, _mock_version):
191
+ result = MaestroInstalled(required_version=">=2.0.0").check()
192
+
193
+ self.assertEqual(CheckStatus.FAIL, result.status)
194
+
195
+ @mock.patch("daktari.checks.mobile.get_simple_cli_version", return_value=VersionInfo.parse("1.9.0"))
196
+ def test_warns_when_recommended_version_not_satisfied(self, _mock_version):
197
+ result = MaestroInstalled(recommended_version=">=2.0.0").check()
198
+
199
+ self.assertEqual(CheckStatus.PASS_WITH_WARNING, result.status)
200
+
201
+
166
202
  if __name__ == "__main__":
167
203
  unittest.main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: daktari
3
- Version: 0.0.332
3
+ Version: 0.0.333
4
4
  Summary: Assist in setting up and maintaining developer environments
5
5
  Author-email: Matt Russell <matthew.russell@sonocent.com>
6
6
  License: Copyright 2021 Sonocent Ltd
@@ -45,7 +45,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
45
45
  ```python
46
46
  from daktari.checks.git import *
47
47
 
48
- version = "0.0.332"
48
+ version = "0.0.333"
49
49
  title = "My Project"
50
50
 
51
51
  checks = [
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "daktari"
7
- version = "0.0.332"
7
+ version = "0.0.333"
8
8
  description = "Assist in setting up and maintaining developer environments"
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE.txt" }
@@ -1 +0,0 @@
1
- __version__ = "0.0.332"
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