63 def test_get_global_tag(self):
65 global_tag = self.connection.global_tag(name=self.global_tag_name)
66 self.assertTrue(global_tag.name !=
None)
67 self.assertTrue(global_tag.tags() !=
None)
68 self.assertTrue(isinstance(global_tag, self.connection.models[
"globaltag"]))
70 def test_get_empty_global_tag(self):
71 empty_gt = self.connection.global_tag()
72 self.assertTrue(isinstance(empty_gt, self.connection.models[
"globaltag"]))
73 self.assertTrue(empty_gt.empty)
75 def test_all_global_tags_empty_gt(self):
76 empty_gt = self.connection.global_tag()
77 all_gts = empty_gt.all(amount=10)
78 self.assertTrue(all_gts !=
None)
79 self.assertTrue(len(all_gts.data()) != 0)
81 def test_all_method_parameters(self):
82 if self.connection.connection_data[
"host"].lower() ==
"frontier":
83 print(
"Cannot query for timestamps on frontier connection.")
85 empty_gt = self.connection.global_tag()
86 sample_time = datetime.datetime(year=2016, month=1, day=1)
87 now = datetime.datetime.now()
88 time_range =
Range(sample_time, now)
89 time_radius = Radius(sample_time, datetime.timedelta(weeks=4))
90 all_gts_in_interval = empty_gt.all(insertion_time=time_range).
data()
91 for gt
in all_gts_in_interval:
92 self.assertTrue(sample_time <= gt.insertion_time <= now)
94 def test_as_dicts_method_without_timestamps_conversion(self):
95 global_tag = self.connection.global_tag(name=self.global_tag_name)
96 dict_form = global_tag.as_dicts(convert_timestamps=
False)
97 self.assertTrue(isinstance(dict_form, dict))
98 self.assertTrue(dict_form[
"insertion_time"], datetime.datetime)
99 self.assertTrue(dict_form[
"snapshot_time"], datetime.datetime)
101 def test_as_dicts_method_with_timestamps_conversion(self):
102 global_tag = self.connection.global_tag(name=self.global_tag_name)
103 dict_form = global_tag.as_dicts(convert_timestamps=
True)
104 self.assertTrue(isinstance(dict_form, dict))
105 self.assertTrue(dict_form[
"insertion_time"], str)
106 self.assertTrue(dict_form[
"snapshot_time"], str)
110 self.assertTrue(
to_datetime(dict_form[
"insertion_time"]) == global_tag.insertion_time)
111 self.assertTrue(
to_datetime(dict_form[
"snapshot_time"]) == global_tag.snapshot_time)
113 def test_get_tag_maps_in_global_tag(self):
114 global_tag = self.connection.global_tag(name=self.global_tag_name)
117 global_tag_maps = global_tag.tags()
119 global_tag_maps_list = global_tag_maps.data()
120 self.assertTrue(isinstance(global_tag_maps_list, list))
121 self.assertTrue(len(global_tag_maps_list) != 0)
123 for gt_map
in global_tag_maps_list:
124 self.assertTrue(isinstance(gt_map, self.connection.models[
"globaltagmap"]))
126 def test_get_tag_maps_in_global_tag_with_parameters(self):
127 global_tag = self.connection.global_tag(name=self.global_tag_name)
129 global_tag_maps_specific_record = global_tag.tags(record=
"AlCaRecoTriggerBitsRcd")
133 gt_maps_spec_record_list = global_tag_maps_specific_record.data()
134 self.assertTrue(isinstance(gt_maps_spec_record_list, list))
137 self.assertTrue(len(gt_maps_spec_record_list) == 3)
139 def test_get_all_iovs_within_range(self):
140 global_tag = self.connection.global_tag(name=self.global_tag_name)
142 since_range = self.connection.range(200000, 300000)
143 iovs = global_tag.iovs(since=since_range)
145 iovs_list = iovs.data()
146 self.assertTrue(isinstance(iovs_list, list))
148 for iov
in iovs_list:
149 self.assertTrue(isinstance(iov, self.connection.models[
"iov"]))
150 self.assertTrue(200000 <= iov.since <= 300000)
152 def test_gt_diff(self):
153 gt1 = self.connection.global_tag(name=
"74X_dataRun1_v1")
154 gt2 = self.connection.global_tag(name=
"74X_dataRun1_v3")
155 difference_by_arithmetic = gt1 - gt2
156 difference_by_method = gt1.diff(gt2)
162 difference_arithmetic_list = difference_by_arithmetic.data()
163 difference_method_list = difference_by_method.data()
164 self.assertTrue(isinstance(difference_arithmetic_list, list))
165 self.assertTrue(isinstance(difference_method_list, list))
167 self.assertTrue(len(difference_arithmetic_list) == len(difference_method_list))
169 for n
in range(len(difference_arithmetic_list)):
170 self.assertTrue(difference_arithmetic_list[n][
"%s Tag" % gt1.name] != difference_arithmetic_list[n][
"%s Tag" % gt2.name])
171 self.assertTrue(difference_method_list[n][
"%s Tag" % gt1.name] != difference_method_list[n][
"%s Tag" % gt2.name])