| Index: chrome/common/extensions/docs/server2/instance_servlet_test.py
|
| diff --git a/chrome/common/extensions/docs/server2/instance_servlet_test.py b/chrome/common/extensions/docs/server2/instance_servlet_test.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..0168f1e42034625c2dcf9cdb39345d2219b221c3
|
| --- /dev/null
|
| +++ b/chrome/common/extensions/docs/server2/instance_servlet_test.py
|
| @@ -0,0 +1,57 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2013 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 unittest
|
| +
|
| +from empty_dir_file_system import EmptyDirFileSystem
|
| +from file_system import FileSystem
|
| +from instance_servlet import InstanceServlet
|
| +from servlet import Request
|
| +from test_branch_utility import TestBranchUtility
|
| +from test_file_system import TestFileSystem
|
| +from test_util import DisableLogging
|
| +
|
| +# NOTE(kalman): The ObjectStore created by the InstanceServlet is backed onto
|
| +# our fake AppEngine memcache/datastore, so the tests aren't isolated.
|
| +class _TestDelegate(InstanceServlet.Delegate):
|
| + def __init__(self, file_system_type):
|
| + self._file_system_type = file_system_type
|
| +
|
| + def CreateBranchUtility(self, object_store_creator):
|
| + return TestBranchUtility()
|
| +
|
| + def CreateHostFileSystemForBranch(self, branch):
|
| + return self._file_system_type()
|
| +
|
| + def CreateAppSamplesFileSystem(self, object_store_creator):
|
| + return EmptyDirFileSystem()
|
| +
|
| +class _FailOnAccessFileSystem(FileSystem):
|
| + # All this needs to do is implement GetIdentity. All other methods will
|
| + # automatically fail with NotImplementedErrors.
|
| + def GetIdentity(self):
|
| + return '42'
|
| +
|
| +class InstanceServletTest(unittest.TestCase):
|
| + @DisableLogging('warning')
|
| + def testHostFileSystemNotAccessed(self):
|
| + delegate = _TestDelegate(_FailOnAccessFileSystem)
|
| + constructor = InstanceServlet.GetConstructor(delegate_for_test=delegate)
|
| + def test_path(path):
|
| + response = constructor(Request.ForTest(path)).Get()
|
| + self.assertEqual(404, response.status)
|
| + test_path('extensions/storage.html')
|
| + test_path('apps/storage.html')
|
| + test_path('extensions/examples/foo.zip')
|
| + test_path('extensions/examples/foo.html')
|
| + test_path('static/foo.css')
|
| + test_path('beta/extensions/storage.html')
|
| + test_path('beta/apps/storage.html')
|
| + test_path('beta/extensions/examples/foo.zip')
|
| + test_path('beta/extensions/examples/foo.html')
|
| + test_path('beta/static/foo.css')
|
| +
|
| +if __name__ == '__main__':
|
| + unittest.main()
|
|
|