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.
- {daktari-0.0.332/daktari.egg-info → daktari-0.0.333}/PKG-INFO +2 -2
- {daktari-0.0.332 → daktari-0.0.333}/README.md +1 -1
- daktari-0.0.333/daktari/__init__.py +1 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/mobile.py +20 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_mobile.py +36 -0
- {daktari-0.0.332 → daktari-0.0.333/daktari.egg-info}/PKG-INFO +2 -2
- {daktari-0.0.332 → daktari-0.0.333}/pyproject.toml +1 -1
- daktari-0.0.332/daktari/__init__.py +0 -1
- {daktari-0.0.332 → daktari-0.0.333}/LICENSE.txt +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/MANIFEST.in +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/__main__.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/asdf.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/check.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/check_runner.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/check_sorter.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/check_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/__init__.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/android.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/aws.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/certs.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/conan.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/direnv.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/docker.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/etc_hosts.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/files.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/flutter.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/git.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/google.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/intellij_idea.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/java.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/kubernetes.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/misc.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/nodejs.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/npmrc.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/onepassword.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/pnpm.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/python.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/ssh.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/terraform.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_certs.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_intellij_idea.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_java.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_misc.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_npmrc.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_onepassword.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_pnpm.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_ssh.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/test_yarn.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/xml.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/checks/yarn.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/collection_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/command_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/config.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/file_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/options.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/os.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/resource_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/resources/__init__.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/resources/daktari-local-template.yaml +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/resources/mock_cert.pem +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/result_printer.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_asdf.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_factory.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_runner.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_sorter.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_check_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_collection_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_config.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_git.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_result_printer.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/test_version_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari/version_utils.py +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/SOURCES.txt +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/dependency_links.txt +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/entry_points.txt +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/requires.txt +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/daktari.egg-info/top_level.txt +0 -0
- {daktari-0.0.332 → daktari-0.0.333}/requirements.txt +0 -0
- {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.
|
|
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.
|
|
48
|
+
version = "0.0.333"
|
|
49
49
|
title = "My Project"
|
|
50
50
|
|
|
51
51
|
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.
|
|
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.
|
|
48
|
+
version = "0.0.333"
|
|
49
49
|
title = "My Project"
|
|
50
50
|
|
|
51
51
|
checks = [
|
|
@@ -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
|
|
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
|
|
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
|