Index: chrome/common/extensions/docs/server2/content_providers_test.py |
diff --git a/chrome/common/extensions/docs/server2/content_providers_test.py b/chrome/common/extensions/docs/server2/content_providers_test.py |
index a35c348ab6995ef9dba303e389e1e4ad7b31e433..04df6b0bc2e509d8f3a06840b9545b87f49814bf 100755 |
--- a/chrome/common/extensions/docs/server2/content_providers_test.py |
+++ b/chrome/common/extensions/docs/server2/content_providers_test.py |
@@ -8,6 +8,8 @@ import unittest |
from compiled_file_system import CompiledFileSystem |
from content_providers import ContentProviders |
+from empty_dir_file_system import EmptyDirFileSystem |
+from github_file_system_provider import GithubFileSystemProvider |
Jeffrey Yasskin
2013/11/06 04:00:19
I don't think you use this.
not at google - send to devlin
2013/11/06 23:00:13
Done.
|
from object_store_creator import ObjectStoreCreator |
from test_file_system import TestFileSystem |
from test_util import DisableLogging |
@@ -29,6 +31,13 @@ _CONTENT_PROVIDERS = { |
'dir': '' |
}, |
}, |
+ 'github-provider': { |
+ 'serveFrom': 'gh', |
+ 'github': { |
+ 'owner': 'GoogleChrome', |
+ 'repo': 'hello-world', |
+ }, |
+ }, |
'tomatoes': { |
'serveFrom': 'tomatoes-dir/are/a', |
'chromium': { |
@@ -65,11 +74,31 @@ _FILE_SYSTEM_DATA = { |
} |
+class _MockGithubFileSystemProvider(object): |
+ '''A GithubFileSystemProvider imitation which records every call to Create |
+ and returns them from GetAndReset. |
+ ''' |
+ |
+ def __init__(self): |
+ self._calls = [] |
+ |
+ def Create(self, owner, repo): |
+ self._calls.append((owner, repo)) |
+ return EmptyDirFileSystem() |
+ |
+ def GetAndReset(self): |
+ calls = self._calls |
+ self._calls = [] |
+ return calls |
+ |
+ |
class ContentProvidersTest(unittest.TestCase): |
def setUp(self): |
+ self._github_fs_provider = _MockGithubFileSystemProvider() |
self._content_providers = ContentProviders( |
CompiledFileSystem.Factory(ObjectStoreCreator.ForTest()), |
- TestFileSystem(_FILE_SYSTEM_DATA)) |
+ TestFileSystem(_FILE_SYSTEM_DATA), |
+ self._github_fs_provider) |
def testSimpleRootPath(self): |
provider = self._content_providers.GetByName('apples') |
@@ -127,6 +156,13 @@ class ContentProvidersTest(unittest.TestCase): |
def testProviderNotFound(self): |
self.assertEqual(None, self._content_providers.GetByName('cabbages')) |
+ def testGithubContentProvider(self): |
+ provider, path = self._content_providers.GetByServeFrom('gh/some/path') |
+ self.assertEqual('github-provider', provider.name) |
+ self.assertEqual('some/path', path) |
+ self.assertEqual([('GoogleChrome', 'hello-world')], |
+ self._github_fs_provider.GetAndReset()) |
+ |
if __name__ == '__main__': |
unittest.main() |