utf-queue-client 1.19.4b3__tar.gz → 1.19.4b5__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 (87) hide show
  1. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/PKG-INFO +1 -1
  2. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/pyproject.toml +1 -1
  3. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/conftest.py +9 -0
  4. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_sqa_test_result_producer.py +7 -1
  5. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/sqa_test_result_producer.py +27 -1
  6. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/scripts/publish_test_results_cli.py +14 -2
  7. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/utils/__init__.py +2 -2
  8. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client.egg-info/PKG-INFO +1 -1
  9. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/.gitignore +0 -0
  10. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/.gitmodules +0 -0
  11. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/.idea/.gitignore +0 -0
  12. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/.idea/modules.xml +0 -0
  13. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/.idea/utf_queue_client_python.iml +0 -0
  14. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/.idea/vcs.xml +0 -0
  15. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/.pre-commit-config.yaml +0 -0
  16. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/Jenkinsfile +0 -0
  17. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/README.md +0 -0
  18. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/examples/example_async_consumer.py +0 -0
  19. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/requirements.txt +0 -0
  20. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/setup.cfg +0 -0
  21. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/sonar-project.properties +0 -0
  22. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/.gitattributes +0 -0
  23. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/Dockerfile.script_test +0 -0
  24. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/pytest.ini +0 -0
  25. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/script_test.groovy +0 -0
  26. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/stopwatch.py +0 -0
  27. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test.hex +0 -0
  28. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_amqp_connections.py +0 -0
  29. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_async_consumer.py +0 -0
  30. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_connection_retry.py +0 -0
  31. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_data_lake_data_producer.py +0 -0
  32. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_http_producer.py +0 -0
  33. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_models.py +0 -0
  34. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_opentelemetry_data_producer.py +0 -0
  35. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_publish_release_info.py +0 -0
  36. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_publish_test_results.py +0 -0
  37. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_rail_data_producer_tests.py +0 -0
  38. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_ubai_copy.py +0 -0
  39. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_ubai_search.py +0 -0
  40. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_ubai_update_retention.py +0 -0
  41. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_ubai_upload.py +0 -0
  42. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_utils.py +0 -0
  43. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test/test_xray_data_producer.py +0 -0
  44. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test-requirements-pydantic-v1.txt +0 -0
  45. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/test-requirements.txt +0 -0
  46. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/build_dist.bat +0 -0
  47. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/setup_venv.bat +0 -0
  48. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/silabs-net.pem +0 -0
  49. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/silabs.pem +0 -0
  50. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/update_schema.bat +0 -0
  51. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/upload_to_nexus.bat +0 -0
  52. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/upload_to_pypi.bat +0 -0
  53. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tools/upload_to_testpypi.bat +0 -0
  54. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/tox.ini +0 -0
  55. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/__init__.py +0 -0
  56. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/__init__.py +0 -0
  57. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/async_consumer.py +0 -0
  58. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/base_producer.py +0 -0
  59. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/data_lake_data_producer.py +0 -0
  60. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/http_producer.py +0 -0
  61. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/opentelemetry_data_producer.py +0 -0
  62. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/test_rail_data_producer.py +0 -0
  63. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/ubai_artifact_upload_request_producer.py +0 -0
  64. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/clients/xray_data_producer.py +0 -0
  65. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/exceptions/__init__.py +0 -0
  66. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/__init__.py +0 -0
  67. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/base_model.py +0 -0
  68. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/model_factory.py +0 -0
  69. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/schemas/__init__.py +0 -0
  70. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/schemas/utf_queue_models/models/python/__init__.py +0 -0
  71. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models.py +0 -0
  72. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v1.py +0 -0
  73. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v2.py +0 -0
  74. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/models/schemas/utf_queue_models/schema/queue_message.json +0 -0
  75. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/scripts/__init__.py +0 -0
  76. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/scripts/publish_release_info_cli.py +0 -0
  77. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/scripts/ubai_copy_cli.py +0 -0
  78. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/scripts/ubai_search_cli.py +0 -0
  79. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/scripts/ubai_update_retention_cli.py +0 -0
  80. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/scripts/ubai_upload_cli.py +0 -0
  81. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/utils/queue_metrics_exporter.py +0 -0
  82. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client/utils/queue_span_exporter.py +0 -0
  83. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client.egg-info/SOURCES.txt +0 -0
  84. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client.egg-info/dependency_links.txt +0 -0
  85. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client.egg-info/entry_points.txt +0 -0
  86. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client.egg-info/requires.txt +0 -0
  87. {utf_queue_client-1.19.4b3 → utf_queue_client-1.19.4b5}/utf_queue_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: utf-queue-client
3
- Version: 1.19.4b3
3
+ Version: 1.19.4b5
4
4
  Summary: No description provided
5
5
  Author-email: Joe Savage <joe.savage@silabs.com>
6
6
  Keywords: UTF
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "utf-queue-client"
7
- version = "1.19.4b3"
7
+ version = "1.19.4b5"
8
8
  description = "No description provided"
9
9
  authors = [
10
10
  { name = "Joe Savage", email = "joe.savage@silabs.com" }
@@ -14,6 +14,7 @@ from utf_queue_client.clients.async_consumer import AsyncConsumerBase, MessageCo
14
14
  from utf_queue_client.models import (
15
15
  SqaAppBuildResult,
16
16
  SqaTestResult,
17
+ SqaTestResultApps,
17
18
  SqaTestSession,
18
19
  )
19
20
  from utf_queue_client.models.schemas.utf_queue_models.models.python.generated_models import (
@@ -98,6 +99,14 @@ def sqa_test_result():
98
99
  )
99
100
 
100
101
 
102
+ @pytest.fixture()
103
+ def sqa_test_result_apps():
104
+ yield SqaTestResultApps(
105
+ test_case_uuid="23122702-2334-4323-6723-822dee7f8168",
106
+ artifact_id="d99d8631-8d1e-4b42-8a2c-c586982736as",
107
+ )
108
+
109
+
101
110
  @pytest.fixture()
102
111
  def sqa_test_session():
103
112
  yield SqaTestSession(
@@ -24,6 +24,7 @@ def test_result_producer_central_queue(
24
24
  amqp_url,
25
25
  queue_consumer,
26
26
  use_http_producer,
27
+ sqa_test_result_apps,
27
28
  ):
28
29
  os.environ["UTF_PRODUCER_APP_ID"] = request.node.name
29
30
  os.environ["UTF_QUEUE_USE_HTTP_PRODUCER"] = "true" if use_http_producer else "false"
@@ -38,11 +39,16 @@ def test_result_producer_central_queue(
38
39
  queue_consumer.expect_messages(3)
39
40
  producer.publish_test_result(sqa_test_result)
40
41
  queue_consumer.expect_messages(4)
42
+ producer.publish_test_result_apps(sqa_test_result_apps)
43
+ queue_consumer.expect_messages(5)
41
44
 
42
45
 
43
- def test_dummy_producer(sqa_app_build_result, sqa_test_result, sqa_test_session):
46
+ def test_dummy_producer(
47
+ sqa_app_build_result, sqa_test_result, sqa_test_session, sqa_test_result_apps
48
+ ):
44
49
  producer = DummySqaTestResultProducer()
45
50
  producer.publish_app_build_result(sqa_app_build_result)
46
51
  producer.publish_test_session_start(sqa_test_session)
47
52
  producer.publish_test_session_stop(sqa_test_session)
48
53
  producer.publish_test_result(sqa_test_result)
54
+ producer.publish_test_result_apps(sqa_test_result_apps)
@@ -8,7 +8,13 @@ from uuid import uuid4
8
8
 
9
9
  from otel_extensions import instrumented
10
10
 
11
- from ..models import QueueMessage, SqaAppBuildResult, SqaTestResult, SqaTestSession
11
+ from ..models import (
12
+ QueueMessage,
13
+ SqaAppBuildResult,
14
+ SqaTestResult,
15
+ SqaTestResultApps,
16
+ SqaTestSession,
17
+ )
12
18
  from ..utils import UTF_QUEUE_SERVER_PATTERN
13
19
  from . import Loggable
14
20
  from .base_producer import BlockingProducer as AMQPBlockingProducer
@@ -43,6 +49,10 @@ class BaseSqaTestResultProducer(ABC):
43
49
  ):
44
50
  """publish an SqaAppBuildResult object"""
45
51
 
52
+ @abstractmethod
53
+ def publish_test_result_apps(self, test_result_apps: SqaTestResultApps):
54
+ """publish an SqaTestResultApps object"""
55
+
46
56
 
47
57
  class SqaTestResultProducer(BaseSqaTestResultProducer):
48
58
  RECORD_TYPE = "UTF_TEST_EVENT"
@@ -115,6 +125,18 @@ class SqaTestResultProducer(BaseSqaTestResultProducer):
115
125
  )
116
126
  self._publish_message(queue_message)
117
127
 
128
+ @instrumented
129
+ def publish_test_result_apps(self, test_result_apps: SqaTestResultApps):
130
+ queue_message = QueueMessage(
131
+ payload=test_result_apps,
132
+ recordType=self.RECORD_TYPE,
133
+ recordSubType="TEST_RESULT_APP",
134
+ tenantKey=self.producer_app_id,
135
+ recordTimestamp=datetime.now().isoformat(),
136
+ messageId=str(uuid4()),
137
+ )
138
+ self._publish_message(queue_message)
139
+
118
140
 
119
141
  class LocalSqaTestResultProducer(SqaTestResultProducer):
120
142
  def __init__(self):
@@ -146,6 +168,10 @@ class DummySqaTestResultProducer(BaseSqaTestResultProducer):
146
168
  # noqa
147
169
  pass
148
170
 
171
+ def publish_test_result_apps(self, test_result_apps: SqaTestResultApps):
172
+ # noqa
173
+ pass
174
+
149
175
 
150
176
  class SqaTestResultProducerFactory(Loggable):
151
177
  @classmethod
@@ -52,6 +52,15 @@ class PublishTestResultsCommander(click.Command):
52
52
  required=True,
53
53
  )
54
54
  )
55
+ self.params.append(
56
+ click.Option(
57
+ ("--is_dev_queue",),
58
+ help="enable if data to be published to the dev queue",
59
+ type=bool,
60
+ default=False,
61
+ required=False,
62
+ )
63
+ )
55
64
 
56
65
 
57
66
  @click.command(cls=PublishTestResultsCommander)
@@ -64,10 +73,10 @@ def cli(
64
73
  password: str,
65
74
  data_type: str,
66
75
  data: Iterable[Tuple[str, str]],
67
- is_dev: bool = False,
76
+ is_dev_queue: bool = False,
68
77
  ):
69
78
  with setup_telemetry():
70
- url = prepare_queue_central_url(username, password, is_dev)
79
+ url = prepare_queue_central_url(username, password, is_dev_queue)
71
80
  data_dict = {}
72
81
  for key, value in data:
73
82
  data_dict[key] = value
@@ -105,6 +114,9 @@ def publish_test_results_through_queue(url, data_type: str, data_dict: dict):
105
114
  tool_chain=data_dict.get("tool_chain"),
106
115
  notes=data_dict.get("notes"),
107
116
  test_duration_sec=data_dict.get("test_duration_sec"),
117
+ package_info=data_dict.get("test_duration_sec"),
118
+ artifact_id=data_dict.get("artifact_id"),
119
+ app_version=data_dict.get("app_version"),
108
120
  )
109
121
  test_result_producer.publish_app_build_result(app_build_result)
110
122
  else:
@@ -20,11 +20,11 @@ UTF_QUEUE_SERVER_PATTERN = (
20
20
  )
21
21
 
22
22
 
23
- def prepare_queue_central_url(username, password, is_dev: bool = False) -> str:
23
+ def prepare_queue_central_url(username, password, is_dev_queue: bool = False):
24
24
  if username is None or password is None:
25
25
  raise RuntimeError("username or password must be provided if using queue")
26
26
  dev = ""
27
- if is_dev:
27
+ if is_dev_queue:
28
28
  dev = ".dev"
29
29
  hostname = os.environ.get(
30
30
  "UTF_QUEUE_HOSTNAME", f"utf-queue-central{dev}.silabs.net"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: utf-queue-client
3
- Version: 1.19.4b3
3
+ Version: 1.19.4b5
4
4
  Summary: No description provided
5
5
  Author-email: Joe Savage <joe.savage@silabs.com>
6
6
  Keywords: UTF