text: from datetime import datetime, timedelta, date
  
  from freezegun import freeze_time
  from tests.app.db import create_notification
  from app.performance_platform.processing_time import (
      send_processing_time_to_performance_platform,
      send_processing_time_data
  )
  
  
  @freeze_time('2016-10-18T06:00')
  # This test assumes the local timezone is EST
  def test_send_processing_time_to_performance_platform_generates_correct_calls(mocker, sample_template):
      send_mock = mocker.patch('app.performance_platform.processing_time.send_processing_time_data')
  
      created_at = datetime.utcnow() - timedelta(days=1)
  
      create_notification(sample_template, created_at=created_at, sent_at=created_at + timedelta(seconds=5))
      create_notification(sample_template, created_at=created_at, sent_at=created_at + timedelta(seconds=15))
      create_notification(sample_template, created_at=datetime.utcnow() - timedelta(days=2))
  
      send_processing_time_to_performance_platform(date(2016, 10, 17))
  
      send_mock.assert_any_call(datetime(2016, 10, 17, 4, 0), 'messages-total', 2)
      send_mock.assert_any_call(datetime(2016, 10, 17, 4, 0), 'messages-within-10-secs', 1)
  
  
  # This test assumes the local timezone is EST
  def test_send_processing_time_to_performance_platform_creates_correct_call_to_perf_platform(mocker):
      send_stats = mocker.patch('app.performance_platform.total_sent_notifications.performance_platform_client.send_stats_to_performance_platform')  # noqa
  
      send_processing_time_data(
          start_time=datetime(2016, 10, 16, 4, 0, 0),
          status='foo',
          count=142
      )
  
      assert send_stats.call_count == 1
  
      request_args = send_stats.call_args[0][0]
      assert request_args['dataType'] == 'processing-time'
      assert request_args['service'] == 'govuk-notify'
      assert request_args['period'] == 'day'
      assert request_args['status'] == 'foo'
      assert request_args['_timestamp'] == '2016-10-16T00:00:00'
      assert request_args['count'] == 142
      expected_base64_id = 'MjAxNi0xMC0xNlQwMDowMDowMGdvdnVrLW5vdGlmeWZvb3Byb2Nlc3NpbmctdGltZWRheQ=='
      assert request_args['_id'] == expected_base64_id
  