utf-queue-client 1.21.4b5__tar.gz → 1.21.5__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.
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/Jenkinsfile +6 -46
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/PKG-INFO +2 -1
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/pyproject.toml +9 -1
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/requirements.txt +2 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/script_test.groovy +1 -1
- utf_queue_client-1.21.5/test/scripts/test_package_release_metadata_cli.py +497 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_publish_release_info.py +3 -1
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_publish_test_results.py +6 -2
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_ubai_copy.py +3 -1
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_ubai_update_retention.py +1 -1
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_ubai_upload.py +9 -3
- utf_queue_client-1.21.5/test-requirements-pydantic-v1.txt +28 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test-requirements.txt +1 -1
- utf_queue_client-1.21.5/utf_queue_client/models/schemas/utf_queue_models/models/python/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v1.py +0 -3
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v2.py +0 -3
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/schemas/utf_queue_models/schema/queue_message.json +0 -5
- utf_queue_client-1.21.5/utf_queue_client/scripts/package_release_metadata_cli.py +499 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/scripts/publish_test_results_cli.py +0 -1
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client.egg-info/PKG-INFO +2 -1
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client.egg-info/SOURCES.txt +19 -16
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client.egg-info/entry_points.txt +4 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client.egg-info/requires.txt +1 -0
- utf_queue_client-1.21.5/uv.lock +2710 -0
- utf_queue_client-1.21.4b5/README.md +0 -53
- utf_queue_client-1.21.4b5/test-requirements-pydantic-v1.txt +0 -14
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/.gitignore +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/.gitmodules +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/.idea/.gitignore +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/.idea/modules.xml +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/.idea/utf_queue_client_python.iml +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/.idea/vcs.xml +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/.pre-commit-config.yaml +0 -0
- /utf_queue_client-1.21.4b5/utf_queue_client/models/schemas/utf_queue_models/models/python/__init__.py → /utf_queue_client-1.21.5/README.md +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/examples/example_async_consumer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/setup.cfg +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/sonar-project.properties +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/.gitattributes +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/Dockerfile.script_test +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_amqp_connections.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_async_consumer.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_connection_retry.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_data_lake_data_producer.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_http_producer.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_opentelemetry_data_producer.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_rail_data_producer_tests.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_sqa_test_result_producer.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/clients}/test_xray_data_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/conftest.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/pytest.ini +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_ca_cert.py +0 -0
- {utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_ubai_search.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/silabs-intermediate.pem +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/silabs-root.pem +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/stopwatch.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/test.hex +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/test_models.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/test/test_utils.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/build_dist.bat +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/setup_venv.bat +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/silabs-net.pem +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/silabs.pem +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/update_schema.bat +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/upload_to_nexus.bat +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/upload_to_pypi.bat +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tools/upload_to_testpypi.bat +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/tox.ini +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/async_consumer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/base_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/data_lake_data_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/http_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/opentelemetry_data_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/sqa_test_result_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/test_rail_data_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/ubai_artifact_upload_request_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/clients/xray_data_producer.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/exceptions/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/base_model.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/model_factory.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/schemas/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/scripts/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/scripts/publish_release_info_cli.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/scripts/ubai_copy_cli.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/scripts/ubai_search_cli.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/scripts/ubai_update_retention_cli.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/scripts/ubai_upload_cli.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/utils/__init__.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/utils/queue_metrics_exporter.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client/utils/queue_span_exporter.py +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client.egg-info/dependency_links.txt +0 -0
- {utf_queue_client-1.21.4b5 → utf_queue_client-1.21.5}/utf_queue_client.egg-info/top_level.txt +0 -0
|
@@ -46,7 +46,7 @@ pipeline {
|
|
|
46
46
|
python3 -m venv venv
|
|
47
47
|
. venv/bin/activate
|
|
48
48
|
uv pip install --upgrade pip wheel
|
|
49
|
-
uv pip install -r test-requirements.txt
|
|
49
|
+
uv pip install --extra-index-url https://artifactory-bos.silabs.net/artifactory/api/pypi/infrasw-python-local/simple -r test-requirements.txt
|
|
50
50
|
|
|
51
51
|
pre-commit run --all-files
|
|
52
52
|
'''
|
|
@@ -55,7 +55,7 @@ pipeline {
|
|
|
55
55
|
python3 -m venv venv_2
|
|
56
56
|
. venv_2/bin/activate
|
|
57
57
|
uv pip install --upgrade pip wheel
|
|
58
|
-
uv pip install -r test-requirements-pydantic-v1.txt
|
|
58
|
+
uv pip install --extra-index-url https://artifactory-bos.silabs.net/artifactory/api/pypi/infrasw-python-local/simple -r test-requirements-pydantic-v1.txt
|
|
59
59
|
'''
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -106,9 +106,9 @@ pipeline {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
stage('Deploy to pypi') {
|
|
109
|
-
when {
|
|
110
|
-
|
|
111
|
-
}
|
|
109
|
+
// when {
|
|
110
|
+
// branch 'main'
|
|
111
|
+
// }
|
|
112
112
|
environment {
|
|
113
113
|
TWINE_REPOSITORY_URL = "https://upload.pypi.org/legacy/"
|
|
114
114
|
TWINE_USERNAME = "__token__"
|
|
@@ -126,50 +126,10 @@ pipeline {
|
|
|
126
126
|
rm -rf utf_queue_client.egg-info
|
|
127
127
|
python3 -m build
|
|
128
128
|
|
|
129
|
-
twine upload dist/*
|
|
129
|
+
twine upload dist/* --verbose
|
|
130
130
|
'''
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
|
-
stage('Deploy to PyPI (Beta)') {
|
|
135
|
-
when {
|
|
136
|
-
branch 'develop'
|
|
137
|
-
}
|
|
138
|
-
environment {
|
|
139
|
-
TWINE_REPOSITORY_URL = "https://upload.pypi.org/legacy/"
|
|
140
|
-
TWINE_USERNAME = "__token__"
|
|
141
|
-
}
|
|
142
|
-
steps {
|
|
143
|
-
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE', message: "[ERROR] Beta deployment failed - check version suffix") {
|
|
144
|
-
withVaultOnAgent(vaultSecrets: vaultSecrets) {
|
|
145
|
-
sh '''
|
|
146
|
-
if [ ! -f venv/bin/activate ]; then
|
|
147
|
-
python3 -m venv venv
|
|
148
|
-
fi
|
|
149
|
-
. venv/bin/activate
|
|
150
|
-
pip3 install wheel && pip3 install -r test-requirements.txt build
|
|
151
|
-
rm -rf build
|
|
152
|
-
rm -rf dist
|
|
153
|
-
rm -rf utf_queue_client.egg-info
|
|
154
|
-
|
|
155
|
-
# Extract version from pyproject.toml
|
|
156
|
-
VERSION=$(grep -oP 'version = "\\K[^"]+' pyproject.toml)
|
|
157
|
-
|
|
158
|
-
# Validate version contains alphabetic characters (alpha/beta/rc/dev)
|
|
159
|
-
if ! echo "${VERSION}" | grep -qE '[a-zA-Z]'; then
|
|
160
|
-
echo "[ERROR] Version '${VERSION}' in pyproject.toml must contain alpha/beta/rc/dev suffix"
|
|
161
|
-
exit 1
|
|
162
|
-
fi
|
|
163
|
-
|
|
164
|
-
echo "[INFO] Deploying beta version: ${VERSION}"
|
|
165
|
-
|
|
166
|
-
python3 -m build
|
|
167
|
-
|
|
168
|
-
twine upload dist/*
|
|
169
|
-
'''
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
134
|
}
|
|
175
135
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: utf-queue-client
|
|
3
|
-
Version: 1.21.
|
|
3
|
+
Version: 1.21.5
|
|
4
4
|
Summary: No description provided
|
|
5
5
|
Author-email: Joe Savage <joe.savage@silabs.com>
|
|
6
6
|
Keywords: UTF
|
|
@@ -14,6 +14,7 @@ Requires-Dist: typing_extensions; python_version < "3.8"
|
|
|
14
14
|
Requires-Dist: click
|
|
15
15
|
Requires-Dist: certifi>=2020.4
|
|
16
16
|
Requires-Dist: ubai-client>=1.2.0
|
|
17
|
+
Requires-Dist: package-release-metadata-client==0.1.4
|
|
17
18
|
Requires-Dist: opentelemetry-distro[otlp]
|
|
18
19
|
Requires-Dist: otel-extensions>=0.1.2
|
|
19
20
|
Requires-Dist: retry>=0.9.2
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "utf-queue-client"
|
|
7
|
-
version = "1.21.
|
|
7
|
+
version = "1.21.5"
|
|
8
8
|
description = "No description provided"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Joe Savage", email = "joe.savage@silabs.com" }
|
|
@@ -20,6 +20,7 @@ dependencies = [
|
|
|
20
20
|
"click",
|
|
21
21
|
"certifi >= 2020.4",
|
|
22
22
|
"ubai-client >= 1.2.0",
|
|
23
|
+
"package-release-metadata-client == 0.1.4",
|
|
23
24
|
"opentelemetry-distro[otlp]",
|
|
24
25
|
"otel-extensions >= 0.1.2",
|
|
25
26
|
"retry>=0.9.2",
|
|
@@ -36,6 +37,10 @@ publish_test_results_cli = "utf_queue_client.scripts.publish_test_results_cli:cl
|
|
|
36
37
|
ubai_update_retention_cli = "utf_queue_client.scripts.ubai_update_retention_cli:cli_entrypoint"
|
|
37
38
|
publish_release_info_cli = "utf_queue_client.scripts.publish_release_info_cli:cli_entrypoint"
|
|
38
39
|
ubai_copy_cli = "utf_queue_client.scripts.ubai_copy_cli:cli_entrypoint"
|
|
40
|
+
pkgrelease_manifest_read = "utf_queue_client.scripts.package_release_metadata_cli:manifest_read_cli_entrypoint"
|
|
41
|
+
pkgrelease_manifest_write = "utf_queue_client.scripts.package_release_metadata_cli:manifest_write_cli_entrypoint"
|
|
42
|
+
pkgrelease_quality_status_update = "utf_queue_client.scripts.package_release_metadata_cli:update_cli_entrypoint"
|
|
43
|
+
pkgrelease_quality_status_enquiry = "utf_queue_client.scripts.package_release_metadata_cli:enquiry_cli_entrypoint"
|
|
39
44
|
|
|
40
45
|
[tool.setuptools.packages.find]
|
|
41
46
|
include = ["utf_queue_client"]
|
|
@@ -47,6 +52,9 @@ utf_queue_client = [
|
|
|
47
52
|
"models/schemas/utf_queue_models/schema/*.json",
|
|
48
53
|
]
|
|
49
54
|
|
|
55
|
+
[tool.uv]
|
|
56
|
+
extra-index-url = ["https://artifactory-bos.silabs.net/artifactory/api/pypi/infrasw-python-local/simple"]
|
|
57
|
+
|
|
50
58
|
[tool.ruff]
|
|
51
59
|
fix = true
|
|
52
60
|
line-length = 88
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
--extra-index-url https://artifactory-bos.silabs.net/artifactory/api/pypi/infrasw-python-local/simple
|
|
1
2
|
pika>=1.2.0
|
|
2
3
|
jsonschema>=3.2.0
|
|
3
4
|
msgpack>=1.0.2
|
|
@@ -8,6 +9,7 @@ typing_extensions; python_version < '3.8'
|
|
|
8
9
|
click
|
|
9
10
|
certifi>=2020.4
|
|
10
11
|
ubai-client>=1.2.0
|
|
12
|
+
package-release-metadata-client==0.1.4
|
|
11
13
|
opentelemetry-distro[otlp]
|
|
12
14
|
otel-extensions>=0.2.4
|
|
13
15
|
retry>=0.9.2
|
|
@@ -0,0 +1,497 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from unittest.mock import MagicMock, patch
|
|
3
|
+
|
|
4
|
+
import pytest
|
|
5
|
+
from click.testing import CliRunner
|
|
6
|
+
|
|
7
|
+
pytest.importorskip("package_release_metadata_client")
|
|
8
|
+
|
|
9
|
+
from utf_queue_client.scripts.package_release_metadata_cli import ( # noqa: E402
|
|
10
|
+
enquiry_cli_entrypoint,
|
|
11
|
+
manifest_read_cli_entrypoint,
|
|
12
|
+
manifest_write_cli_entrypoint,
|
|
13
|
+
update_cli_entrypoint,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
runner = CliRunner()
|
|
17
|
+
|
|
18
|
+
# ---------------------------------------------------------------------------
|
|
19
|
+
# Shared helpers
|
|
20
|
+
# ---------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
REQUIRED_UPDATE_ARGS = [
|
|
23
|
+
"--release-name",
|
|
24
|
+
"2.4.1",
|
|
25
|
+
"--build-number",
|
|
26
|
+
"42",
|
|
27
|
+
"--job-url",
|
|
28
|
+
"https://ci/build/1",
|
|
29
|
+
"--stack-name",
|
|
30
|
+
"zigbee",
|
|
31
|
+
"--test-result-type",
|
|
32
|
+
"sanity",
|
|
33
|
+
"--status",
|
|
34
|
+
"pass",
|
|
35
|
+
"--run-num",
|
|
36
|
+
"1",
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
REQUIRED_MANIFEST_WRITE_ARGS = [
|
|
40
|
+
"--release-name",
|
|
41
|
+
"2.4.1",
|
|
42
|
+
"--build-number",
|
|
43
|
+
"42",
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _qs_client_mock(create_data=None, latest_data=None, list_data=None):
|
|
48
|
+
"""Return a MagicMock QualityStatusClient with pre-configured .data on each method."""
|
|
49
|
+
client = MagicMock()
|
|
50
|
+
if create_data is not None:
|
|
51
|
+
client.create_quality_status.return_value = MagicMock(data=create_data)
|
|
52
|
+
if latest_data is not None:
|
|
53
|
+
client.get_latest_quality_status.return_value = MagicMock(data=latest_data)
|
|
54
|
+
if list_data is not None:
|
|
55
|
+
client.list_quality_status.return_value = MagicMock(data=list_data)
|
|
56
|
+
return client
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def _manifest_client_mock(create_data=None, latest_data=None):
|
|
60
|
+
"""Return a MagicMock ManifestClient with pre-configured .data on each method."""
|
|
61
|
+
client = MagicMock()
|
|
62
|
+
if create_data is not None:
|
|
63
|
+
client.create_manifest.return_value = MagicMock(data=create_data)
|
|
64
|
+
if latest_data is not None:
|
|
65
|
+
client.get_latest_manifest.return_value = MagicMock(data=latest_data)
|
|
66
|
+
return client
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
# ---------------------------------------------------------------------------
|
|
70
|
+
# pkgrelease_manifest_read — argument validation
|
|
71
|
+
# ---------------------------------------------------------------------------
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def test_manifest_read_help_exits_cleanly():
|
|
75
|
+
result = runner.invoke(manifest_read_cli_entrypoint, ["--help"])
|
|
76
|
+
assert result.exit_code == 0
|
|
77
|
+
assert "ManifestRead" in result.output
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def test_manifest_read_missing_release_name_fails():
|
|
81
|
+
result = runner.invoke(manifest_read_cli_entrypoint, [])
|
|
82
|
+
assert result.exit_code != 0
|
|
83
|
+
assert "Missing option" in result.output
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
# ---------------------------------------------------------------------------
|
|
87
|
+
# pkgrelease_manifest_read — API routing and output
|
|
88
|
+
# ---------------------------------------------------------------------------
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
92
|
+
def test_manifest_read_targets_prod_by_default(mock_make):
|
|
93
|
+
data = MagicMock(manifest_id="uuid-1", to_dict=lambda: {"manifest_id": "uuid-1"})
|
|
94
|
+
mock_make.return_value = _manifest_client_mock(latest_data=data)
|
|
95
|
+
runner.invoke(manifest_read_cli_entrypoint, ["--release-name", "2.4.1"])
|
|
96
|
+
mock_make.assert_called_once_with(False)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
100
|
+
def test_manifest_read_dev_flag_targets_dev(mock_make):
|
|
101
|
+
data = MagicMock(manifest_id="uuid-1", to_dict=lambda: {"manifest_id": "uuid-1"})
|
|
102
|
+
mock_make.return_value = _manifest_client_mock(latest_data=data)
|
|
103
|
+
runner.invoke(manifest_read_cli_entrypoint, ["--release-name", "2.4.1", "--dev"])
|
|
104
|
+
mock_make.assert_called_once_with(True)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
108
|
+
def test_manifest_read_calls_get_latest_manifest(mock_make):
|
|
109
|
+
data = MagicMock(manifest_id="uuid-1", to_dict=lambda: {"manifest_id": "uuid-1"})
|
|
110
|
+
client = _manifest_client_mock(latest_data=data)
|
|
111
|
+
mock_make.return_value = client
|
|
112
|
+
result = runner.invoke(manifest_read_cli_entrypoint, ["--release-name", "2.4.1"])
|
|
113
|
+
assert result.exit_code == 0
|
|
114
|
+
client.get_latest_manifest.assert_called_once_with("2.4.1")
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
118
|
+
def test_manifest_read_output_is_json(mock_make):
|
|
119
|
+
data = MagicMock(
|
|
120
|
+
manifest_id="uuid-abc",
|
|
121
|
+
to_dict=lambda: {"manifest_id": "uuid-abc", "release_name": "2.4.1"},
|
|
122
|
+
)
|
|
123
|
+
mock_make.return_value = _manifest_client_mock(latest_data=data)
|
|
124
|
+
result = runner.invoke(manifest_read_cli_entrypoint, ["--release-name", "2.4.1"])
|
|
125
|
+
assert result.exit_code == 0
|
|
126
|
+
parsed = json.loads(result.output)
|
|
127
|
+
assert parsed["manifest_id"] == "uuid-abc"
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
# ---------------------------------------------------------------------------
|
|
131
|
+
# pkgrelease_manifest_write — argument validation
|
|
132
|
+
# ---------------------------------------------------------------------------
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
def test_manifest_write_help_exits_cleanly():
|
|
136
|
+
result = runner.invoke(manifest_write_cli_entrypoint, ["--help"])
|
|
137
|
+
assert result.exit_code == 0
|
|
138
|
+
assert "ManifestRead" in result.output
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def test_manifest_write_missing_release_name_fails():
|
|
142
|
+
result = runner.invoke(manifest_write_cli_entrypoint, ["--build-number", "42"])
|
|
143
|
+
assert result.exit_code != 0
|
|
144
|
+
assert "Missing option" in result.output
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
def test_manifest_write_missing_build_number_fails():
|
|
148
|
+
result = runner.invoke(manifest_write_cli_entrypoint, ["--release-name", "2.4.1"])
|
|
149
|
+
assert result.exit_code != 0
|
|
150
|
+
assert "Missing option" in result.output
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
# ---------------------------------------------------------------------------
|
|
154
|
+
# pkgrelease_manifest_write — API routing and output
|
|
155
|
+
# ---------------------------------------------------------------------------
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
159
|
+
def test_manifest_write_targets_prod_by_default(mock_make):
|
|
160
|
+
data = MagicMock(manifest_id="uuid-1", to_dict=lambda: {"manifest_id": "uuid-1"})
|
|
161
|
+
mock_make.return_value = _manifest_client_mock(create_data=data)
|
|
162
|
+
runner.invoke(manifest_write_cli_entrypoint, REQUIRED_MANIFEST_WRITE_ARGS)
|
|
163
|
+
mock_make.assert_called_once_with(False)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
167
|
+
def test_manifest_write_dev_flag_targets_dev(mock_make):
|
|
168
|
+
data = MagicMock(manifest_id="uuid-1", to_dict=lambda: {"manifest_id": "uuid-1"})
|
|
169
|
+
mock_make.return_value = _manifest_client_mock(create_data=data)
|
|
170
|
+
runner.invoke(
|
|
171
|
+
manifest_write_cli_entrypoint, REQUIRED_MANIFEST_WRITE_ARGS + ["--dev"]
|
|
172
|
+
)
|
|
173
|
+
mock_make.assert_called_once_with(True)
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
177
|
+
def test_manifest_write_calls_create_manifest(mock_make):
|
|
178
|
+
data = MagicMock(
|
|
179
|
+
manifest_id="uuid-new", to_dict=lambda: {"manifest_id": "uuid-new"}
|
|
180
|
+
)
|
|
181
|
+
client = _manifest_client_mock(create_data=data)
|
|
182
|
+
mock_make.return_value = client
|
|
183
|
+
result = runner.invoke(manifest_write_cli_entrypoint, REQUIRED_MANIFEST_WRITE_ARGS)
|
|
184
|
+
assert result.exit_code == 0
|
|
185
|
+
client.create_manifest.assert_called_once()
|
|
186
|
+
payload = client.create_manifest.call_args[0][0]
|
|
187
|
+
assert payload.release_name == "2.4.1"
|
|
188
|
+
assert payload.build_number == 42
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
192
|
+
def test_manifest_write_optional_artifactory_url_forwarded(mock_make):
|
|
193
|
+
data = MagicMock(
|
|
194
|
+
manifest_id="uuid-new", to_dict=lambda: {"manifest_id": "uuid-new"}
|
|
195
|
+
)
|
|
196
|
+
client = _manifest_client_mock(create_data=data)
|
|
197
|
+
mock_make.return_value = client
|
|
198
|
+
result = runner.invoke(
|
|
199
|
+
manifest_write_cli_entrypoint,
|
|
200
|
+
REQUIRED_MANIFEST_WRITE_ARGS
|
|
201
|
+
+ ["--artifactory-url", "https://art.example.com/pkg"],
|
|
202
|
+
)
|
|
203
|
+
assert result.exit_code == 0
|
|
204
|
+
payload = client.create_manifest.call_args[0][0]
|
|
205
|
+
assert payload.artifactory_url == "https://art.example.com/pkg"
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli._make_manifest_client")
|
|
209
|
+
def test_manifest_write_output_is_json(mock_make):
|
|
210
|
+
data = MagicMock(
|
|
211
|
+
manifest_id="uuid-new",
|
|
212
|
+
to_dict=lambda: {
|
|
213
|
+
"manifest_id": "uuid-new",
|
|
214
|
+
"release_name": "2.4.1",
|
|
215
|
+
"build_number": 42,
|
|
216
|
+
},
|
|
217
|
+
)
|
|
218
|
+
mock_make.return_value = _manifest_client_mock(create_data=data)
|
|
219
|
+
result = runner.invoke(manifest_write_cli_entrypoint, REQUIRED_MANIFEST_WRITE_ARGS)
|
|
220
|
+
assert result.exit_code == 0
|
|
221
|
+
parsed = json.loads(result.output)
|
|
222
|
+
assert parsed["manifest_id"] == "uuid-new"
|
|
223
|
+
assert parsed["build_number"] == 42
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
# ---------------------------------------------------------------------------
|
|
227
|
+
# pkgrelease_quality_status_update — argument validation
|
|
228
|
+
# ---------------------------------------------------------------------------
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
def test_update_help_exits_cleanly():
|
|
232
|
+
result = runner.invoke(update_cli_entrypoint, ["--help"])
|
|
233
|
+
assert result.exit_code == 0
|
|
234
|
+
assert "QualityStatusRead" in result.output
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
def test_update_missing_required_args_fails():
|
|
238
|
+
result = runner.invoke(update_cli_entrypoint, ["--release-name", "2.4.1"])
|
|
239
|
+
assert result.exit_code != 0
|
|
240
|
+
assert "Missing option" in result.output
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
def test_update_invalid_status_rejected():
|
|
244
|
+
args = REQUIRED_UPDATE_ARGS[:]
|
|
245
|
+
args[args.index("pass")] = "passed"
|
|
246
|
+
result = runner.invoke(update_cli_entrypoint, args)
|
|
247
|
+
assert result.exit_code != 0
|
|
248
|
+
assert "'passed' is not" in result.output
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
@pytest.mark.parametrize("status", ["pass", "fail", "aborted"])
|
|
252
|
+
def test_update_all_valid_statuses_accepted(status):
|
|
253
|
+
args = REQUIRED_UPDATE_ARGS[:]
|
|
254
|
+
args[args.index("pass")] = status
|
|
255
|
+
data = MagicMock(id=1, to_dict=lambda: {"id": 1})
|
|
256
|
+
with patch(
|
|
257
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
258
|
+
) as mock_make:
|
|
259
|
+
mock_make.return_value = _qs_client_mock(create_data=data)
|
|
260
|
+
result = runner.invoke(update_cli_entrypoint, args)
|
|
261
|
+
assert result.exit_code == 0
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
# ---------------------------------------------------------------------------
|
|
265
|
+
# pkgrelease_quality_status_update — API routing and output
|
|
266
|
+
# ---------------------------------------------------------------------------
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
@patch(
|
|
270
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
271
|
+
)
|
|
272
|
+
def test_update_targets_prod_by_default(mock_make):
|
|
273
|
+
data = MagicMock(id=1, to_dict=lambda: {"id": 1})
|
|
274
|
+
mock_make.return_value = _qs_client_mock(create_data=data)
|
|
275
|
+
runner.invoke(update_cli_entrypoint, REQUIRED_UPDATE_ARGS)
|
|
276
|
+
mock_make.assert_called_once_with(False)
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
@patch(
|
|
280
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
281
|
+
)
|
|
282
|
+
def test_update_dev_flag_targets_dev(mock_make):
|
|
283
|
+
data = MagicMock(id=1, to_dict=lambda: {"id": 1})
|
|
284
|
+
mock_make.return_value = _qs_client_mock(create_data=data)
|
|
285
|
+
runner.invoke(update_cli_entrypoint, REQUIRED_UPDATE_ARGS + ["--dev"])
|
|
286
|
+
mock_make.assert_called_once_with(True)
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
@patch(
|
|
290
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
291
|
+
)
|
|
292
|
+
def test_update_calls_create_quality_status(mock_make):
|
|
293
|
+
data = MagicMock(id=99, to_dict=lambda: {"id": 99})
|
|
294
|
+
client = _qs_client_mock(create_data=data)
|
|
295
|
+
mock_make.return_value = client
|
|
296
|
+
result = runner.invoke(update_cli_entrypoint, REQUIRED_UPDATE_ARGS)
|
|
297
|
+
assert result.exit_code == 0
|
|
298
|
+
client.create_quality_status.assert_called_once()
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
@patch(
|
|
302
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
303
|
+
)
|
|
304
|
+
def test_update_optional_fields_forwarded(mock_make):
|
|
305
|
+
data = MagicMock(id=1, to_dict=lambda: {"id": 1})
|
|
306
|
+
client = _qs_client_mock(create_data=data)
|
|
307
|
+
mock_make.return_value = client
|
|
308
|
+
result = runner.invoke(
|
|
309
|
+
update_cli_entrypoint,
|
|
310
|
+
REQUIRED_UPDATE_ARGS
|
|
311
|
+
+ [
|
|
312
|
+
"--pass-cnt",
|
|
313
|
+
"80",
|
|
314
|
+
"--fail-cnt",
|
|
315
|
+
"20",
|
|
316
|
+
"--total-cnt",
|
|
317
|
+
"100",
|
|
318
|
+
"--pass-pct",
|
|
319
|
+
"80.0",
|
|
320
|
+
"--sub-stack",
|
|
321
|
+
"core",
|
|
322
|
+
],
|
|
323
|
+
)
|
|
324
|
+
assert result.exit_code == 0
|
|
325
|
+
payload = client.create_quality_status.call_args[0][0]
|
|
326
|
+
assert payload.pass_cnt == 80
|
|
327
|
+
assert payload.fail_cnt == 20
|
|
328
|
+
assert payload.sub_stack == "core"
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
@patch(
|
|
332
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
333
|
+
)
|
|
334
|
+
def test_update_output_is_json(mock_make):
|
|
335
|
+
data = MagicMock(id=7, to_dict=lambda: {"id": 7, "status": "pass"})
|
|
336
|
+
mock_make.return_value = _qs_client_mock(create_data=data)
|
|
337
|
+
result = runner.invoke(update_cli_entrypoint, REQUIRED_UPDATE_ARGS)
|
|
338
|
+
assert result.exit_code == 0
|
|
339
|
+
parsed = json.loads(result.output)
|
|
340
|
+
assert parsed["id"] == 7
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
# ---------------------------------------------------------------------------
|
|
344
|
+
# pkgrelease_quality_status_enquiry — argument validation
|
|
345
|
+
# ---------------------------------------------------------------------------
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
def test_enquiry_help_exits_cleanly():
|
|
349
|
+
result = runner.invoke(enquiry_cli_entrypoint, ["--help"])
|
|
350
|
+
assert result.exit_code == 0
|
|
351
|
+
assert "LatestQualityStatusResponse" in result.output
|
|
352
|
+
assert "List[QualityStatusRead]" in result.output
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
def test_enquiry_missing_release_name_fails():
|
|
356
|
+
result = runner.invoke(enquiry_cli_entrypoint, [])
|
|
357
|
+
assert result.exit_code != 0
|
|
358
|
+
assert "Missing option" in result.output
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
# ---------------------------------------------------------------------------
|
|
362
|
+
# pkgrelease_quality_status_enquiry — API routing
|
|
363
|
+
# ---------------------------------------------------------------------------
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
@patch(
|
|
367
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
368
|
+
)
|
|
369
|
+
def test_enquiry_release_name_only_calls_latest(mock_make):
|
|
370
|
+
data = MagicMock(
|
|
371
|
+
to_dict=lambda: {"release_name": "2.4.1", "build_number": 42, "stacks": []}
|
|
372
|
+
)
|
|
373
|
+
client = _qs_client_mock(latest_data=data)
|
|
374
|
+
mock_make.return_value = client
|
|
375
|
+
result = runner.invoke(enquiry_cli_entrypoint, ["--release-name", "2.4.1"])
|
|
376
|
+
assert result.exit_code == 0
|
|
377
|
+
client.get_latest_quality_status.assert_called_once_with(
|
|
378
|
+
release_name="2.4.1", build_number=None
|
|
379
|
+
)
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
@patch(
|
|
383
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
384
|
+
)
|
|
385
|
+
def test_enquiry_with_build_num_calls_latest(mock_make):
|
|
386
|
+
data = MagicMock(to_dict=lambda: {})
|
|
387
|
+
client = _qs_client_mock(latest_data=data)
|
|
388
|
+
mock_make.return_value = client
|
|
389
|
+
result = runner.invoke(
|
|
390
|
+
enquiry_cli_entrypoint, ["--release-name", "2.4.1", "--build-num", "42"]
|
|
391
|
+
)
|
|
392
|
+
assert result.exit_code == 0
|
|
393
|
+
client.get_latest_quality_status.assert_called_once_with(
|
|
394
|
+
release_name="2.4.1", build_number=42
|
|
395
|
+
)
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
@patch(
|
|
399
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
400
|
+
)
|
|
401
|
+
def test_enquiry_with_stack_name_calls_list(mock_make):
|
|
402
|
+
client = _qs_client_mock(list_data=[])
|
|
403
|
+
mock_make.return_value = client
|
|
404
|
+
result = runner.invoke(
|
|
405
|
+
enquiry_cli_entrypoint, ["--release-name", "2.4.1", "--stack-name", "zigbee"]
|
|
406
|
+
)
|
|
407
|
+
assert result.exit_code == 0
|
|
408
|
+
client.list_quality_status.assert_called_once_with(
|
|
409
|
+
release_name="2.4.1",
|
|
410
|
+
build_number=None,
|
|
411
|
+
stack_name="zigbee",
|
|
412
|
+
test_result_type=None,
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
@patch(
|
|
417
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
418
|
+
)
|
|
419
|
+
def test_enquiry_with_test_result_type_calls_list(mock_make):
|
|
420
|
+
client = _qs_client_mock(list_data=[])
|
|
421
|
+
mock_make.return_value = client
|
|
422
|
+
result = runner.invoke(
|
|
423
|
+
enquiry_cli_entrypoint,
|
|
424
|
+
["--release-name", "2.4.1", "--test-result-type", "sanity"],
|
|
425
|
+
)
|
|
426
|
+
assert result.exit_code == 0
|
|
427
|
+
client.list_quality_status.assert_called_once_with(
|
|
428
|
+
release_name="2.4.1",
|
|
429
|
+
build_number=None,
|
|
430
|
+
stack_name=None,
|
|
431
|
+
test_result_type="sanity",
|
|
432
|
+
)
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
@patch(
|
|
436
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
437
|
+
)
|
|
438
|
+
def test_enquiry_targets_prod_by_default(mock_make):
|
|
439
|
+
data = MagicMock(to_dict=lambda: {})
|
|
440
|
+
mock_make.return_value = _qs_client_mock(latest_data=data)
|
|
441
|
+
runner.invoke(enquiry_cli_entrypoint, ["--release-name", "2.4.1"])
|
|
442
|
+
mock_make.assert_called_once_with(False)
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
@patch(
|
|
446
|
+
"utf_queue_client.scripts.package_release_metadata_cli._make_quality_status_client"
|
|
447
|
+
)
|
|
448
|
+
def test_enquiry_dev_flag_targets_dev(mock_make):
|
|
449
|
+
data = MagicMock(to_dict=lambda: {})
|
|
450
|
+
mock_make.return_value = _qs_client_mock(latest_data=data)
|
|
451
|
+
runner.invoke(enquiry_cli_entrypoint, ["--release-name", "2.4.1", "--dev"])
|
|
452
|
+
mock_make.assert_called_once_with(True)
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
# ---------------------------------------------------------------------------
|
|
456
|
+
# _make_manifest_client / _make_quality_status_client — construction
|
|
457
|
+
# ---------------------------------------------------------------------------
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli.ManifestClient")
|
|
461
|
+
def test_make_manifest_client_prod_by_default(mock_cls):
|
|
462
|
+
from utf_queue_client.scripts.package_release_metadata_cli import (
|
|
463
|
+
_make_manifest_client,
|
|
464
|
+
)
|
|
465
|
+
|
|
466
|
+
_make_manifest_client(dev=False)
|
|
467
|
+
mock_cls.assert_called_once_with(dev=False)
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli.ManifestClient")
|
|
471
|
+
def test_make_manifest_client_dev_flag(mock_cls):
|
|
472
|
+
from utf_queue_client.scripts.package_release_metadata_cli import (
|
|
473
|
+
_make_manifest_client,
|
|
474
|
+
)
|
|
475
|
+
|
|
476
|
+
_make_manifest_client(dev=True)
|
|
477
|
+
mock_cls.assert_called_once_with(dev=True)
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli.QualityStatusClient")
|
|
481
|
+
def test_make_quality_status_client_prod_by_default(mock_cls):
|
|
482
|
+
from utf_queue_client.scripts.package_release_metadata_cli import (
|
|
483
|
+
_make_quality_status_client,
|
|
484
|
+
)
|
|
485
|
+
|
|
486
|
+
_make_quality_status_client(dev=False)
|
|
487
|
+
mock_cls.assert_called_once_with(dev=False)
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
@patch("utf_queue_client.scripts.package_release_metadata_cli.QualityStatusClient")
|
|
491
|
+
def test_make_quality_status_client_dev_flag(mock_cls):
|
|
492
|
+
from utf_queue_client.scripts.package_release_metadata_cli import (
|
|
493
|
+
_make_quality_status_client,
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
_make_quality_status_client(dev=True)
|
|
497
|
+
mock_cls.assert_called_once_with(dev=True)
|
{utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_publish_release_info.py
RENAMED
|
@@ -41,7 +41,9 @@ def test_publish_release_info(request, publish_release_info):
|
|
|
41
41
|
for k, v in publish_release_info:
|
|
42
42
|
args += ["--data", k, v]
|
|
43
43
|
|
|
44
|
-
base_dir = os.path.dirname(
|
|
44
|
+
base_dir = os.path.dirname(
|
|
45
|
+
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
46
|
+
)
|
|
45
47
|
|
|
46
48
|
@inject_context_to_env
|
|
47
49
|
def call_cli_script():
|
{utf_queue_client-1.21.4b5/test → utf_queue_client-1.21.5/test/scripts}/test_publish_test_results.py
RENAMED
|
@@ -118,7 +118,9 @@ def test_jobstatus_session_data(request, session_start_data, session_stop_data):
|
|
|
118
118
|
for k, v in session_stop_data:
|
|
119
119
|
stop_args += ["--data", k, v]
|
|
120
120
|
|
|
121
|
-
base_dir = os.path.dirname(
|
|
121
|
+
base_dir = os.path.dirname(
|
|
122
|
+
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
123
|
+
)
|
|
122
124
|
|
|
123
125
|
@inject_context_to_env
|
|
124
126
|
def call_cli_script():
|
|
@@ -177,7 +179,9 @@ def test_app_build_results_data(request, app_build_results_data):
|
|
|
177
179
|
for k, v in app_build_results_data:
|
|
178
180
|
args += ["--data", k, v]
|
|
179
181
|
|
|
180
|
-
base_dir = os.path.dirname(
|
|
182
|
+
base_dir = os.path.dirname(
|
|
183
|
+
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
184
|
+
)
|
|
181
185
|
|
|
182
186
|
@inject_context_to_env
|
|
183
187
|
def call_cli_script():
|