qwak-core 0.6.5__py3-none-any.whl → 0.6.7__py3-none-any.whl

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 (26) hide show
  1. _qwak_proto/qwak/administration/cluster/v2/cluster_service_pb2.py +52 -0
  2. _qwak_proto/qwak/administration/cluster/v2/cluster_service_pb2.pyi +198 -0
  3. _qwak_proto/qwak/administration/cluster/v2/cluster_service_pb2_grpc.py +237 -0
  4. _qwak_proto/qwak/administration/v1/environments/environment_pb2.py +29 -0
  5. _qwak_proto/qwak/administration/v1/environments/environment_pb2.pyi +38 -0
  6. _qwak_proto/qwak/administration/v1/environments/environment_pb2_grpc.py +4 -0
  7. _qwak_proto/qwak/administration/v1/environments/environment_service_pb2.py +33 -0
  8. _qwak_proto/qwak/administration/v1/environments/environment_service_pb2.pyi +59 -0
  9. _qwak_proto/qwak/administration/v1/environments/environment_service_pb2_grpc.py +67 -0
  10. _qwak_proto/qwak/models/models_pb2.py +81 -79
  11. _qwak_proto/qwak/models/models_pb2.pyi +21 -0
  12. _qwak_proto/qwak/models/models_pb2_grpc.py +34 -0
  13. qwak/__init__.py +1 -1
  14. qwak/clients/administration/cluster_v2/__init__.py +1 -0
  15. qwak/clients/administration/cluster_v2/client.py +122 -0
  16. qwak/clients/administration/environment/client.py +28 -0
  17. qwak/clients/administration/environment_v1/__init__.py +1 -0
  18. qwak/clients/administration/environment_v1/client.py +53 -0
  19. {qwak_core-0.6.5.dist-info → qwak_core-0.6.7.dist-info}/METADATA +1 -1
  20. {qwak_core-0.6.5.dist-info → qwak_core-0.6.7.dist-info}/RECORD +26 -10
  21. qwak_services_mock/mocks/cluster_v2_service.py +146 -0
  22. qwak_services_mock/mocks/environment_v0_service.py +175 -0
  23. qwak_services_mock/mocks/environment_v1_service.py +37 -0
  24. qwak_services_mock/mocks/qwak_mocks.py +6 -0
  25. qwak_services_mock/services_mock.py +38 -1
  26. {qwak_core-0.6.5.dist-info → qwak_core-0.6.7.dist-info}/WHEEL +0 -0
@@ -34,6 +34,9 @@ _qwak_proto/qwak/administration/authenticated_user/v1/details_pb2_grpc.py,sha256
34
34
  _qwak_proto/qwak/administration/cluster/v2/cluster_pb2.py,sha256=UejDfmq-HJY76cJr6Dqp8rr2sioIXOBI4-MrINFM-iU,7635
35
35
  _qwak_proto/qwak/administration/cluster/v2/cluster_pb2.pyi,sha256=uzek313Ky25mMDF9_OvMJNKT99duipycHnSXCMyRG9A,17386
36
36
  _qwak_proto/qwak/administration/cluster/v2/cluster_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
37
+ _qwak_proto/qwak/administration/cluster/v2/cluster_service_pb2.py,sha256=ZMZ45Ew_deUUyv8xbqHhvMmeWVfyyvmSovg7s5F8dpw,5315
38
+ _qwak_proto/qwak/administration/cluster/v2/cluster_service_pb2.pyi,sha256=_QEpc-9_00aekgCOuO9saqhTCp7SbtAKVHLWWf8Qhf4,7315
39
+ _qwak_proto/qwak/administration/cluster/v2/cluster_service_pb2_grpc.py,sha256=WU6Q9Cfj8PrsPxXg45cnDnf3xQIyQpGu9hvYjqIvrrA,12942
37
40
  _qwak_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.py,sha256=7W970swdY_S44ffVrfNvYibBMI4TX4UnPY7lYTyY0aw,2780
38
41
  _qwak_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2.pyi,sha256=rK7MO6WAjauQz8ShDsqhqYkc69cI_AEqUE42j9vbT4U,2640
39
42
  _qwak_proto/qwak/administration/runtime_configuration/v0/container_registry_config_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -115,6 +118,12 @@ _qwak_proto/qwak/administration/v0/environments/personalization_pb2_grpc.py,sha2
115
118
  _qwak_proto/qwak/administration/v0/users/user_pb2.py,sha256=ZXt8_c_uIrDSBQfAmVqrNctab40U0E_XJ_gLN8RLeYo,4676
116
119
  _qwak_proto/qwak/administration/v0/users/user_pb2.pyi,sha256=GFbJz424r1aTF1kC50ZDIvYTfgxO02C7OHu2SZyL-nc,10595
117
120
  _qwak_proto/qwak/administration/v0/users/user_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
121
+ _qwak_proto/qwak/administration/v1/environments/environment_pb2.py,sha256=6C22w-7Ik12XDwS1Kru8FqTDcu19wcDmImvtfOKjSDc,2403
122
+ _qwak_proto/qwak/administration/v1/environments/environment_pb2.pyi,sha256=7L7jRonQENbdV1daHkyU8AGglaDdGyq5kQqPAPZG38A,2063
123
+ _qwak_proto/qwak/administration/v1/environments/environment_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
124
+ _qwak_proto/qwak/administration/v1/environments/environment_service_pb2.py,sha256=AcnKQXJkug4-wTaI1_bnHvnYt_JaH8kvYiXRmrwCPCM,2792
125
+ _qwak_proto/qwak/administration/v1/environments/environment_service_pb2.pyi,sha256=b-1XJDZf5pW3lF4UoZ2SQ_qGxvPodkRLTDJgXCHdIkE,2352
126
+ _qwak_proto/qwak/administration/v1/environments/environment_service_pb2_grpc.py,sha256=1Vms7ww0HBCoDyhMarxvoYtBpqBy7nNbcrk3BjWZKdw,3161
118
127
  _qwak_proto/qwak/admiral/secret/v0/secret_pb2.py,sha256=HuEYHLETaK6KpVGO4gEwMXeyrPniUwKX3Uz6zFDzfIg,5085
119
128
  _qwak_proto/qwak/admiral/secret/v0/secret_pb2.pyi,sha256=lQkF7UWO_JmvK5LdSsQ_D33Kzfr56e-i3rm31pT-fsU,10408
120
129
  _qwak_proto/qwak/admiral/secret/v0/secret_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -511,9 +520,9 @@ _qwak_proto/qwak/model_group/model_group_pb2_grpc.py,sha256=OnYtTijqKbxC13VpOUKJ
511
520
  _qwak_proto/qwak/model_group/model_group_repository_details_pb2.py,sha256=_MMAM40q5l9Luubv40LEa-Uv4CCkbNmRt3wQ-916Zz0,3735
512
521
  _qwak_proto/qwak/model_group/model_group_repository_details_pb2.pyi,sha256=qOjP2x_4qC0gZayL6bkACeZU0GSfkH_6wIuWYHsNOe8,7320
513
522
  _qwak_proto/qwak/model_group/model_group_repository_details_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
514
- _qwak_proto/qwak/models/models_pb2.py,sha256=w2jAVJioQN5Ck1XW9jelfsOqmFRryVjmFukD49I_zUQ,18771
515
- _qwak_proto/qwak/models/models_pb2.pyi,sha256=T08V38RgCNy2x6ZW4_ZZdK09dZs7TzwXEHaGtNMW0y8,42643
516
- _qwak_proto/qwak/models/models_pb2_grpc.py,sha256=Z81RKpkngKhsHIgS3DWQ3BzHGYzRa-3iqUvPueMALCA,23625
523
+ _qwak_proto/qwak/models/models_pb2.py,sha256=t3votBStZS8rUnzZU6FHp0jeQoHyZzf1IupRlUFdUyg,19152
524
+ _qwak_proto/qwak/models/models_pb2.pyi,sha256=mUezH4pnv5LN1uxNH2niBuz8ZiU9am-ISUCzwZFjeXk,43564
525
+ _qwak_proto/qwak/models/models_pb2_grpc.py,sha256=7PZKGhhNAlyGOR64kJNNY3aqzcDNvXjQfTullb0gGuU,25404
517
526
  _qwak_proto/qwak/models/models_query_pb2.py,sha256=uvIY_69L82Oy4nF0K_a4PwJPrb7vj6Z2a_B22KZeqwE,2809
518
527
  _qwak_proto/qwak/models/models_query_pb2.pyi,sha256=MYheg8TQtQuDv4BqHOWinzemOKhj35ZIVMHQy3YrAQA,7631
519
528
  _qwak_proto/qwak/models/models_query_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -619,7 +628,7 @@ _qwak_proto/qwak/workspace/workspace_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXH
619
628
  _qwak_proto/qwak/workspace/workspace_service_pb2.py,sha256=93uNm83VVrkLG_XVsuBOBTPs4UJF91YD1xJTOEbRyig,9239
620
629
  _qwak_proto/qwak/workspace/workspace_service_pb2.pyi,sha256=nKKCHwnovZhsy8TSVmdz-Vtl0nviOOoX56HD-41Xo08,13726
621
630
  _qwak_proto/qwak/workspace/workspace_service_pb2_grpc.py,sha256=yKGuexxTBza99Ihe0DSTniV2ZSd_AG47inHenqfi890,27193
622
- qwak/__init__.py,sha256=C0MUf6KSvgzS2LTrxIRD_8gvTk_vZPFiytZtvomwphE,585
631
+ qwak/__init__.py,sha256=phXeOFx9au7BigBlw_4AhvnwLKQAGbYB0M88pYmn75o,585
623
632
  qwak/automations/__init__.py,sha256=qFZRvCxUUn8gcxkJR0v19ulHW2oJ0x6-Rif7HiheDP4,1522
624
633
  qwak/automations/automation_executions.py,sha256=5MeH_epYYWb8NKXgAozwT_jPyyUDednBHG7izloi7RY,3228
625
634
  qwak/automations/automations.py,sha256=2Wyrgj2mW5VmJzTKAXj3vQM_svYCuq_Bsu3_Vu9SdR4,12732
@@ -634,11 +643,15 @@ qwak/clients/administration/authenticated_user/__init__.py,sha256=47DEQpj8HBSa-_
634
643
  qwak/clients/administration/authenticated_user/client.py,sha256=Rnj2_fr3mAWmF7OgKeK2nvBu6CoxKtJ3GL8o_WaHAeY,1456
635
644
  qwak/clients/administration/authentication/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
636
645
  qwak/clients/administration/authentication/client.py,sha256=ggoM1DFqS3HTP3WIys8sVPluGhKmRE8Lm_9oWPSoZKg,1076
646
+ qwak/clients/administration/cluster_v2/__init__.py,sha256=qsxlbOhYg9p5U-0RStC1CIJ86lEZ5UNIWuFPnL-8wGw,36
647
+ qwak/clients/administration/cluster_v2/client.py,sha256=b9NlvAmXLzYB3K-3Ia-WhISN3ry_WS78Rrs4vC0qgOg,4193
637
648
  qwak/clients/administration/eco_system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
638
649
  qwak/clients/administration/eco_system/client.py,sha256=fr3LGJQlheF9i8ZjvmcLti-8EfalKJ3fZNSnhV0OjQ8,5340
639
650
  qwak/clients/administration/eco_system/eco_system_utils.py,sha256=eSRih37ORNyiC4sdH_PV6rd5GsWswb0Mwzr5TxzhQEg,514
640
651
  qwak/clients/administration/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
641
- qwak/clients/administration/environment/client.py,sha256=_6ZaSVrMM-xdgrzz8tN9-3UHbCCdi3HjY8_4WpjQLdI,3273
652
+ qwak/clients/administration/environment/client.py,sha256=DFHOZjRPvJNsWijMztzjcgu3IOsT2vGtFfPneOaY1BI,4332
653
+ qwak/clients/administration/environment_v1/__init__.py,sha256=15_J34QBVU9X0d9_A6stiwYc6oLwkvuCCviROwROPXo,40
654
+ qwak/clients/administration/environment_v1/client.py,sha256=812PaRjl8BdqtvXVqqm70nWB4tqdBR59BAAOrPJH-v8,1900
642
655
  qwak/clients/administration/self_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
643
656
  qwak/clients/administration/self_service/client.py,sha256=Pb1ZuSyYlYLdxq34dks1jOjrSNRE-ewFOZOiQjXlFRk,2602
644
657
  qwak/clients/alert_management/__init__.py,sha256=zAfCPJTj6oAMoj3vciLjRy8ULTTHCmmrdISuDCHASvk,43
@@ -1059,9 +1072,12 @@ qwak_services_mock/mocks/batch_job_manager_service.py,sha256=zVBBBkYdvWFwEXP_VHB
1059
1072
  qwak_services_mock/mocks/build_orchestrator_build_api.py,sha256=mtb6wEZug9zCiMHZVrfsU0YOP59rgBrpvZDjEInG7B8,5004
1060
1073
  qwak_services_mock/mocks/build_orchestrator_build_settings_api.py,sha256=oj_JTxY_3xj8FkgWkxQER_EoBFDqL2g21NPrU31fD6o,1379
1061
1074
  qwak_services_mock/mocks/build_orchestrator_service_api.py,sha256=IlM6VzovSSV6o15u1dARv7ocOqwRIWgItWMEW_-Fx_g,5226
1075
+ qwak_services_mock/mocks/cluster_v2_service.py,sha256=643DqfDmOu0s89YMxMeaJ4I3l2Iw-sObS1_0fChtE0k,5684
1062
1076
  qwak_services_mock/mocks/data_versioning_service.py,sha256=dUUrKwE3xc2bZtHa8YMg6wYn8zFa2BSZ5DaRsb1zT_Q,2453
1063
1077
  qwak_services_mock/mocks/deployment_management_service.py,sha256=T4fmFC1sUgEh5sXH6ilwyPmfRfEBFqyYrGGljl_Abg8,20609
1064
1078
  qwak_services_mock/mocks/ecosystem_service_api.py,sha256=f0-IeZMprFKvi1MvdW9aJZgO7BBdnJHQB8spDiVWy-A,1607
1079
+ qwak_services_mock/mocks/environment_v0_service.py,sha256=51Q68gyVCsh4XLsmFhQjB669oLfeSpDpxRXUOgs94HQ,7516
1080
+ qwak_services_mock/mocks/environment_v1_service.py,sha256=hV-YMoQ1OC4TxCIr4SYsw3Pa8w3QWE-pp2ZzNaf7d0w,1398
1065
1081
  qwak_services_mock/mocks/execution_management_service.py,sha256=L6uSHniFNaJDZUwRuMnt_-j6NmpJoOsD0RwpoI6w9ag,1190
1066
1082
  qwak_services_mock/mocks/feature_store_data_sources_manager_api.py,sha256=zfiq5x7xxg4IvBS1OndqSnFHDOckMW_-4K_Ajlko6no,5241
1067
1083
  qwak_services_mock/mocks/feature_store_entities_manager_api.py,sha256=I9wsVEsb0qVcD8jgekeC-EG-Ke8SziRLUND8uF4OJbc,3349
@@ -1082,7 +1098,7 @@ qwak_services_mock/mocks/logging_service.py,sha256=rkOud7CFAvb0xfP6WXf3kP541eXdY
1082
1098
  qwak_services_mock/mocks/model_management_service.py,sha256=H3bMTr7VLrGjZjIrjgrjBk3kNDy1UjQXOeUyL5eAL_o,4153
1083
1099
  qwak_services_mock/mocks/project_manager_service.py,sha256=WzcYzN3O04kSpvuTwX0QIF0HCh_ggsV9-gMel_vQVuc,3090
1084
1100
  qwak_services_mock/mocks/prompt_manager_service.py,sha256=tEhVUVwkvRy68r7MNX9V3V8ZBZ1ynqzr6v1zREMm0_s,9895
1085
- qwak_services_mock/mocks/qwak_mocks.py,sha256=XszIZaJANxU6832-hmCDORdOXuuDfglb-w1gQrF2vKs,5997
1101
+ qwak_services_mock/mocks/qwak_mocks.py,sha256=Pbl70ILBE4eL_NGk0quDyF2j5PZQJj-Fpin3nlnm6Qg,6410
1086
1102
  qwak_services_mock/mocks/secret_service.py,sha256=BwNyhNSTmxHDACzrr7NHjZ0YchX3wHWuJkl1ioi0Aig,1406
1087
1103
  qwak_services_mock/mocks/self_service_user_service.py,sha256=UK22V-wAc0zHScXCE0QKDO0TdbrHf_uk7tEEIM47MpI,1205
1088
1104
  qwak_services_mock/mocks/system_secret_service.py,sha256=S8MfGGEex7bs0AvnAf8SbPOzE-YDfCvePT1TxXWzHRQ,1896
@@ -1092,9 +1108,9 @@ qwak_services_mock/mocks/utils/exception_handlers.py,sha256=Fhi9cx_qNytDnl4BtZmE
1092
1108
  qwak_services_mock/mocks/vector_serving_api.py,sha256=7ZSmDJVdw7_ne7BxLLrmy8eZkzVCeZ508gfL51wpKeY,5722
1093
1109
  qwak_services_mock/mocks/vectors_management_api.py,sha256=ePh8l3MlDGzs7E4NuPZzF5xK-bC9AdMgDaNZrq3FkHc,3594
1094
1110
  qwak_services_mock/mocks/workspace_manager_service_mock.py,sha256=O9ZSwln4T4kHVkR_usXnDQtarTeNfffSMON0P6wbT4g,7740
1095
- qwak_services_mock/services_mock.py,sha256=0BWwS2re9ryO3JrJJgSNyEQ0lDOjyrpV36oa8t7Pd7A,19163
1111
+ qwak_services_mock/services_mock.py,sha256=8XyKtzEWxfvp4bVMSAlJ90GhkXKROZrgWeH25Iq3ETA,20601
1096
1112
  qwak_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1097
1113
  qwak_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1098
- qwak_core-0.6.5.dist-info/METADATA,sha256=iNWIdha_DtCoRJii488Nd5YXwD9lrpBZqU1XXqH6URY,1986
1099
- qwak_core-0.6.5.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1100
- qwak_core-0.6.5.dist-info/RECORD,,
1114
+ qwak_core-0.6.7.dist-info/METADATA,sha256=oOduH81p6KeOQXYZNJO1FNgyUfq73YmOBk_ycs6zgdY,1986
1115
+ qwak_core-0.6.7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1116
+ qwak_core-0.6.7.dist-info/RECORD,,
@@ -0,0 +1,146 @@
1
+ from typing import Optional
2
+
3
+ import grpc
4
+
5
+ from _qwak_proto.qwak.administration.cluster.v2.cluster_pb2 import (
6
+ ClusterState,
7
+ )
8
+ from _qwak_proto.qwak.administration.cluster.v2.cluster_service_pb2 import (
9
+ CreateClusterCreationRequestResponse,
10
+ DeleteClusterResponse,
11
+ GetClusterResponse,
12
+ GetClusterStateResponse,
13
+ ListClustersResponse,
14
+ UpdateClusterConfigurationResponse,
15
+ )
16
+ from _qwak_proto.qwak.administration.cluster.v2.cluster_service_pb2_grpc import (
17
+ ClusterServiceServicer,
18
+ )
19
+
20
+
21
+ class ClusterV2ServiceMock(ClusterServiceServicer):
22
+ def __init__(self):
23
+ super().__init__()
24
+ self.__create_cluster_response: Optional[
25
+ CreateClusterCreationRequestResponse
26
+ ] = None
27
+ self.__create_cluster_error: Optional[grpc.StatusCode] = None
28
+
29
+ self.__get_cluster_state_response: Optional[GetClusterStateResponse] = None
30
+ self.__get_cluster_state_error: Optional[grpc.StatusCode] = None
31
+
32
+ self.__get_cluster_response: Optional[GetClusterResponse] = None
33
+ self.__get_cluster_error: Optional[grpc.StatusCode] = None
34
+
35
+ self.__list_clusters_response: Optional[ListClustersResponse] = None
36
+ self.__list_clusters_error: Optional[grpc.StatusCode] = None
37
+
38
+ self.__update_cluster_response: Optional[UpdateClusterConfigurationResponse] = (
39
+ None
40
+ )
41
+ self.__update_cluster_error: Optional[grpc.StatusCode] = None
42
+
43
+ self.__delete_cluster_response: Optional[DeleteClusterResponse] = None
44
+ self.__delete_cluster_error: Optional[grpc.StatusCode] = None
45
+
46
+ def given_create_cluster(
47
+ self,
48
+ response: Optional[CreateClusterCreationRequestResponse] = None,
49
+ error_code: Optional[grpc.StatusCode] = None,
50
+ ):
51
+ self.__create_cluster_response = response
52
+ self.__create_cluster_error = error_code
53
+
54
+ def given_get_cluster_state(
55
+ self,
56
+ response: Optional[GetClusterStateResponse] = None,
57
+ error_code: Optional[grpc.StatusCode] = None,
58
+ ):
59
+ self.__get_cluster_state_response = response
60
+ self.__get_cluster_state_error = error_code
61
+
62
+ def given_get_cluster(
63
+ self,
64
+ response: Optional[GetClusterResponse] = None,
65
+ error_code: Optional[grpc.StatusCode] = None,
66
+ ):
67
+ self.__get_cluster_response = response
68
+ self.__get_cluster_error = error_code
69
+
70
+ def given_list_clusters(
71
+ self,
72
+ response: Optional[ListClustersResponse] = None,
73
+ error_code: Optional[grpc.StatusCode] = None,
74
+ ):
75
+ self.__list_clusters_response = response
76
+ self.__list_clusters_error = error_code
77
+
78
+ def given_update_cluster(
79
+ self,
80
+ response: Optional[UpdateClusterConfigurationResponse] = None,
81
+ error_code: Optional[grpc.StatusCode] = None,
82
+ ):
83
+ self.__update_cluster_response = response
84
+ self.__update_cluster_error = error_code
85
+
86
+ def given_delete_cluster(
87
+ self,
88
+ response: Optional[DeleteClusterResponse] = None,
89
+ error_code: Optional[grpc.StatusCode] = None,
90
+ ):
91
+ self.__delete_cluster_response = response
92
+ self.__delete_cluster_error = error_code
93
+
94
+ def CreateClusterCreationRequest(self, request, context):
95
+ if self.__create_cluster_error:
96
+ context.set_code(self.__create_cluster_error)
97
+ context.set_details("Failed to create cluster")
98
+ return CreateClusterCreationRequestResponse()
99
+ if self.__create_cluster_response:
100
+ return self.__create_cluster_response
101
+ return CreateClusterCreationRequestResponse(request_id="mock-request-id")
102
+
103
+ def GetClusterState(self, request, context):
104
+ if self.__get_cluster_state_error:
105
+ context.set_code(self.__get_cluster_state_error)
106
+ context.set_details("Failed to get cluster state")
107
+ return GetClusterStateResponse()
108
+ if self.__get_cluster_state_response:
109
+ return self.__get_cluster_state_response
110
+ return GetClusterStateResponse(cluster_state=ClusterState())
111
+
112
+ def GetCluster(self, request, context):
113
+ if self.__get_cluster_error:
114
+ context.set_code(self.__get_cluster_error)
115
+ context.set_details("Failed to get cluster")
116
+ return GetClusterResponse()
117
+ if self.__get_cluster_response:
118
+ return self.__get_cluster_response
119
+ return GetClusterResponse(cluster_state=ClusterState())
120
+
121
+ def ListClusters(self, request, context):
122
+ if self.__list_clusters_error:
123
+ context.set_code(self.__list_clusters_error)
124
+ context.set_details("Failed to list clusters")
125
+ return ListClustersResponse()
126
+ if self.__list_clusters_response:
127
+ return self.__list_clusters_response
128
+ return ListClustersResponse()
129
+
130
+ def UpdateClusterConfiguration(self, request, context):
131
+ if self.__update_cluster_error:
132
+ context.set_code(self.__update_cluster_error)
133
+ context.set_details("Failed to update cluster")
134
+ return UpdateClusterConfigurationResponse()
135
+ if self.__update_cluster_response:
136
+ return self.__update_cluster_response
137
+ return UpdateClusterConfigurationResponse(request_id="mock-request-id")
138
+
139
+ def DeleteCluster(self, request, context):
140
+ if self.__delete_cluster_error:
141
+ context.set_code(self.__delete_cluster_error)
142
+ context.set_details("Failed to delete cluster")
143
+ return DeleteClusterResponse()
144
+ if self.__delete_cluster_response:
145
+ return self.__delete_cluster_response
146
+ return DeleteClusterResponse(request_id="mock-request-id")
@@ -0,0 +1,175 @@
1
+ from typing import Optional
2
+
3
+ import grpc
4
+
5
+ from _qwak_proto.qwak.administration.v0.environments.environment_pb2 import (
6
+ QwakEnvironment,
7
+ )
8
+ from _qwak_proto.qwak.administration.v0.environments.environment_service_pb2 import (
9
+ CreateEnvironmentResponse,
10
+ GetEnvironmentApplicationUserCredentialsResponse,
11
+ GetEnvironmentResponse,
12
+ ListEnvironmentsResponse,
13
+ SetEnvironmentApplicationUserCredentialsResponse,
14
+ UpdateEnvironmentConfigurationResponse,
15
+ UpdateEnvironmentPersonalizationResponse,
16
+ )
17
+ from _qwak_proto.qwak.administration.v0.environments.environment_service_pb2_grpc import (
18
+ EnvironmentServiceServicer,
19
+ )
20
+
21
+
22
+ class EnvironmentV0ServiceMock(EnvironmentServiceServicer):
23
+ def __init__(self):
24
+ super().__init__()
25
+ self.__create_environment_response: Optional[CreateEnvironmentResponse] = None
26
+ self.__create_environment_error: Optional[grpc.StatusCode] = None
27
+
28
+ self.__get_environment_response: Optional[GetEnvironmentResponse] = None
29
+ self.__get_environment_error: Optional[grpc.StatusCode] = None
30
+
31
+ self.__update_environment_configuration_response: Optional[
32
+ UpdateEnvironmentConfigurationResponse
33
+ ] = None
34
+ self.__update_environment_configuration_error: Optional[grpc.StatusCode] = None
35
+
36
+ self.__update_environment_personalization_response: Optional[
37
+ UpdateEnvironmentPersonalizationResponse
38
+ ] = None
39
+ self.__update_environment_personalization_error: Optional[grpc.StatusCode] = (
40
+ None
41
+ )
42
+
43
+ self.__list_environments_response: Optional[ListEnvironmentsResponse] = None
44
+ self.__list_environments_error: Optional[grpc.StatusCode] = None
45
+
46
+ self.__get_credentials_response: Optional[
47
+ GetEnvironmentApplicationUserCredentialsResponse
48
+ ] = None
49
+ self.__get_credentials_error: Optional[grpc.StatusCode] = None
50
+
51
+ self.__set_credentials_response: Optional[
52
+ SetEnvironmentApplicationUserCredentialsResponse
53
+ ] = None
54
+ self.__set_credentials_error: Optional[grpc.StatusCode] = None
55
+
56
+ def given_create_environment(
57
+ self,
58
+ response: Optional[CreateEnvironmentResponse] = None,
59
+ error_code: Optional[grpc.StatusCode] = None,
60
+ ):
61
+ self.__create_environment_response = response
62
+ self.__create_environment_error = error_code
63
+
64
+ def given_get_environment(
65
+ self,
66
+ response: Optional[GetEnvironmentResponse] = None,
67
+ error_code: Optional[grpc.StatusCode] = None,
68
+ ):
69
+ self.__get_environment_response = response
70
+ self.__get_environment_error = error_code
71
+
72
+ def given_update_environment_configuration(
73
+ self,
74
+ response: Optional[UpdateEnvironmentConfigurationResponse] = None,
75
+ error_code: Optional[grpc.StatusCode] = None,
76
+ ):
77
+ self.__update_environment_configuration_response = response
78
+ self.__update_environment_configuration_error = error_code
79
+
80
+ def given_update_environment_personalization(
81
+ self,
82
+ response: Optional[UpdateEnvironmentPersonalizationResponse] = None,
83
+ error_code: Optional[grpc.StatusCode] = None,
84
+ ):
85
+ self.__update_environment_personalization_response = response
86
+ self.__update_environment_personalization_error = error_code
87
+
88
+ def given_list_environments(
89
+ self,
90
+ response: Optional[ListEnvironmentsResponse] = None,
91
+ error_code: Optional[grpc.StatusCode] = None,
92
+ ):
93
+ self.__list_environments_response = response
94
+ self.__list_environments_error = error_code
95
+
96
+ def given_get_credentials(
97
+ self,
98
+ response: Optional[GetEnvironmentApplicationUserCredentialsResponse] = None,
99
+ error_code: Optional[grpc.StatusCode] = None,
100
+ ):
101
+ self.__get_credentials_response = response
102
+ self.__get_credentials_error = error_code
103
+
104
+ def given_set_credentials(
105
+ self,
106
+ response: Optional[SetEnvironmentApplicationUserCredentialsResponse] = None,
107
+ error_code: Optional[grpc.StatusCode] = None,
108
+ ):
109
+ self.__set_credentials_response = response
110
+ self.__set_credentials_error = error_code
111
+
112
+ def CreateEnvironment(self, request, context):
113
+ if self.__create_environment_error:
114
+ context.set_code(self.__create_environment_error)
115
+ context.set_details("Failed to create environment")
116
+ return CreateEnvironmentResponse()
117
+ if self.__create_environment_response:
118
+ return self.__create_environment_response
119
+ return CreateEnvironmentResponse(environment=QwakEnvironment(id="mock-env-id"))
120
+
121
+ def GetEnvironment(self, request, context):
122
+ if self.__get_environment_error:
123
+ context.set_code(self.__get_environment_error)
124
+ context.set_details("Failed to get environment")
125
+ return GetEnvironmentResponse()
126
+ if self.__get_environment_response:
127
+ return self.__get_environment_response
128
+ return GetEnvironmentResponse(
129
+ environment=QwakEnvironment(id=request.environment_id)
130
+ )
131
+
132
+ def UpdateEnvironmentConfiguration(self, request, context):
133
+ if self.__update_environment_configuration_error:
134
+ context.set_code(self.__update_environment_configuration_error)
135
+ context.set_details("Failed to update environment configuration")
136
+ return UpdateEnvironmentConfigurationResponse()
137
+ if self.__update_environment_configuration_response:
138
+ return self.__update_environment_configuration_response
139
+ return UpdateEnvironmentConfigurationResponse()
140
+
141
+ def UpdateEnvironmentPersonalization(self, request, context):
142
+ if self.__update_environment_personalization_error:
143
+ context.set_code(self.__update_environment_personalization_error)
144
+ context.set_details("Failed to update environment personalization")
145
+ return UpdateEnvironmentPersonalizationResponse()
146
+ if self.__update_environment_personalization_response:
147
+ return self.__update_environment_personalization_response
148
+ return UpdateEnvironmentPersonalizationResponse()
149
+
150
+ def ListEnvironments(self, request, context):
151
+ if self.__list_environments_error:
152
+ context.set_code(self.__list_environments_error)
153
+ context.set_details("Failed to list environments")
154
+ return ListEnvironmentsResponse()
155
+ if self.__list_environments_response:
156
+ return self.__list_environments_response
157
+ return ListEnvironmentsResponse()
158
+
159
+ def GetEnvironmentApplicationUserCredentials(self, request, context):
160
+ if self.__get_credentials_error:
161
+ context.set_code(self.__get_credentials_error)
162
+ context.set_details("Failed to get credentials")
163
+ return GetEnvironmentApplicationUserCredentialsResponse()
164
+ if self.__get_credentials_response:
165
+ return self.__get_credentials_response
166
+ return GetEnvironmentApplicationUserCredentialsResponse()
167
+
168
+ def SetEnvironmentApplicationUserCredentials(self, request, context):
169
+ if self.__set_credentials_error:
170
+ context.set_code(self.__set_credentials_error)
171
+ context.set_details("Failed to set credentials")
172
+ return SetEnvironmentApplicationUserCredentialsResponse()
173
+ if self.__set_credentials_response:
174
+ return self.__set_credentials_response
175
+ return SetEnvironmentApplicationUserCredentialsResponse()
@@ -0,0 +1,37 @@
1
+ from typing import Optional
2
+
3
+ import grpc
4
+
5
+ from _qwak_proto.qwak.administration.v0.environments.environment_pb2 import (
6
+ QwakEnvironment,
7
+ )
8
+ from _qwak_proto.qwak.administration.v1.environments.environment_service_pb2 import (
9
+ CreateEnvironmentResponse,
10
+ )
11
+ from _qwak_proto.qwak.administration.v1.environments.environment_service_pb2_grpc import (
12
+ EnvironmentServiceServicer,
13
+ )
14
+
15
+
16
+ class EnvironmentV1ServiceMock(EnvironmentServiceServicer):
17
+ def __init__(self):
18
+ super().__init__()
19
+ self.__create_environment_response: Optional[CreateEnvironmentResponse] = None
20
+ self.__create_environment_error: Optional[grpc.StatusCode] = None
21
+
22
+ def given_create_environment(
23
+ self,
24
+ response: Optional[CreateEnvironmentResponse] = None,
25
+ error_code: Optional[grpc.StatusCode] = None,
26
+ ):
27
+ self.__create_environment_response = response
28
+ self.__create_environment_error = error_code
29
+
30
+ def CreateEnvironment(self, request, context):
31
+ if self.__create_environment_error:
32
+ context.set_code(self.__create_environment_error)
33
+ context.set_details("Failed to create environment")
34
+ return CreateEnvironmentResponse()
35
+ if self.__create_environment_response:
36
+ return self.__create_environment_response
37
+ return CreateEnvironmentResponse(environment=QwakEnvironment(id="mock-env-id"))
@@ -24,11 +24,14 @@ from qwak_services_mock.mocks.build_orchestrator_build_settings_api import (
24
24
  from qwak_services_mock.mocks.build_orchestrator_service_api import (
25
25
  BuildOrchestratorServiceApiMock,
26
26
  )
27
+ from qwak_services_mock.mocks.cluster_v2_service import ClusterV2ServiceMock
27
28
  from qwak_services_mock.mocks.data_versioning_service import DataVersioningServiceMock
28
29
  from qwak_services_mock.mocks.deployment_management_service import (
29
30
  DeploymentManagementServiceMock,
30
31
  )
31
32
  from qwak_services_mock.mocks.ecosystem_service_api import EcoSystemServiceMock
33
+ from qwak_services_mock.mocks.environment_v0_service import EnvironmentV0ServiceMock
34
+ from qwak_services_mock.mocks.environment_v1_service import EnvironmentV1ServiceMock
32
35
  from qwak_services_mock.mocks.execution_management_service import (
33
36
  ExecutionManagementServiceMock,
34
37
  )
@@ -123,3 +126,6 @@ class QwakMocks:
123
126
  integration_management_service: IntegrationManagementServiceMock
124
127
  prompt_manager_service: PromptManagerServiceMock
125
128
  location_discovery_service: LocationDiscoveryServiceApiMock
129
+ cluster_v2_service_mock: ClusterV2ServiceMock
130
+ environment_v0_service_mock: EnvironmentV0ServiceMock
131
+ environment_v1_service_mock: EnvironmentV1ServiceMock
@@ -4,9 +4,18 @@ from typing import Any, Generator, List, Tuple
4
4
  import grpc
5
5
  import pytest
6
6
 
7
+ from _qwak_proto.qwak.administration.cluster.v2.cluster_service_pb2_grpc import (
8
+ add_ClusterServiceServicer_to_server,
9
+ )
7
10
  from _qwak_proto.qwak.administration.v0.authentication.authentication_service_pb2_grpc import (
8
11
  add_AuthenticationServiceServicer_to_server,
9
12
  )
13
+ from _qwak_proto.qwak.administration.v0.environments.environment_service_pb2_grpc import (
14
+ add_EnvironmentServiceServicer_to_server as add_EnvironmentV0ServiceServicer_to_server,
15
+ )
16
+ from _qwak_proto.qwak.administration.v1.environments.environment_service_pb2_grpc import (
17
+ add_EnvironmentServiceServicer_to_server as add_EnvironmentV1ServiceServicer_to_server,
18
+ )
10
19
  from _qwak_proto.qwak.admiral.secret.v0.system_secret_service_pb2_grpc import (
11
20
  add_SystemSecretServiceServicer_to_server,
12
21
  )
@@ -140,11 +149,14 @@ from qwak_services_mock.mocks.build_orchestrator_build_settings_api import (
140
149
  from qwak_services_mock.mocks.build_orchestrator_service_api import (
141
150
  BuildOrchestratorServiceApiMock,
142
151
  )
152
+ from qwak_services_mock.mocks.cluster_v2_service import ClusterV2ServiceMock
143
153
  from qwak_services_mock.mocks.data_versioning_service import DataVersioningServiceMock
144
154
  from qwak_services_mock.mocks.deployment_management_service import (
145
155
  DeploymentManagementServiceMock,
146
156
  )
147
157
  from qwak_services_mock.mocks.ecosystem_service_api import EcoSystemServiceMock
158
+ from qwak_services_mock.mocks.environment_v0_service import EnvironmentV0ServiceMock
159
+ from qwak_services_mock.mocks.environment_v1_service import EnvironmentV1ServiceMock
148
160
  from qwak_services_mock.mocks.execution_management_service import (
149
161
  ExecutionManagementServiceMock,
150
162
  )
@@ -246,7 +258,14 @@ def qwak_container():
246
258
  vector_store,
247
259
  workspace_manager,
248
260
  )
249
- from qwak.clients.administration import authentication, eco_system, self_service
261
+ from qwak.clients.administration import (
262
+ authentication,
263
+ cluster_v2,
264
+ eco_system,
265
+ environment,
266
+ environment_v1,
267
+ self_service,
268
+ )
250
269
  from qwak.clients.integration_management import integration_manager_client
251
270
  from qwak.clients.prompt_manager import prompt_manager_client
252
271
  from qwak.clients.system_secret import system_secret_client
@@ -262,8 +281,11 @@ def qwak_container():
262
281
  analytics,
263
282
  batch_job_management,
264
283
  build_orchestrator,
284
+ cluster_v2,
265
285
  data_versioning,
266
286
  deployment,
287
+ environment,
288
+ environment_v1,
267
289
  instance_template,
268
290
  feature_store,
269
291
  file_versioning,
@@ -495,6 +517,21 @@ def attach_servicers(free_port, server):
495
517
  LocationDiscoveryServiceApiMock,
496
518
  add_LocationDiscoveryServiceServicer_to_server,
497
519
  ),
520
+ (
521
+ "cluster_v2_service_mock",
522
+ ClusterV2ServiceMock,
523
+ add_ClusterServiceServicer_to_server,
524
+ ),
525
+ (
526
+ "environment_v0_service_mock",
527
+ EnvironmentV0ServiceMock,
528
+ add_EnvironmentV0ServiceServicer_to_server,
529
+ ),
530
+ (
531
+ "environment_v1_service_mock",
532
+ EnvironmentV1ServiceMock,
533
+ add_EnvironmentV1ServiceServicer_to_server,
534
+ ),
498
535
  ("port", free_port, None),
499
536
  ],
500
537
  )