Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2053)

Unified Diff: chrome/common/extensions/docs/server2/content_providers_test.py

Issue 61393002: Docserver: Enable GitHub content providers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..72322cdc6cb31edf1c2571af7e47e1bb4f013bd2 100755
--- a/chrome/common/extensions/docs/server2/content_providers_test.py
+++ b/chrome/common/extensions/docs/server2/content_providers_test.py
@@ -29,6 +29,21 @@ _CONTENT_PROVIDERS = {
'dir': ''
},
},
+ 'github-provider': {
+ 'serveFrom': 'gh',
+ 'github': {
+ 'owner': 'GoogleChrome',
+ 'repo': 'hello-world',
+ },
+ },
+ 'github-provider-with-dir': {
+ 'serveFrom': 'gh2',
+ 'github': {
+ 'dir': 'tomatoes/are/a',
+ 'owner': 'SomeOwner',
+ 'repo': 'some-repo',
+ },
+ },
'tomatoes': {
'serveFrom': 'tomatoes-dir/are/a',
'chromium': {
@@ -65,11 +80,33 @@ _FILE_SYSTEM_DATA = {
}
+class _MockGithubFileSystemProvider(object):
+ '''A GithubFileSystemProvider imitation which records every call to Create
+ and returns them from GetAndReset.
+ '''
+
+ def __init__(self, file_system):
+ self._file_system = file_system
+ self._calls = []
+
+ def Create(self, owner, repo):
+ self._calls.append((owner, repo))
+ return self._file_system
+
+ def GetAndReset(self):
+ calls = self._calls
+ self._calls = []
+ return calls
+
+
class ContentProvidersTest(unittest.TestCase):
def setUp(self):
+ test_file_system = TestFileSystem(_FILE_SYSTEM_DATA)
+ self._github_fs_provider = _MockGithubFileSystemProvider(test_file_system)
self._content_providers = ContentProviders(
CompiledFileSystem.Factory(ObjectStoreCreator.ForTest()),
- TestFileSystem(_FILE_SYSTEM_DATA))
+ test_file_system,
+ self._github_fs_provider)
def testSimpleRootPath(self):
provider = self._content_providers.GetByName('apples')
@@ -127,6 +164,27 @@ 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/apples/green/granny smith.txt')
+ self.assertEqual('github-provider', provider.name)
+ self.assertEqual('apples/green/granny smith.txt', path)
+ self.assertEqual([('GoogleChrome', 'hello-world')],
+ self._github_fs_provider.GetAndReset())
+ self.assertEqual(
+ 'granny smith apples',
+ provider.GetContentAndType(_HOST, path).Get().content)
+
+ def testGithubContentProviderWithDir(self):
+ provider, path = self._content_providers.GetByServeFrom(
+ 'gh2/fruit/cherry.txt')
+ self.assertEqual('github-provider-with-dir', provider.name)
+ self.assertEqual('fruit/cherry.txt', path)
+ self.assertEqual([('SomeOwner', 'some-repo')],
+ self._github_fs_provider.GetAndReset())
+ self.assertEqual(
+ 'cherry tomatoes',
+ provider.GetContentAndType(_HOST, path).Get().content)
if __name__ == '__main__':
unittest.main()
« no previous file with comments | « chrome/common/extensions/docs/server2/content_providers.py ('k') | chrome/common/extensions/docs/server2/cron.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698