OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # These are fake fetchers that are used for testing and the preview server. | 5 # These are fake fetchers that are used for testing and the preview server. |
6 # They return canned responses for URLs. appengine_wrappers.py uses the fake | 6 # They return canned responses for URLs. appengine_wrappers.py uses the fake |
7 # fetchers if the App Engine imports fail. | 7 # fetchers if the App Engine imports fail. |
8 | 8 |
9 import base64 | 9 import base64 |
10 import json | 10 import json |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 return ReadFile(path) | 75 return ReadFile(path) |
76 except IOError: | 76 except IOError: |
77 return None | 77 return None |
78 | 78 |
79 | 79 |
80 _GITILES_BASE_RE = re.escape(url_constants.GITILES_BASE) | 80 _GITILES_BASE_RE = re.escape(url_constants.GITILES_BASE) |
81 _GITILES_BRANCH_BASE_RE = re.escape(url_constants.GITILES_BRANCH_BASE) | 81 _GITILES_BRANCH_BASE_RE = re.escape(url_constants.GITILES_BRANCH_BASE) |
82 # NOTE: _GITILES_BRANCH_BASE_RE must be first, because _GITILES_BASE_RE is | 82 # NOTE: _GITILES_BRANCH_BASE_RE must be first, because _GITILES_BASE_RE is |
83 # a more general pattern. | 83 # a more general pattern. |
84 _GITILES_URL_RE = r'(%s|%s)/' % (_GITILES_BRANCH_BASE_RE, _GITILES_BASE_RE) | 84 _GITILES_URL_RE = r'(%s|%s)/' % (_GITILES_BRANCH_BASE_RE, _GITILES_BASE_RE) |
85 _GITILES_URL_TO_COMMIT_PATTERN = re.compile( | 85 _GITILES_URL_TO_COMMIT_PATTERN = re.compile(r'%s[^/]+$' % _GITILES_URL_RE) |
86 r'%s[^/]+\?format=JSON' % _GITILES_URL_RE) | |
87 _GITILES_URL_TO_PATH_PATTERN = re.compile(r'%s.+?/(.*)' % _GITILES_URL_RE) | 86 _GITILES_URL_TO_PATH_PATTERN = re.compile(r'%s.+?/(.*)' % _GITILES_URL_RE) |
88 def _ExtractPathFromGitilesUrl(url): | 87 def _ExtractPathFromGitilesUrl(url): |
89 return _GITILES_URL_TO_PATH_PATTERN.match(url).group(2) | 88 return _GITILES_URL_TO_PATH_PATTERN.match(url).group(2) |
90 | 89 |
91 | 90 |
92 class _FakeGitilesServer(_FakeFetcher): | 91 class _FakeGitilesServer(_FakeFetcher): |
93 def fetch(self, url): | 92 def fetch(self, url): |
94 if _GITILES_URL_TO_COMMIT_PATTERN.match(url) is not None: | 93 if _GITILES_URL_TO_COMMIT_PATTERN.match(url) is not None: |
95 return json.dumps({'commit': '1' * 40}) | 94 return json.dumps({'commit': '1' * 40}) |
96 path = _ExtractPathFromGitilesUrl(url) | 95 path = _ExtractPathFromGitilesUrl(url) |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 url_constants.OMAHA_PROXY_URL: _FakeOmahaProxy(), | 182 url_constants.OMAHA_PROXY_URL: _FakeOmahaProxy(), |
184 '%s/.*' % url_constants.SVN_URL: _FakeSubversionServer(), | 183 '%s/.*' % url_constants.SVN_URL: _FakeSubversionServer(), |
185 '%s/.*' % url_constants.VIEWVC_URL: _FakeViewvcServer(), | 184 '%s/.*' % url_constants.VIEWVC_URL: _FakeViewvcServer(), |
186 '%s/.*/commits/.*' % url_constants.GITHUB_REPOS: _FakeGithubStat(), | 185 '%s/.*/commits/.*' % url_constants.GITHUB_REPOS: _FakeGithubStat(), |
187 '%s/.*/zipball' % url_constants.GITHUB_REPOS: _FakeGithubZip(), | 186 '%s/.*/zipball' % url_constants.GITHUB_REPOS: _FakeGithubZip(), |
188 '%s/api/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldAPI(), | 187 '%s/api/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldAPI(), |
189 '%s/tarball/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldTarball(), | 188 '%s/tarball/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldTarball(), |
190 '%s/.*' % _GITILES_BASE_RE: _FakeGitilesServer(), | 189 '%s/.*' % _GITILES_BASE_RE: _FakeGitilesServer(), |
191 '%s/.*' % _GITILES_BRANCH_BASE_RE: _FakeGitilesServer() | 190 '%s/.*' % _GITILES_BRANCH_BASE_RE: _FakeGitilesServer() |
192 }) | 191 }) |
OLD | NEW |