Skip to content

Commit 998c8b9

Browse files
authored
Comparing datetime.datetime-s in trace unit tests. (googleapis#4323)
Doing this because on Windows, when parsed into a protobuf and converted back to a string, trailing zeros are truncated. See: https://ci.appveyor.com/project/GoogleCloudPlatform/google-cloud-python/build/1.0.2506.master/job/xl4wk678mibxw0wa
1 parent 196fc7a commit 998c8b9

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

trace/tests/unit/test__gax.py

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
import datetime
1516
import unittest
1617

1718
import mock
@@ -46,13 +47,11 @@ def test_patch_traces(self):
4647
from google.cloud.trace._gax import _traces_mapping_to_pb
4748
from google.cloud._helpers import _datetime_to_pb_timestamp
4849

49-
from datetime import datetime
50-
5150
trace_id = 'test_trace_id'
5251
span_id = 1234
5352
span_name = 'test_span_name'
54-
start_time = datetime.utcnow()
55-
end_time = datetime.utcnow()
53+
start_time = datetime.datetime.utcnow()
54+
end_time = datetime.datetime.utcnow()
5655

5756
traces = {
5857
'traces': [
@@ -157,20 +156,20 @@ def _make_trace_pb(
157156
return trace_pb
158157

159158
def test_list_traces_no_paging(self):
159+
from google.cloud._helpers import _rfc3339_to_datetime
160+
from google.cloud._helpers import UTC
160161
from google.cloud._testing import _GAXPageIterator
161162
from google.cloud.gapic.trace.v1 import trace_service_client
162163
from google.cloud.gapic.trace.v1.enums import ListTracesRequest as Enum
163164
from google.gax import INITIAL_PAGE
164165

165-
from datetime import datetime
166-
167166
trace_id = 'test_trace_id'
168167
span_id = 1234
169168
span_name = 'test_span_name'
170169
span_kind = 'RPC_CLIENT'
171170
parent_span_id = 123
172-
start_time = datetime.utcnow().isoformat() + 'Z'
173-
end_time = datetime.utcnow().isoformat() + 'Z'
171+
start_ts = datetime.datetime.utcnow()
172+
end_ts = datetime.datetime.utcnow()
174173
labels = {
175174
'/http/status_code': '200',
176175
'/component': 'HTTP load balancer',
@@ -183,8 +182,8 @@ def test_list_traces_no_paging(self):
183182
trace_id,
184183
span_id,
185184
span_name,
186-
start_time,
187-
end_time,
185+
start_ts.isoformat() + 'Z',
186+
end_ts.isoformat() + 'Z',
188187
parent_span_id,
189188
labels)
190189

@@ -213,9 +212,11 @@ def test_list_traces_no_paging(self):
213212
self.assertEqual(span['name'], span_name)
214213

215214
self.assertEqual(
216-
span['startTime'], start_time)
215+
_rfc3339_to_datetime(span['startTime']),
216+
start_ts.replace(tzinfo=UTC))
217217
self.assertEqual(
218-
span['endTime'], end_time)
218+
_rfc3339_to_datetime(span['endTime']),
219+
end_ts.replace(tzinfo=UTC))
219220
self.assertEqual(span['kind'], span_kind)
220221
self.assertEqual(span['parentSpanId'], str(parent_span_id))
221222
self.assertEqual(span['labels'], labels)
@@ -232,19 +233,19 @@ def test_list_traces_no_paging(self):
232233
self.assertEqual(call_args['options'].page_token, INITIAL_PAGE)
233234

234235
def test_list_traces_with_paging(self):
236+
from google.cloud._helpers import _rfc3339_to_datetime
237+
from google.cloud._helpers import UTC
235238
from google.cloud._testing import _GAXPageIterator
236239
from google.cloud.gapic.trace.v1 import trace_service_client
237240
from google.cloud.gapic.trace.v1.enums import ListTracesRequest as Enum
238241

239-
from datetime import datetime
240-
241242
trace_id = 'test_trace_id'
242243
span_id = 1234
243244
span_name = 'test_span_name'
244245
span_kind = 'RPC_CLIENT'
245246
parent_span_id = 123
246-
start_time = datetime.utcnow().isoformat() + 'Z'
247-
end_time = datetime.utcnow().isoformat() + 'Z'
247+
start_ts = datetime.datetime.utcnow()
248+
end_ts = datetime.datetime.utcnow()
248249
labels = {
249250
'/http/status_code': '200',
250251
'/component': 'HTTP load balancer',
@@ -258,8 +259,8 @@ def test_list_traces_with_paging(self):
258259
trace_id,
259260
span_id,
260261
span_name,
261-
start_time,
262-
end_time,
262+
start_ts.isoformat() + 'Z',
263+
end_ts.isoformat() + 'Z',
263264
parent_span_id,
264265
labels)
265266

@@ -289,9 +290,11 @@ def test_list_traces_with_paging(self):
289290
self.assertEqual(span['name'], span_name)
290291

291292
self.assertEqual(
292-
span['startTime'], start_time)
293+
_rfc3339_to_datetime(span['startTime']),
294+
start_ts.replace(tzinfo=UTC))
293295
self.assertEqual(
294-
span['endTime'], end_time)
296+
_rfc3339_to_datetime(span['endTime']),
297+
end_ts.replace(tzinfo=UTC))
295298
self.assertEqual(span['kind'], span_kind)
296299
self.assertEqual(span['parentSpanId'], str(parent_span_id))
297300
self.assertEqual(span['labels'], labels)

0 commit comments

Comments
 (0)