OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 import os | 4 import os |
5 import sqlite3 | |
6 import tempfile | 5 import tempfile |
7 import unittest | 6 import unittest |
8 | 7 |
| 8 try: |
| 9 import sqlite3 # Not present on ChromeOS. |
| 10 except ImportError: |
| 11 pass |
| 12 |
| 13 |
| 14 from telemetry import decorators |
9 from profile_creators.cookie_profile_extender import CookieProfileExtender | 15 from profile_creators.cookie_profile_extender import CookieProfileExtender |
10 | 16 |
11 | 17 |
12 # Testing private method. | 18 # Testing private method. |
13 # pylint: disable=protected-access | 19 # pylint: disable=protected-access |
14 class CookieProfileExtenderTest(unittest.TestCase): | 20 class CookieProfileExtenderTest(unittest.TestCase): |
15 def _CreateCookieTable(self, path): | 21 def _CreateCookieTable(self, path): |
16 connection = sqlite3.connect(path) | 22 connection = sqlite3.connect(path) |
17 cursor = connection.cursor() | 23 cursor = connection.cursor() |
18 cursor.execute("CREATE TABLE cookies (url text)") | 24 cursor.execute("CREATE TABLE cookies (url text)") |
19 connection.commit() | 25 connection.commit() |
20 connection.close() | 26 connection.close() |
21 | 27 |
22 def _AddCookiesToTable(self, path, count): | 28 def _AddCookiesToTable(self, path, count): |
23 connection = sqlite3.connect(path) | 29 connection = sqlite3.connect(path) |
24 cursor = connection.cursor() | 30 cursor = connection.cursor() |
25 for i in range(count): | 31 for i in range(count): |
26 cursor.execute("INSERT INTO cookies VALUES ('%s')" % i) | 32 cursor.execute("INSERT INTO cookies VALUES ('%s')" % i) |
27 connection.commit() | 33 connection.commit() |
28 connection.close() | 34 connection.close() |
29 | 35 |
| 36 @decorators.Disabled('chromeos') # crbug.com/483212 |
30 def testCookieCount(self): | 37 def testCookieCount(self): |
31 # Neither tempfile.TemporaryFile() nor tempfile.NamedTemporaryFile() work | 38 # Neither tempfile.TemporaryFile() nor tempfile.NamedTemporaryFile() work |
32 # well here. The former doesn't work at all, since it doesn't gaurantee a | 39 # well here. The former doesn't work at all, since it doesn't gaurantee a |
33 # file-system visible path. The latter doesn't work well, since the | 40 # file-system visible path. The latter doesn't work well, since the |
34 # returned file cannot be opened a second time on Windows. The returned | 41 # returned file cannot be opened a second time on Windows. The returned |
35 # file would have to be closed, and the method would need to be called with | 42 # file would have to be closed, and the method would need to be called with |
36 # Delete=False, which makes its functionality no simpler than | 43 # Delete=False, which makes its functionality no simpler than |
37 # tempfile.mkstemp(). | 44 # tempfile.mkstemp(). |
38 handle, path = tempfile.mkstemp() | 45 handle, path = tempfile.mkstemp() |
39 try: | 46 try: |
40 os.close(handle) | 47 os.close(handle) |
41 | 48 |
42 self._CreateCookieTable(path) | 49 self._CreateCookieTable(path) |
43 self.assertEquals(CookieProfileExtender._CookieCountInDB(path), 0) | 50 self.assertEquals(CookieProfileExtender._CookieCountInDB(path), 0) |
44 | 51 |
45 self._AddCookiesToTable(path, 100) | 52 self._AddCookiesToTable(path, 100) |
46 self.assertEquals(CookieProfileExtender._CookieCountInDB(path), 100) | 53 self.assertEquals(CookieProfileExtender._CookieCountInDB(path), 100) |
47 finally: | 54 finally: |
48 os.remove(path) | 55 os.remove(path) |
OLD | NEW |