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

Unified Diff: dashboard/dashboard/pinpoint/models/change/repository_test.py

Issue 3013683002: [pinpoint] Add a mapping from repository URLs to repository names. (Closed)
Patch Set: /api/gitiles Created 3 years, 3 months 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: dashboard/dashboard/pinpoint/models/change/repository_test.py
diff --git a/dashboard/dashboard/pinpoint/models/change/repository_test.py b/dashboard/dashboard/pinpoint/models/change/repository_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e0d005a5b2a421041104c1b37beedd2ca64da0b
--- /dev/null
+++ b/dashboard/dashboard/pinpoint/models/change/repository_test.py
@@ -0,0 +1,51 @@
+# Copyright 2017 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.
+
+from dashboard.common import namespaced_stored_object
+from dashboard.common import testing_common
+from dashboard.pinpoint.models.change import repository
+
+
+_CHROMIUM_URL = 'https://chromium.googlesource.com/chromium/src'
+
+
+class RepositoryTest(testing_common.TestCase):
+
+ def setUp(self):
+ super(RepositoryTest, self).setUp()
+
+ self.SetCurrentUser('internal@chromium.org', is_admin=True)
+
+ namespaced_stored_object.Set('repositories', {
+ 'chromium': {'repository_url': _CHROMIUM_URL},
+ })
+ namespaced_stored_object.Set('repository_urls_to_names', {
+ _CHROMIUM_URL: 'chromium',
+ })
+
+ def testRepositoryUrl(self):
+ self.assertEqual(repository.RepositoryUrl('chromium'), _CHROMIUM_URL)
+
+ def testRepositoryUrlRaisesWithUnknownName(self):
+ with self.assertRaises(KeyError):
+ repository.RepositoryUrl('not chromium')
+
+ def testRepository(self):
+ self.assertEqual(repository.Repository(_CHROMIUM_URL + '.git'), 'chromium')
+
+ def testRepositoryRaisesWithUnknownUrl(self):
+ with self.assertRaises(KeyError):
+ repository.Repository('https://chromium.googlesource.com/nonexistent/repo')
+
+ def testAddRepository(self):
+ name = repository.Repository('https://example/repo',
+ add_if_missing=True)
+ self.assertEqual(name, 'repo')
+
+ self.assertEqual(repository.RepositoryUrl('repo'), 'https://example/repo')
+ self.assertEqual(repository.Repository('https://example/repo'), 'repo')
+
+ def testAddRepositoryRaisesWithDuplicateName(self):
+ with self.assertRaises(AssertionError):
+ repository.Repository('https://example/chromium', add_if_missing=True)

Powered by Google App Engine
This is Rietveld 408576698