blob: 4552869cbb0d10a5450a9dd444d9676fd2c9cc9e [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import json
import webapp2
import webtest
from dashboard import get_logs
from dashboard import quick_logger
from dashboard import testing_common
class GetLogsTest(testing_common.TestCase):
def setUp(self):
super(GetLogsTest, self).setUp()
app = webapp2.WSGIApplication([
('/get_logs', get_logs.GetLogsHandler)])
self.testapp = webtest.TestApp(app)
def testPost_WithTimestamp_RespondsWithNewLogs(self):
logger = quick_logger.QuickLogger('test_namespace', 'test_name')
logger.Log('First message.')
logger.Log('Second message.')
# Set back the time on these records.
logger._records[0].timestamp -= 1
logger._records[1].timestamp -= 2
logger.Save()
response = self.testapp.post('/get_logs', {
'namespace': 'test_namespace',
'name': 'test_name',
'size': 100
})
response_logs = json.loads(response.body)
self.assertEqual(2, len(response_logs))
logger.Log('Third message.')
logger.Save()
response = self.testapp.post('/get_logs', {
'namespace': 'test_namespace',
'name': 'test_name',
'size': 100,
'after_timestamp': repr(response_logs[0]['timestamp'])
})
response_logs = json.loads(response.body)
self.assertEqual(1, len(response_logs))
self.assertEqual('Third message.', response_logs[0]['message'])