1""" This module generates a test database for MongoDB tests. """
5from ...databases.mongodb.models.detector
import Detector
6from ...databases.mongodb.models.detectorWrapper
import DetectorWrapper
7from ...databases.mongodb.models.condition
import Condition
8from mongoengine
import connect
12__author__ =
"Yitian Kong"
13__copyright__ =
"TU/e ST2019"
15__status__ =
"Prototype"
16__description__ =
"Delete test database > Create test database > Insert test data"
22 Delete the database of which name is provided.
23 :param connection_dict: Dict containinig all the information to make a connection.
26 db=connection_dict[
'db_name'],
27 username=connection_dict[
'user'],
28 password=connection_dict[
'password'],
29 host=connection_dict[
'host'],
30 port=connection_dict[
'port']
33 db_connect.drop_database(connection_dict[
'db_name'])
38with open(
r'conditionsDatabase/tests/test_mongodb/test_mongodb_config.yml')
as file:
41 con_dic = yaml.load(file, Loader=yaml.FullLoader)
43connection_dict = con_dic[
'mongo']
50 db=connection_dict[
'db_name'],
51 username=connection_dict[
'user'],
52 password=connection_dict[
'password'],
53 host=connection_dict[
'host'],
54 port=connection_dict[
'port']
60detector_id_exist =
Detector(name=
"detector_id_exist")
61condition =
Condition(name=
"condition_exist", tag=
"tag", type=
"type",
62 collected_at=datetime.datetime(2020, 3, 12, 11, 5, 27),
63 valid_since=datetime.datetime(2020, 3, 12, 11, 5, 27),
64 valid_until=datetime.datetime(2020, 4, 10, 11, 5, 27),
66 "name":
"name detector",
67 "value":
"value detector"
69detector_id_exist.conditions.append(condition)
72sub_detector =
Detector(name=
"sub_detector_id_exist")
73sub_condition =
Condition(name=
"sub_detector_id_exist", tag=
"sub_tag", type=
"sub_type",
74 collected_at=datetime.datetime(2020, 4, 12, 11, 5, 27),
75 valid_since=datetime.datetime(2020, 4, 12, 11, 5, 27),
76 valid_until=datetime.datetime(2020, 5, 12, 11, 5, 27),
78 "name":
"name sub detector",
79 "value":
"value sub detector"
81sub_detector.conditions.append(sub_condition)
82detector_id_exist.subdetectors.append(sub_detector)
85sub_sub_detector =
Detector(name=
"sub_sub_detector_id_exist")
86sub_sub_condition =
Condition(name=
"sub_sub_detector_id_exist", tag=
"sub_sub_tag", type=
"sub_sub_type",
87 collected_at=datetime.datetime(2020, 5, 12, 11, 5, 27),
88 valid_since=datetime.datetime(2020, 5, 12, 11, 5, 27),
89 valid_until=datetime.datetime(2020, 6, 12, 11, 5, 27),
91 "name":
"name sub sub detector",
92 "value":
"value sub sub detector"
94sub_sub_detector.conditions.append(sub_sub_condition)
95sub_detector.subdetectors.append(sub_sub_detector)
97detector_wrapper.detector = detector_id_exist
99detector_wrapper.save()
104detector_2 =
Detector(name=
"detector_without_condition")
108sub_condition_2 =
Condition(name=
"sub_condition_2", tag=
"sub_2", type=
"sub_type_2",
109 collected_at=datetime.datetime.now(),
110 valid_since=datetime.datetime.now(),
111 valid_until=datetime.datetime.now())
113sub_detector_2.conditions.append(sub_condition_2)
114detector_2.subdetectors.append(sub_detector_2)
116detector_wrapper.detector = detector_2
117detector_wrapper.save()
delete_db(connection_dict)