From 148c8f583d1cf99fdf2b48e0becfa348d1edc954 Mon Sep 17 00:00:00 2001 From: Sxci Date: Fri, 13 Nov 2020 16:07:27 +0800 Subject: [PATCH] check prefop id by GET --- .../qiniu/processing/OperationManager.java | 6 +-- .../test/com/qiniu/processing/PfopTest.java | 38 ++++++++++++++++--- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/qiniu/processing/OperationManager.java b/src/main/java/com/qiniu/processing/OperationManager.java index 4732e5faf..73b5a3eb6 100644 --- a/src/main/java/com/qiniu/processing/OperationManager.java +++ b/src/main/java/com/qiniu/processing/OperationManager.java @@ -164,10 +164,8 @@ public OperationStatus prefop(String persistentId) throws QiniuException { * 返回结果的 class */ public T prefop(String persistentId, Class retClass) throws QiniuException { - StringMap params = new StringMap().put("id", persistentId); - byte[] data = StringUtils.utf8Bytes(params.formString()); - String url = String.format("%s/status/get/prefop", configuration.apiHost()); - Response response = this.client.post(url, data, null, Client.FormMime); + String url = String.format("%s/status/get/prefop?id=%s", configuration.apiHost(), persistentId); + Response response = this.client.get(url); if (!response.isOK()) { throw new QiniuException(response); } diff --git a/src/test/java/test/com/qiniu/processing/PfopTest.java b/src/test/java/test/com/qiniu/processing/PfopTest.java index 54c5f1f8d..bae848d03 100644 --- a/src/test/java/test/com/qiniu/processing/PfopTest.java +++ b/src/test/java/test/com/qiniu/processing/PfopTest.java @@ -1,5 +1,6 @@ package test.com.qiniu.processing; +import com.google.gson.Gson; import com.qiniu.common.QiniuException; import com.qiniu.common.Zone; import com.qiniu.processing.OperationManager; @@ -12,7 +13,9 @@ import test.com.qiniu.ResCode; import test.com.qiniu.TestConfig; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import static org.junit.Assert.fail; @@ -24,10 +27,14 @@ public class PfopTest { * 检测jobid是否不为空 */ @Test - public void testPfop() { + public void testPfop() throws QiniuException { Map cases = new HashMap(); cases.put(TestConfig.testBucket_z0, Zone.autoZone()); cases.put(TestConfig.testBucket_na0, Zone.autoZone()); + List ids = new ArrayList<>(); + + Configuration cfg = new Configuration(); + OperationManager operationManager = new OperationManager(TestConfig.testAuth, cfg); for (Map.Entry entry : cases.entrySet()) { String bucket = entry.getKey(); @@ -48,18 +55,38 @@ public void testPfop() { System.out.println(fops); try { - Configuration cfg = new Configuration(zone); - OperationManager operationManager = new OperationManager(TestConfig.testAuth, cfg); String jobid = operationManager.pfop(bucket, TestConfig.testMp4FileKey, fops, null, notifyURL, force); Assert.assertNotNull(jobid); Assert.assertNotEquals("", jobid); - String purl = "https://api.qiniu.com/status/get/prefop?id=" + jobid; - System.out.println(purl); + ids.add(jobid); } catch (QiniuException e) { fail(e.response.toString()); } } + System.out.println("\n\n"); + for (String jobid : ids) { + String purl = "https://api.qiniu.com/status/get/prefop?id=" + jobid; + System.out.println(purl); + OperationStatus status = operationManager.prefop(jobid); + System.out.println(new Gson().toJson(status)); + Assert.assertEquals(jobid, status.id); + } + + System.out.println("\n\n"); + try{ + Thread.sleep(1000 * 7); + } catch (Exception e) { + // ingore + } + + for (String jobid : ids) { + String purl = "https://api.qiniu.com/status/get/prefop?id=" + jobid; + System.out.println(purl); + OperationStatus status = operationManager.prefop(jobid); + System.out.println(new Gson().toJson(status)); + Assert.assertEquals(jobid, status.id); + } } /** @@ -75,6 +102,7 @@ public void testPrefop() { OperationStatus status = operationManager.prefop(jobid); Assert.assertEquals(0, status.code); } catch (QiniuException ex) { + ex.printStackTrace(); Assert.assertTrue(ResCode.find(ex.code(), ResCode.getPossibleResCode(612))); } }