Chromium Code Reviews| Index: appengine/chrome_infra_packages/cipd/test/impl_test.py |
| diff --git a/appengine/chrome_infra_packages/cipd/test/impl_test.py b/appengine/chrome_infra_packages/cipd/test/impl_test.py |
| index d7384d5167f9b3fdb30de4b40ec77abd2565fae0..203129cbe15f05e9ebaee9990c7deeae9db84fbb 100644 |
| --- a/appengine/chrome_infra_packages/cipd/test/impl_test.py |
| +++ b/appengine/chrome_infra_packages/cipd/test/impl_test.py |
| @@ -71,6 +71,92 @@ class TestRepoService(testing.AppengineTestCase): |
| self.mock(impl.cas, 'get_cas_service', lambda: self.mocked_cas_service) |
| self.service = impl.get_repo_service() |
| + def test_list_packages_no_path(self): |
| + self.assertIsNone(self.service.get_package('a/b')) |
| + self.assertIsNone(self.service.get_package('y/z')) |
| + self.service.register_package( |
| + package_name='y/z', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.service.register_package( |
| + package_name='a/b', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.assertEqual(([], ['a', 'y']), |
| + self.service.list_packages('', False)) |
| + self.assertEqual((['a/b', 'y/z'], ['a', 'y']), |
| + self.service.list_packages('', True)) |
| + |
| + def test_list_packages_with_path(self): |
| + self.assertIsNone(self.service.get_package('a/b')) |
| + self.assertIsNone(self.service.get_package('y/x')) |
| + self.assertIsNone(self.service.get_package('y/z/z')) |
| + self.service.register_package( |
| + package_name='y/x', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.service.register_package( |
| + package_name='y/z/z', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.service.register_package( |
| + package_name='a/b', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.assertEqual((['y/x'], ['y/z']), self.service.list_packages('y', False)) |
| + self.assertEqual((['y/z/z'], []), |
| + self.service.list_packages('y/z/z', False)) |
| + self.assertEqual((['y/x'], ['y/z']), |
| + self.service.list_packages('y/', False)) |
| + self.assertEqual((['y/x', 'y/z/z'], ['y/z']), |
| + self.service.list_packages('y', True)) |
| + |
| + def test_list_packages_ignore_substrings(self): |
| + self.assertIsNone(self.service.get_package('good/path')) |
| + self.service.register_package( |
| + package_name='good/path', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.assertEqual((['good/path'], []), |
| + self.service.list_packages('good', False)) |
| + self.assertEqual((['good/path'], []), |
| + self.service.list_packages('good/', False)) |
| + self.assertEqual(([], []), |
| + self.service.list_packages('goo', False)) |
| + |
| + def test_list_packages_where_a_package_is_also_a_directory(self): |
| + self.assertIsNone(self.service.get_package('good')) |
| + self.assertIsNone(self.service.get_package('good/path')) |
| + self.service.register_package( |
| + package_name='good', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.service.register_package( |
| + package_name='good/path', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.assertEqual((['good'], ['good']), |
| + self.service.list_packages('', False)) |
| + self.assertEqual((['good', 'good/path'], ['good']), |
| + self.service.list_packages('', True)) |
| + # Don't be too smart about this case since we'll eventually remove |
| + # support for being both a package and directory. |
|
Vadim Sh.
2015/06/23 00:08:35
If we do it, we have to do it correctly: package r
estaab
2015/06/23 02:26:13
It should be ok. I changed the comment.
|
| + self.assertEqual((['good', 'good/path'], []), |
| + self.service.list_packages('good/', False)) |
| + |
| + def test_list_packages_with_an_empty_directory(self): |
| + self.assertIsNone(self.service.get_package('good/sub/path')) |
| + self.service.register_package( |
| + package_name='good/sub/path', |
| + caller=auth.Identity.from_bytes('user:abc@example.com'), |
| + now=datetime.datetime(2014, 1, 1, 0, 0)) |
| + self.assertEqual(([], ['good/sub']), |
| + self.service.list_packages('good', False)) |
| + self.assertEqual((['good/sub/path'], ['good/sub']), |
| + self.service.list_packages('good', True)) |
| + self.assertEqual((['good/sub/path'], ['good', 'good/sub']), |
| + self.service.list_packages('', True)) |
| + |
| def test_register_package_new(self): |
| self.assertIsNone(self.service.get_package('a/b')) |
| inst, registered = self.service.register_package( |