def test_repo_detect_merges_missing_target(self): """A non-existent target OID returns HTTP 404.""" factory = RepoFactory(self.repo_store) resp = self.app.post_json('/repo/{}/detect-merges/{}'.format( self.repo_path, factory.nonexistent_oid()), {'sources': []}, expect_errors=True) self.assertEqual(404, resp.status_code)
def test_repo_detect_merges_missing_source(self): """A non-existent source commit is ignored.""" factory = RepoFactory(self.repo_store) # A---B a = factory.add_commit('a\n', 'file') b = factory.add_commit('b\n', 'file', parents=[a]) resp = self.app.post_json('/repo/{}/detect-merges/{}'.format( self.repo_path, b), {'sources': [factory.nonexistent_oid()]}) self.assertEqual(200, resp.status_code) self.assertEqual({}, resp.json)
def test_repo_get_commit_collection_ignores_errors(self): """Non-existent OIDs and non-commits in a collection are ignored.""" factory = RepoFactory(self.repo_store, num_commits=10) factory.build() bulk_commits = { 'commits': [ factory.commits[0].hex, factory.repo[factory.commits[0]].tree.hex, factory.nonexistent_oid(), ], } resp = self.app.post_json( '/repo/{}/commits'.format(self.repo_path), bulk_commits) self.assertEqual(1, len(resp.json)) self.assertEqual(bulk_commits['commits'][0], resp.json[0]['sha1'])
def test_repo_get_commit_nonexistent(self): """Trying to get a non-existent OID returns HTTP 404.""" factory = RepoFactory(self.repo_store) resp = self.app.get('/repo/{}/commits/{}'.format( self.repo_path, factory.nonexistent_oid()), expect_errors=True) self.assertEqual(404, resp.status_code)