Skip to content
Snippets Groups Projects
Commit 3268cb75 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Changes in Config Model:

- Added method to delete config rules when action is DELETE.
- Temporary changes in run_tests_local.sh scripts
parent 0dff3f59
No related branches found
No related tags found
1 merge request!54Release 2.0.0
......@@ -11,26 +11,30 @@ cat $PROJECTDIR/coverage/.coveragerc.template | sed s+~/teraflow/controller+$PRO
# Run unitary tests and analyze coverage of code at same time
# Populate environment variables for context to use Redis
export REDIS_SERVICE_HOST=$(kubectl get node kubernetes-master -o 'jsonpath={.status.addresses[?(@.type=="InternalIP")].address}')
export REDIS_SERVICE_PORT=$(kubectl get service contextservice-public --namespace cttc-dev -o 'jsonpath={.spec.ports[?(@.port==6379)].nodePort}')
# First destroy old coverage file
rm -f $COVERAGEFILE
#coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# common/orm/tests/test_unitary.py \
# common/message_broker/tests/test_unitary.py \
# common/rpc_method_wrapper/tests/test_unitary.py
coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
common/orm/tests/test_unitary.py \
common/message_broker/tests/test_unitary.py \
common/rpc_method_wrapper/tests/test_unitary.py
#coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# centralizedattackdetector/tests/test_unitary.py
coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
centralizedattackdetector/tests/test_unitary.py
#coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# context/tests/test_unitary.py
coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
context/tests/test_unitary.py
coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
device/tests/test_unitary_driverapi.py \
device/tests/test_unitary.py
#device/tests/test_unitary_driverapi.py \
#coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# service/tests/test_unitary.py
#coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
# compute/tests/test_unitary.py
coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \
compute/tests/test_unitary.py
import functools, logging, operator
from enum import Enum
from typing import Dict, List, Tuple, Union
from typing import Dict, List, Optional, Tuple, Union
from common.orm.Database import Database
from common.orm.HighLevel import get_or_create_object, update_or_create_object
from common.orm.HighLevel import get_object, get_or_create_object, update_or_create_object
from common.orm.backend.Tools import key_to_str
from common.orm.fields.EnumeratedField import EnumeratedField
from common.orm.fields.ForeignKeyField import ForeignKeyField
......@@ -66,6 +66,17 @@ def set_config_rule(
db_config_rule, updated = result
return db_config_rule, updated
def delete_config_rule(
database : Database, db_config : ConfigModel, grpc_config_rule
) -> Tuple[ConfigRuleModel, bool]:
str_rule_key_hash = fast_hasher(grpc_config_rule.resource_key)
str_config_rule_key = key_to_str([db_config.pk, str_rule_key_hash], separator=':')
db_config_rule : Optional[ConfigRuleModel] = get_object(
database, ConfigRuleModel, str_config_rule_key, raise_if_not_found=False)
db_config_rule.delete()
def set_config(
database : Database, db_parent_pk : str, config_name : str, grpc_config_rules
) -> List[Tuple[Union[ConfigModel, ConfigRuleModel], bool]]:
......@@ -77,8 +88,15 @@ def set_config(
db_objects = [(db_config, created)]
for position,grpc_config_rule in enumerate(grpc_config_rules):
result : Tuple[ConfigRuleModel, bool] = set_config_rule(database, db_config, grpc_config_rule, position)
db_config_rule, updated = result
db_objects.append((db_config_rule, updated))
action = grpc_to_enum__config_action(grpc_config_rule.action)
if action == ORM_ConfigActionEnum.SET:
result : Tuple[ConfigRuleModel, bool] = set_config_rule(database, db_config, grpc_config_rule, position)
db_config_rule, updated = result
db_objects.append((db_config_rule, updated))
elif action == ORM_ConfigActionEnum.DELETE:
delete_config_rule(database, db_config, grpc_config_rule)
else:
msg = 'Unsupported action({:s})'
raise AttributeError(msg.format(str(ConfigActionEnum.Name(grpc_config_rule.action))))
return db_objects
import functools, logging, operator
from enum import Enum
from typing import Dict, List, Tuple, Union
from typing import Dict, List, Optional, Tuple, Union
from common.orm.Database import Database
from common.orm.HighLevel import get_or_create_object, update_or_create_object
from common.orm.HighLevel import get_object, get_or_create_object, update_or_create_object
from common.orm.backend.Tools import key_to_str
from common.orm.fields.EnumeratedField import EnumeratedField
from common.orm.fields.ForeignKeyField import ForeignKeyField
......@@ -66,6 +66,18 @@ def set_config_rule(
db_config_rule, updated = result
return db_config_rule, updated
def delete_config_rule(
database : Database, db_config : ConfigModel, grpc_config_rule
) -> Tuple[ConfigRuleModel, bool]:
str_rule_key_hash = fast_hasher(grpc_config_rule.resource_key)
str_config_rule_key = key_to_str([db_config.pk, str_rule_key_hash], separator=':')
db_config_rule : Optional[ConfigRuleModel] = get_object(
database, ConfigRuleModel, str_config_rule_key, raise_if_not_found=False)
if db_config_rule is None: return
db_config_rule.delete()
def set_config(
database : Database, db_parent_pk : str, config_name : str, grpc_config_rules
) -> List[Tuple[Union[ConfigModel, ConfigRuleModel], bool]]:
......@@ -77,8 +89,15 @@ def set_config(
db_objects = [(db_config, created)]
for position,grpc_config_rule in enumerate(grpc_config_rules):
result : Tuple[ConfigRuleModel, bool] = set_config_rule(database, db_config, grpc_config_rule, position)
db_config_rule, updated = result
db_objects.append((db_config_rule, updated))
action = grpc_to_enum__config_action(grpc_config_rule.action)
if action == ORM_ConfigActionEnum.SET:
result : Tuple[ConfigRuleModel, bool] = set_config_rule(database, db_config, grpc_config_rule, position)
db_config_rule, updated = result
db_objects.append((db_config_rule, updated))
elif action == ORM_ConfigActionEnum.DELETE:
delete_config_rule(database, db_config, grpc_config_rule)
else:
msg = 'Unsupported action({:s})'
raise AttributeError(msg.format(str(ConfigActionEnum.Name(grpc_config_rule.action))))
return db_objects
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment