| 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)
|
|
|