Source code for webutil.tests.test_logs

"""Unit tests for logs.py. Woefully incomplete."""
from datetime import datetime, timedelta, timezone
import time
import unittest
from unittest import mock

from flask import Flask
from google.cloud import ndb

from .. import appengine_config, logs
from ..testutil import NOW

with appengine_config.ndb_client.context():
  KEY = ndb.Key('Foo', 123)
  KEY_STR = KEY.urlsafe().decode()


[docs] class LogsTest(unittest.TestCase):
[docs] def setUp(self): super().setUp() self.app = Flask('test_logs') self.app.add_url_rule('/log', view_func=logs.log) self.app.config['TESTING'] = True self.client = self.app.test_client()
[docs] def test_url(self): self.assertEqual(f'log?start_time=172800&key={KEY_STR}', logs.url(datetime(1970, 1, 3), KEY))
[docs] def test_start_time_too_old(self): resp = self.client.get(f'/log?key=abc&start_time=644858558') self.assertEqual(400, resp.status_code) self.assertIn('start_time must be >= ', resp.get_data(as_text=True))
[docs] def test_start_time_too_far_future(self): resp = self.client.get(f'/log?key=abc&start_time=16448494169326941') self.assertEqual(400, resp.status_code) self.assertIn('start_time must be <= ', resp.get_data(as_text=True))