/usr/share/nsscache/nss_cache/caches/caches_test.py is in nsscache 0.23-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | #!/usr/bin/python
#
# Copyright 2007 Google Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
"""Unit tests for caches/caches.py."""
__author__ = 'jaq@google.com (Jamie Wilkinson)'
import os
import stat
import tempfile
import unittest
import mox
from nss_cache import config
from nss_cache.caches import caches
class FakeCacheCls(caches.Cache):
CACHE_FILENAME = 'shadow'
def __init__(self, config, map_name):
super(FakeCacheCls, self).__init__(config, map_name)
def Write(self, map_data):
return 0
def GetCacheFilename(self):
return os.path.join(self.output_dir,
self.CACHE_FILENAME + '.test')
class TestCls(mox.MoxTestBase):
def setUp(self):
self.workdir = tempfile.mkdtemp()
self.config = {'dir': self.workdir}
def tearDown(self):
os.rmdir(self.workdir)
def testCopyOwnerMissing(self):
expected = os.stat(os.path.join('/etc', config.MAP_SHADOW))
expected = stat.S_IMODE(expected.st_mode)
cache = FakeCacheCls(config=self.config, map_name=config.MAP_SHADOW)
cache._Begin()
cache._Commit()
data = os.stat(os.path.join(self.workdir, cache.GetCacheFilename()))
self.assertEqual(expected, stat.S_IMODE(data.st_mode))
os.unlink(cache.GetCacheFilename())
def testCopyOwnerPresent(self):
expected = os.stat(os.path.join('/etc/', config.MAP_SHADOW))
expected = stat.S_IMODE(expected.st_mode)
cache = FakeCacheCls(config=self.config, map_name=config.MAP_SHADOW)
cache._Begin()
cache._Commit()
data = os.stat(os.path.join(self.workdir, cache.GetCacheFilename()))
self.assertEqual(expected, stat.S_IMODE(data.st_mode))
os.unlink(cache.GetCacheFilename())
class TestCache(mox.MoxTestBase):
def testWriteMap(self):
cache_map = caches.Cache({}, config.MAP_PASSWORD, None)
self.mox.StubOutWithMock(cache_map, '_Commit')
self.mox.StubOutWithMock(cache_map, 'Write')
self.mox.StubOutWithMock(cache_map, 'Verify')
cache_map._Commit()
cache_map.Write('writable_map').AndReturn('entries_written')
cache_map.Verify('entries_written').AndReturn(True)
self.mox.ReplayAll()
self.assertEqual(0, cache_map.WriteMap('writable_map'))
if __name__ == '__main__':
unittest.main()
|