Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(955)

Unified Diff: third_party/boto/tests/unit/rds/test_connection.py

Issue 698893003: Update checked in version of gsutil to version 4.6 (Closed) Base URL: http://dart.googlecode.com/svn/third_party/gsutil/
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/boto/tests/unit/provider/test_provider.py ('k') | third_party/boto/tests/unit/rds2/__init__.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/boto/tests/unit/rds/test_connection.py
===================================================================
--- third_party/boto/tests/unit/rds/test_connection.py (revision 33376)
+++ third_party/boto/tests/unit/rds/test_connection.py (working copy)
@@ -28,7 +28,9 @@
from boto.rds import RDSConnection
from boto.rds.vpcsecuritygroupmembership import VPCSecurityGroupMembership
from boto.rds.parametergroup import ParameterGroup
+from boto.rds.logfile import LogFile, LogFileObject
+import xml.sax.saxutils as saxutils
class TestRDSConnection(AWSMockServiceTestCase):
connection_class = RDSConnection
@@ -550,7 +552,188 @@
self.assertEqual(options.engine_name, 'oracle-se1')
self.assertEqual(options.major_engine_version, '11.2')
+class TestRDSLogFile(AWSMockServiceTestCase):
+ connection_class = RDSConnection
+ def setUp(self):
+ super(TestRDSLogFile, self).setUp()
+
+ def default_body(self):
+ return """
+ <DescribeDBLogFilesResponse xmlns="http://rds.amazonaws.com/doc/2013-02-12/">
+ <DescribeDBLogFilesResult>
+ <DescribeDBLogFiles>
+ <DescribeDBLogFilesDetails>
+ <LastWritten>1364403600000</LastWritten>
+ <LogFileName>error/mysql-error-running.log</LogFileName>
+ <Size>0</Size>
+ </DescribeDBLogFilesDetails>
+ <DescribeDBLogFilesDetails>
+ <LastWritten>1364338800000</LastWritten>
+ <LogFileName>error/mysql-error-running.log.0</LogFileName>
+ <Size>0</Size>
+ </DescribeDBLogFilesDetails>
+ <DescribeDBLogFilesDetails>
+ <LastWritten>1364342400000</LastWritten>
+ <LogFileName>error/mysql-error-running.log.1</LogFileName>
+ <Size>0</Size>
+ </DescribeDBLogFilesDetails>
+ <DescribeDBLogFilesDetails>
+ <LastWritten>1364346000000</LastWritten>
+ <LogFileName>error/mysql-error-running.log.2</LogFileName>
+ <Size>0</Size>
+ </DescribeDBLogFilesDetails>
+ <DescribeDBLogFilesDetails>
+ <LastWritten>1364349600000</LastWritten>
+ <LogFileName>error/mysql-error-running.log.3</LogFileName>
+ <Size>0</Size>
+ </DescribeDBLogFilesDetails>
+ <DescribeDBLogFilesDetails>
+ <LastWritten>1364405700000</LastWritten>
+ <LogFileName>error/mysql-error.log</LogFileName>
+ <Size>0</Size>
+ </DescribeDBLogFilesDetails>
+ </DescribeDBLogFiles>
+ </DescribeDBLogFilesResult>
+ <ResponseMetadata>
+ <RequestId>d70fb3b3-9704-11e2-a0db-871552e0ef19</RequestId>
+ </ResponseMetadata>
+ </DescribeDBLogFilesResponse>
+ """
+
+ def test_get_all_logs_simple(self):
+ self.set_http_response(status_code=200)
+ response = self.service_connection.get_all_logs('db1')
+
+ self.assert_request_parameters({
+ 'Action': 'DescribeDBLogFiles',
+ 'DBInstanceIdentifier': 'db1',
+ }, ignore_params_values=['Version'])
+
+ self.assertEqual(len(response), 6)
+ self.assertTrue(isinstance(response[0], LogFile))
+ self.assertEqual(response[0].log_filename, 'error/mysql-error-running.log')
+ self.assertEqual(response[0].last_written, '1364403600000')
+ self.assertEqual(response[0].size, '0')
+
+ def test_get_all_logs_filtered(self):
+ self.set_http_response(status_code=200)
+ response = self.service_connection.get_all_logs('db_instance_1', max_records=100, marker='error/mysql-error.log', file_size=2000000, filename_contains='error', file_last_written=12345678)
+
+ self.assert_request_parameters({
+ 'Action': 'DescribeDBLogFiles',
+ 'DBInstanceIdentifier': 'db_instance_1',
+ 'MaxRecords': 100,
+ 'Marker': 'error/mysql-error.log',
+ 'FileSize': 2000000,
+ 'FilenameContains': 'error',
+ 'FileLastWritten': 12345678,
+ }, ignore_params_values=['Version'])
+
+ self.assertEqual(len(response), 6)
+ self.assertTrue(isinstance(response[0], LogFile))
+ self.assertEqual(response[0].log_filename, 'error/mysql-error-running.log')
+ self.assertEqual(response[0].last_written, '1364403600000')
+ self.assertEqual(response[0].size, '0')
+
+
+class TestRDSLogFileDownload(AWSMockServiceTestCase):
+ connection_class = RDSConnection
+ logfile_sample = """
+??2014-01-26 23:59:00.01 spid54 Microsoft SQL Server 2012 - 11.0.2100.60 (X64)
+
+ Feb 10 2012 19:39:15
+
+ Copyright (c) Microsoft Corporation
+
+ Web Edition (64-bit) on Windows NT 6.1 &lt;X64&gt; (Build 7601: Service Pack 1) (Hypervisor)
+
+
+
+2014-01-26 23:59:00.01 spid54 (c) Microsoft Corporation.
+
+2014-01-26 23:59:00.01 spid54 All rights reserved.
+
+2014-01-26 23:59:00.01 spid54 Server process ID is 2976.
+
+2014-01-26 23:59:00.01 spid54 System Manufacturer: 'Xen', System Model: 'HVM domU'.
+
+2014-01-26 23:59:00.01 spid54 Authentication mode is MIXED.
+
+2014-01-26 23:59:00.01 spid54 Logging SQL Server messages in file 'D:\RDSDBDATA\Log\ERROR'.
+
+2014-01-26 23:59:00.01 spid54 The service account is 'WORKGROUP\AMAZONA-NUQUUMV$'. This is an informational message; no user action is required.
+
+2014-01-26 23:59:00.01 spid54 The error log has been reinitialized. See the previous log for older entries.
+
+2014-01-27 00:00:56.42 spid25s This instance of SQL Server has been using a process ID of 2976 since 10/21/2013 2:16:50 AM (local) 10/21/2013 2:16:50 AM (UTC). This is an informational message only; no user action is required.
+
+2014-01-27 09:35:15.43 spid71 I/O is frozen on database model. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup.
+
+2014-01-27 09:35:15.44 spid72 I/O is frozen on database msdb. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup.
+
+2014-01-27 09:35:15.44 spid74 I/O is frozen on database rdsadmin. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup.
+
+2014-01-27 09:35:15.44 spid73 I/O is frozen on database master. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup.
+
+2014-01-27 09:35:25.57 spid73 I/O was resumed on database master. No user action is required.
+
+2014-01-27 09:35:25.57 spid74 I/O was resumed on database rdsadmin. No user action is required.
+
+2014-01-27 09:35:25.57 spid71 I/O was resumed on database model. No user action is required.
+
+2014-01-27 09:35:25.57 spid72 I/O was resumed on database msdb. No user action is required.
+ """
+
+ def setUp(self):
+ super(TestRDSLogFileDownload, self).setUp()
+
+ def default_body(self):
+ return """
+<DownloadDBLogFilePortionResponse xmlns="http://rds.amazonaws.com/doc/2013-09-09/">
+ <DownloadDBLogFilePortionResult>
+ <Marker>0:4485</Marker>
+ <LogFileData>%s</LogFileData>
+ <AdditionalDataPending>false</AdditionalDataPending>
+ </DownloadDBLogFilePortionResult>
+ <ResponseMetadata>
+ <RequestId>27143615-87ae-11e3-acc9-fb64b157268e</RequestId>
+ </ResponseMetadata>
+</DownloadDBLogFilePortionResponse>
+ """ % self.logfile_sample
+
+ def test_single_download(self):
+ self.set_http_response(status_code=200)
+ response = self.service_connection.get_log_file('db1', 'foo.log')
+
+ self.assertTrue(isinstance(response, LogFileObject))
+ self.assertEqual(response.marker, '0:4485')
+ self.assertEqual(response.dbinstance_id, 'db1')
+ self.assertEqual(response.log_filename, 'foo.log')
+
+ self.assertEqual(response.data, saxutils.unescape(self.logfile_sample))
+
+ self.assert_request_parameters({
+ 'Action': 'DownloadDBLogFilePortion',
+ 'DBInstanceIdentifier': 'db1',
+ 'LogFileName': 'foo.log',
+ }, ignore_params_values=['Version'])
+
+ def test_multi_args(self):
+ self.set_http_response(status_code=200)
+ response = self.service_connection.get_log_file('db1', 'foo.log', marker='0:4485', number_of_lines=10)
+
+ self.assertTrue(isinstance(response, LogFileObject))
+
+ self.assert_request_parameters({
+ 'Action': 'DownloadDBLogFilePortion',
+ 'DBInstanceIdentifier': 'db1',
+ 'Marker': '0:4485',
+ 'NumberOfLines': 10,
+ 'LogFileName': 'foo.log',
+ }, ignore_params_values=['Version'])
+
+
class TestRDSOptionGroupOptions(AWSMockServiceTestCase):
connection_class = RDSConnection
« no previous file with comments | « third_party/boto/tests/unit/provider/test_provider.py ('k') | third_party/boto/tests/unit/rds2/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698