Esempio n. 1
0
    def setUp(self):
        tests.reset_emulator()
        self.clone_repository_patcher = mock.patch('pygit2.clone_repository')
        self.maxDiff = None

        mock_clone = self.clone_repository_patcher.start()
        mock_clone.return_value = pygit2.Repository('osv-test')

        patcher = mock.patch('osv.types.utcnow')
        mock_utcnow = patcher.start()
        mock_utcnow.return_value = datetime.datetime(2021, 1, 1)
        self.addCleanup(patcher.stop)

        allocated_bug = osv.Bug(id='2020-1337',
                                timestamp=datetime.datetime(2020, 1, 1),
                                source_id='oss-fuzz:123',
                                status=osv.BugStatus.UNPROCESSED,
                                public=False)
        allocated_bug.put()

        should_be_deleted = osv.AffectedCommit(id='2020-1337-abcd',
                                               bug_id='2020-1337',
                                               commit='abcd',
                                               confidence=100,
                                               project='project',
                                               ecosystem='ecosystem',
                                               public=False)
        should_be_deleted.put()
Esempio n. 2
0
  def setUp(self):
    tests.reset_emulator()
    tests.mock_clone(self, return_value=pygit2.Repository('osv-test'))

    osv.Bug(
        id='2020-1', project='project', affected=['v0.1.1'], public=True).put()
    osv.Bug(
        id='2020-2', project='project', affected=['v0.2'], public=False).put()
Esempio n. 3
0
  def setUp(self):
    tests.reset_emulator()
    self.clone_repository_patcher = mock.patch('pygit2.clone_repository')
    mock_clone = self.clone_repository_patcher.start()
    mock_clone.return_value = pygit2.Repository('osv-test')

    osv.Bug(
        id='2020-1', project='project', affected=['v0.1.1'], public=True).put()
    osv.Bug(
        id='2020-2', project='project', affected=['v0.2'], public=False).put()
Esempio n. 4
0
    def setUp(self):
        tests.reset_emulator()
        self.maxDiff = None  # pylint: disable=invalid-name
        self.tmp_dir = tempfile.mkdtemp()

        tests.mock_datetime(self)

        self.source_repo = osv.SourceRepository(
            type=osv.SourceRepositoryType.BUCKET,
            id='bucket',
            name='bucket',
            bucket=TEST_BUCKET,
            extension='.json')
        self.source_repo.put()
Esempio n. 5
0
    def setUp(self):
        self.maxDiff = None
        tests.reset_emulator()

        self.original_clone = pygit2.clone_repository
        tests.mock_clone(self, func=self.mock_clone)

        tests.mock_datetime(self)
        repo = tests.mock_repository(self)
        self.remote_source_repo_path = repo.path

        # Initialise fake source_repo.
        self.tmp_dir = tempfile.TemporaryDirectory()

        self.mock_repo = tests.mock_repository(self)
        self.mock_repo.add_file(
            'BLAH-123.yaml',
            self._load_test_data(os.path.join(TEST_DATA_DIR, 'BLAH-123.yaml')))
        self.mock_repo.add_file(
            'BLAH-124.yaml',
            self._load_test_data(os.path.join(TEST_DATA_DIR, 'BLAH-124.yaml')))
        self.mock_repo.add_file(
            'BLAH-125.yaml',
            self._load_test_data(os.path.join(TEST_DATA_DIR, 'BLAH-125.yaml')))
        self.mock_repo.commit('User', 'user@email')

        osv.SourceRepository(id='source',
                             name='source',
                             repo_url='file://' + self.remote_source_repo_path,
                             repo_username='').put()

        osv.Bug(id='BLAH-123',
                project='blah.com/package',
                ecosystem='golang',
                source_id='source:BLAH-123.yaml',
                source_of_truth=osv.SourceOfTruth.SOURCE_REPO).put()
        osv.Bug(id='BLAH-124',
                regressed='eefe8ec3f1f90d0e684890e810f3f21e8500a4cd',
                project='blah.com/package',
                ecosystem='golang',
                source_id='source:BLAH-124.yaml',
                source_of_truth=osv.SourceOfTruth.SOURCE_REPO).put()
        osv.Bug(id='BLAH-125',
                regressed='eefe8ec3f1f90d0e684890e810f3f21e8500a4cd',
                fixed='8d8242f545e9cec3e6d0d2e3f5bde8be1c659735',
                project='blah.com/package',
                ecosystem='golang',
                source_id='source:BLAH-125.yaml',
                source_of_truth=osv.SourceOfTruth.SOURCE_REPO).put()
Esempio n. 6
0
  def setUp(self):
    tests.reset_emulator()
    self.maxDiff = None  # pylint: disable=invalid-name
    self.tmp_dir = tempfile.mkdtemp()

    tests.mock_datetime(self)
    self.mock_repo = tests.mock_repository(self)

    storage_patcher = mock.patch('google.cloud.storage.Client')
    self.addCleanup(storage_patcher.stop)
    self.mock_storage_client = storage_patcher.start()

    self.remote_source_repo_path = self.mock_repo.path
    self.source_repo = osv.SourceRepository(
        id='oss-fuzz',
        name='oss-fuzz',
        repo_url='file://' + self.remote_source_repo_path,
        repo_username='')
    self.source_repo.put()
Esempio n. 7
0
    def setUp(self):
        self.maxDiff = None
        tests.reset_emulator()

        # TODO(ochang): Refactor out into common test utilities.
        self.original_clone = pygit2.clone_repository
        self.clone_repository_patcher = mock.patch('pygit2.clone_repository')
        mock_clone = self.clone_repository_patcher.start()
        mock_clone.side_effect = self.mock_clone

        patcher = mock.patch('osv.types.utcnow')
        mock_utcnow = patcher.start()
        mock_utcnow.return_value = datetime.datetime(2021, 1, 1)
        self.addCleanup(patcher.stop)

        # Initialise fake source_repo.
        self.tmp_dir = tempfile.TemporaryDirectory()
        self.remote_source_repo_path = os.path.join(self.tmp_dir.name,
                                                    'source_repo')
        repo = pygit2.init_repository(self.remote_source_repo_path, True)
        tree = repo.TreeBuilder().write()
        author = pygit2.Signature('OSV', '*****@*****.**')
        repo.create_commit('HEAD', author, author, 'Initial commit', tree, [])

        # Add a source.
        oid = repo.write(
            pygit2.GIT_OBJ_BLOB,
            self._load_test_data(os.path.join(TEST_DATA_DIR, 'BLAH-123.yaml')))
        repo.index.add(
            pygit2.IndexEntry('BLAH-123.yaml', oid, pygit2.GIT_FILEMODE_BLOB))
        repo.index.write()
        tree = repo.index.write_tree()
        repo.create_commit('HEAD', author, author, 'Changes', tree,
                           [repo.head.peel().oid])

        osv.SourceRepository(id='source',
                             name='source',
                             repo_url='file://' + self.remote_source_repo_path,
                             repo_username='').put()

        osv.Bug(id='BLAH-123', project='blah.com/package',
                ecosystem='golang').put()
Esempio n. 8
0
    def setUp(self):
        tests.reset_emulator()
        self.maxDiff = None

        tests.mock_clone(self, return_value=pygit2.Repository('osv-test'))
        tests.mock_datetime(self)

        allocated_bug = osv.Bug(id='2020-1337',
                                timestamp=datetime.datetime(2020, 1, 1),
                                source_id='oss-fuzz:123',
                                status=osv.BugStatus.UNPROCESSED,
                                public=False)
        allocated_bug.put()

        should_be_deleted = osv.AffectedCommit(id='2020-1337-abcd',
                                               bug_id='2020-1337',
                                               commit='abcd',
                                               project='project',
                                               ecosystem='ecosystem',
                                               public=False)
        should_be_deleted.put()
Esempio n. 9
0
 def setUp(self):
     tests.reset_emulator()