コード例 #1
0
    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')
コード例 #2
0
  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='/'))
コード例 #3
0
    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)
コード例 #4
0
  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)
コード例 #5
0
    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'))
コード例 #6
0
  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'))