52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
#!/usr/bin/env python
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import mozfile
|
|
import os
|
|
import shutil
|
|
import sqlite3
|
|
import tempfile
|
|
import unittest
|
|
from mozprofile.permissions import Permissions
|
|
|
|
|
|
class PermissionsTest(unittest.TestCase):
|
|
|
|
locations = """http://mochi.test:8888 primary,privileged
|
|
http://127.0.0.1:80 noxul
|
|
http://127.0.0.1:8888 privileged
|
|
"""
|
|
|
|
def setUp(self):
|
|
self.profile_dir = tempfile.mkdtemp()
|
|
self.locations_file = mozfile.NamedTemporaryFile()
|
|
self.locations_file.write(self.locations)
|
|
self.locations_file.flush()
|
|
|
|
def tearDown(self):
|
|
if self.profile_dir:
|
|
shutil.rmtree(self.profile_dir)
|
|
if self.locations_file:
|
|
self.locations_file.close()
|
|
|
|
def test_schema_version(self):
|
|
perms = Permissions(self.profile_dir, self.locations_file.name)
|
|
perms_db_filename = os.path.join(self.profile_dir, 'permissions.sqlite')
|
|
perms.write_db(self.locations_file)
|
|
|
|
stmt = 'PRAGMA user_version;'
|
|
|
|
con = sqlite3.connect(perms_db_filename)
|
|
cur = con.cursor()
|
|
cur.execute(stmt)
|
|
entries = cur.fetchall()
|
|
|
|
schema_version = entries[0][0]
|
|
self.assertEqual(schema_version, 5)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|