Skip to content

Commit 7bd98c8

Browse files
authored
#357 - Group template unit tests (#697)
Add unit tests for the "group template" feature
1 parent d1982a9 commit 7bd98c8

File tree

3 files changed

+522
-1
lines changed

3 files changed

+522
-1
lines changed

src/service/core/tests/BUILD

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,25 @@ osmo_py_test(
4040
visibility = ["//visibility:public"],
4141
)
4242

43+
osmo_py_test(
44+
name = "test_group_templates",
45+
srcs = ["test_group_templates.py"],
46+
deps = [
47+
":fixture",
48+
"//src/lib/utils:common",
49+
"//src/lib/utils:osmo_errors",
50+
"//src/lib/utils:priority",
51+
"//src/service/core:service_lib",
52+
"//src/tests/common",
53+
"//src/tests/common/storage",
54+
],
55+
size = "large",
56+
tags = [
57+
"requires-network",
58+
],
59+
visibility = ["//visibility:public"],
60+
)
61+
4362
osmo_py_library(
4463
name = "fixture",
4564
srcs = ["fixture.py"],

src/service/core/tests/fixture.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import logging
2020
import io
2121
import time
22+
from typing import Any, Dict
2223

2324
from fastapi import testclient
2425

@@ -139,9 +140,23 @@ def create_test_backend(self, database=None, backend_name='test_backend'):
139140
agent_helpers.create_backend(
140141
database, backend_name, backend_messages.InitBody(**backend))
141142

143+
def create_test_group_template(self, name: str, group_template: Dict[str, Any]) -> None:
144+
"""Helper function to create a group template.
145+
146+
Args:
147+
name: Name of the group template
148+
group_template: The group template dict (must contain apiVersion, kind, metadata.name)
149+
"""
150+
config_service.put_group_template(
151+
name=name,
152+
request=config_objects.PutGroupTemplateRequest(configs=group_template),
153+
username='test@nvidia.com',
154+
)
155+
142156
def create_test_pool(self, pool_name='test_pool', description='test_description',
143157
default_platform='test_platform', backend='test_backend',
144-
common_pod_template=None, enable_maintenance=False):
158+
common_pod_template=None, common_group_templates=None,
159+
enable_maintenance=False):
145160
"""Helper function to create a test pool with configurable parameters.
146161
147162
Args:
@@ -150,6 +165,7 @@ def create_test_pool(self, pool_name='test_pool', description='test_description'
150165
default_platform: Default platform for the pool
151166
backend: Backend for the pool
152167
common_pod_template: List of pod templates to use (defaults to None)
168+
common_group_templates: List of group template names to use (defaults to None)
153169
enable_maintenance: Whether maintenance mode is enabled
154170
155171
Returns:
@@ -169,6 +185,9 @@ def create_test_pool(self, pool_name='test_pool', description='test_description'
169185
if common_pod_template:
170186
pool_config['common_pod_template'] = common_pod_template
171187

188+
if common_group_templates:
189+
pool_config['common_group_templates'] = common_group_templates
190+
172191
config_service.put_pool(
173192
name=pool_name,
174193
request=config_objects.PutPoolRequest(

0 commit comments

Comments
 (0)