def test_import_revision_no_acrhive(self): self.mock(gitiles, 'get_archive', mock.Mock(return_value=None)) gitiles_import.import_revision( 'config_set', gitiles.Location(hostname='localhost', project='project', treeish='master', path='/'), 'a1841f40264376d170269ee9473ce924b7c2c4e9')
def test_import_revision_no_acrhive(self): self.mock(gitiles, 'get_archive', mock.Mock(return_value=None)) gitiles_import.import_revision( 'config_set', gitiles.Location( hostname='localhost', project='project', treeish='a1841f40264376d170269ee9473ce924b7c2c4e9', path='/'))
def test_import_revision(self): self.mock_get_archive() gitiles_import.import_revision( 'config_set', gitiles.Location( hostname='localhost', project='project', treeish='luci/config', path='/', ), 'a1841f40264376d170269ee9473ce924b7c2c4e9', create_config_set=True) gitiles.get_archive.assert_called_once_with( 'localhost', 'project', 'a1841f40264376d170269ee9473ce924b7c2c4e9', '/', deadline=15) saved_config_set = storage.ConfigSet.get_by_id('config_set') self.assertIsNotNone(saved_config_set) self.assertEqual(saved_config_set.latest_revision, 'a1841f40264376d170269ee9473ce924b7c2c4e9') self.assertEqual(saved_config_set.location, 'https://localhost/project/+/luci/config') saved_revision = storage.Revision.get_by_id( 'a1841f40264376d170269ee9473ce924b7c2c4e9', parent=saved_config_set.key) self.assertIsNotNone(saved_revision) saved_file = storage.File.get_by_id('test_archive/x', parent=saved_revision.key) self.assertIsNotNone(saved_file) self.assertEqual(saved_file.content_hash, 'v1:587be6b4c3f93f93c489c0111bba5596147a26cb') saved_blob = storage.Blob.get_by_id(saved_file.content_hash) self.assertIsNotNone(saved_blob) self.assertEqual(saved_blob.content, 'x\n') # Run second time, assert nothing is fetched from gitiles. ndb.Key(storage.ConfigSet, 'config_set').delete() gitiles.get_archive.reset_mock() gitiles_import.import_revision( 'config_set', gitiles.Location(hostname='localhost', project='project', treeish='master', path='/'), 'a1841f40264376d170269ee9473ce924b7c2c4e9', create_config_set=True) self.assertFalse(gitiles.get_archive.called)
def test_import_revision(self): self.mock_get_archive() gitiles_import.import_revision( 'config_set', gitiles.Location( hostname='localhost', project='project', treeish='luci/config', path='/', ), 'a1841f40264376d170269ee9473ce924b7c2c4e9', create_config_set=True) gitiles.get_archive.assert_called_once_with( 'localhost', 'project', 'a1841f40264376d170269ee9473ce924b7c2c4e9', '/', deadline=15) saved_config_set = storage.ConfigSet.get_by_id('config_set') self.assertIsNotNone(saved_config_set) self.assertEqual( saved_config_set.latest_revision, 'a1841f40264376d170269ee9473ce924b7c2c4e9') self.assertEqual( saved_config_set.location, 'https://localhost/project/+/luci/config') saved_revision = storage.Revision.get_by_id( 'a1841f40264376d170269ee9473ce924b7c2c4e9', parent=saved_config_set.key) self.assertIsNotNone(saved_revision) saved_file = storage.File.get_by_id( 'test_archive/x', parent=saved_revision.key) self.assertIsNotNone(saved_file) self.assertEqual( saved_file.content_hash, 'v1:587be6b4c3f93f93c489c0111bba5596147a26cb') saved_blob = storage.Blob.get_by_id(saved_file.content_hash) self.assertIsNotNone(saved_blob) self.assertEqual(saved_blob.content, 'x\n') # Run second time, assert nothing is fetched from gitiles. ndb.Key(storage.ConfigSet, 'config_set').delete() gitiles.get_archive.reset_mock() gitiles_import.import_revision( 'config_set', gitiles.Location( hostname='localhost', project='project', treeish='master', path='/'), 'a1841f40264376d170269ee9473ce924b7c2c4e9', create_config_set=True) self.assertFalse(gitiles.get_archive.called)
def test_import_invalid_revision(self): self.mock_get_archive() self.mock(validation, 'validate_config', mock.Mock(return_value=False)) gitiles_import.import_revision( 'config_set', gitiles.Location(hostname='localhost', project='project', treeish='master', path='/'), 'a1841f40264376d170269ee9473ce924b7c2c4e9') # Assert not saved. self.assertIsNone(storage.ConfigSet.get_by_id('config_set'))
def test_import_invalid_revision(self): self.mock_get_archive() self.mock(validation, 'validate_config', mock.Mock(return_value=False)) gitiles_import.import_revision( 'config_set', gitiles.Location( hostname='localhost', project='project', treeish='a1841f40264376d170269ee9473ce924b7c2c4e9', path='/')) # Assert not saved. self.assertIsNone(storage.ConfigSet.get_by_id('config_set'))