mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-18 07:42:08 +08:00
athena: skip duplicate upload requests (#25062)
* athena: skip duplicate upload requests * cleanup * keep simple * just ignore old-commit-hash: 7e187426c7f02b8d63bce394f08219307e5900ca
This commit is contained in:
@@ -364,6 +364,11 @@ def uploadFilesToUrls(files_data):
|
||||
failed.append(fn)
|
||||
continue
|
||||
|
||||
# Skip item if already in queue
|
||||
url = file['url'].split('?')[0]
|
||||
if any(url == item['url'].split('?')[0] for item in listUploadQueue()):
|
||||
continue
|
||||
|
||||
item = UploadItem(
|
||||
path=path,
|
||||
url=file['url'],
|
||||
|
||||
@@ -124,7 +124,7 @@ class TestAthenadMethods(unittest.TestCase):
|
||||
fn = os.path.join(athenad.ROOT, 'qlog.bz2')
|
||||
Path(fn).touch()
|
||||
if fn.endswith('.bz2'):
|
||||
self.assertEqual(athenad.strip_bz2_extension(fn), fn[:-4])
|
||||
self.assertEqual(athenad.strip_bz2_extension(fn), fn[:-4])
|
||||
|
||||
|
||||
@with_http_server
|
||||
@@ -142,9 +142,6 @@ class TestAthenadMethods(unittest.TestCase):
|
||||
|
||||
@with_http_server
|
||||
def test_uploadFileToUrl(self, host):
|
||||
not_exists_resp = dispatcher["uploadFileToUrl"]("does_not_exist.bz2", "http://localhost:1238", {})
|
||||
self.assertEqual(not_exists_resp, {'enqueued': 0, 'items': [], 'failed': ['does_not_exist.bz2']})
|
||||
|
||||
fn = os.path.join(athenad.ROOT, 'qlog.bz2')
|
||||
Path(fn).touch()
|
||||
|
||||
@@ -155,6 +152,24 @@ class TestAthenadMethods(unittest.TestCase):
|
||||
self.assertIsNotNone(resp['items'][0].get('id'))
|
||||
self.assertEqual(athenad.upload_queue.qsize(), 1)
|
||||
|
||||
@with_http_server
|
||||
def test_uploadFileToUrl_duplicate(self, host):
|
||||
fn = os.path.join(athenad.ROOT, 'qlog.bz2')
|
||||
Path(fn).touch()
|
||||
|
||||
url1 = f"{host}/qlog.bz2?sig=sig1"
|
||||
dispatcher["uploadFileToUrl"]("qlog.bz2", url1, {})
|
||||
|
||||
# Upload same file again, but with different signature
|
||||
url2 = f"{host}/qlog.bz2?sig=sig2"
|
||||
resp = dispatcher["uploadFileToUrl"]("qlog.bz2", url2, {})
|
||||
self.assertEqual(resp, {'enqueued': 0, 'items': []})
|
||||
|
||||
@with_http_server
|
||||
def test_uploadFileToUrl_does_not_exist(self, host):
|
||||
not_exists_resp = dispatcher["uploadFileToUrl"]("does_not_exist.bz2", "http://localhost:1238", {})
|
||||
self.assertEqual(not_exists_resp, {'enqueued': 0, 'items': [], 'failed': ['does_not_exist.bz2']})
|
||||
|
||||
@with_http_server
|
||||
def test_upload_handler(self, host):
|
||||
fn = os.path.join(athenad.ROOT, 'qlog.bz2')
|
||||
|
||||
Reference in New Issue
Block a user