Skip to content

Commit 8c530c7

Browse files
committed
chore(helmbroker): add required field for allow_parameters
1 parent 400b704 commit 8c530c7

5 files changed

Lines changed: 259 additions & 185 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ test-style: podman-build-test
5151
${SHELLCHECK_PREFIX} $(SHELL_SCRIPTS)
5252

5353
test-unit: podman-build-test
54-
@echo "Implement in the future"
54+
podman run --rm -v ${CURDIR}:/tmp/test -w /tmp/test/rootfs ${IMAGE}.test /tmp/test/rootfs/bin/test-unit
5555

5656
test-functional:
5757
@echo "Implement functional tests in _tests directory"

rootfs/bin/test-unit

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
#
3+
# This script is designed to be run inside the container
4+
#
5+
6+
python -m unittest tests/test_*.py

rootfs/helmbroker/broker.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,14 @@ def provision(self,
5151
raise ErrBadRequest(
5252
msg="This addon has archived.")
5353
allow_paras = get_addon_allow_paras(details.service_id)
54-
not_allow_keys = verify_parameters(allow_paras, details.parameters)
54+
not_allow_keys, required_keys = verify_parameters(
55+
allow_paras, details.parameters)
5556
if not_allow_keys:
5657
raise ErrBadRequest(
57-
msg="Instance parameters %s does not allowed" % not_allow_keys)
58+
msg="parameters %s does not allowed" % not_allow_keys)
59+
if required_keys:
60+
raise ErrBadRequest(
61+
msg="required parameters %s not exists" % required_keys)
5862
os.makedirs(instance_path, exist_ok=True)
5963
chart_path, plan_path = (
6064
get_chart_path(instance_id), get_plan_path(instance_id))
@@ -68,7 +72,7 @@ def provision(self,
6872
"service_id": details.service_id,
6973
"plan_id": details.plan_id,
7074
"context": details.context,
71-
"parameters": details.parameters if details.parameters is not None else {}, # noqa
75+
"parameters": details.parameters if details.parameters else {},
7276
},
7377
"last_operation": {
7478
"state": OperationState.IN_PROGRESS.value,
@@ -150,11 +154,16 @@ def update(self,
150154
raise ErrBadRequest(
151155
msg="Instance %s does not updateable" % instance_id)
152156
allow_paras = get_addon_allow_paras(details.service_id)
153-
logger.debug(f"service instance update parameters: {details.parameters}") # noqa
154-
not_allow_keys = verify_parameters(allow_paras, details.parameters)
157+
logger.debug(
158+
f"service instance update parameters: {details.parameters}")
159+
not_allow_keys, required_keys = verify_parameters(
160+
allow_paras, details.parameters)
155161
if not_allow_keys:
156162
raise ErrBadRequest(
157-
msg="Instance parameters %s does not allowed" % not_allow_keys)
163+
msg="parameters %s does not allowed" % not_allow_keys)
164+
if required_keys:
165+
raise ErrBadRequest(
166+
msg="required parameters %s not exists" % required_keys)
158167
if not async_allowed:
159168
raise ErrAsyncRequired()
160169
if details.plan_id is not None:

0 commit comments

Comments
 (0)