From 9385acecb47dee7196ecdbf5c90b4631dbac4d70 Mon Sep 17 00:00:00 2001 From: Haoling Dong Date: Thu, 17 Mar 2022 16:58:13 +0800 Subject: [PATCH 1/2] Update LRO related test case --- src/test-routes/dpg/customization.ts | 40 ++++++++++++++++++++++++++-- swagger/dpg-customization.json | 39 ++++++++++++++++++++++----- 2 files changed, 70 insertions(+), 9 deletions(-) diff --git a/src/test-routes/dpg/customization.ts b/src/test-routes/dpg/customization.ts index 38077c6f..fe02dc31 100644 --- a/src/test-routes/dpg/customization.ts +++ b/src/test-routes/dpg/customization.ts @@ -52,14 +52,50 @@ app.category("dpg", () => { app.put("/customization/lro/raw", "RawLRO", (req) => { return { + headers: { + "Operation-Location": req.baseUrl + "/customization/lro/raw/operationResults/1" + }, status: 200, - body: json({ provisioningState: "Succeeded", received: "raw" }), + body: json({ provisioningState: "Succeeded", received: "raw" }) }; }); - app.put("/customization/lro/model", "HandwrittenModelLRO", (req) => { + + app.get("/customization/lro/raw/operationResults/1", "GetRawLROResult", (req) => { + return { + status: 202, + body: json({ status : "Succeeded" }) + }; + }); + + app.get("/customization/lro/raw", "GetRawLROFinalResult", (req) => { return { + status: 202, + body: json({ provisioningState : "Succeeded", received: "raw final result" }) + }; + }); + + app.put("/customization/lro/model", "ModelLRO", (req) => { + return { + headers: { + "Operation-Location": req.baseUrl + "/customization/lro/model/operationResults/1" + }, status: 200, body: json({ provisioningState: "Succeeded", received: "model" }), }; }); + + app.get("/customization/lro/model/operationResults/1", "ModelLROResult", (req) => { + return { + status: 202, + body: json({ status : "Succeeded" }) + }; + }); + + app.get("/customization/lro/model", "GetModelLROFinalResult", (req) => { + return { + status: 202, + body: json({ provisioningState: "Succeeded", received: "model" }), + }; + }); + }); diff --git a/swagger/dpg-customization.json b/swagger/dpg-customization.json index 70fea118..c16b5ef8 100644 --- a/swagger/dpg-customization.json +++ b/swagger/dpg-customization.json @@ -6,8 +6,12 @@ "description": "DPG Swagger that tests our ability to grow up." }, "host": "localhost:3000", - "schemes": ["http"], - "produces": ["application/json"], + "schemes": [ + "http" + ], + "produces": [ + "application/json" + ], "paths": { "/customization/model/{mode}": { "get": { @@ -93,6 +97,18 @@ "schema": { "$ref": "#/definitions/LROProduct" } + }, + "202": { + "description": "Async operation to update products was accpeted.", + "headers": { + "Operation-Location": { + "description": "Location to poll for final status: will be set to /customization/lro/{mode}/202", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/LROProduct" + } } } } @@ -126,17 +142,24 @@ }, "Product": { "type": "object", - "required": ["received"], + "required": [ + "received" + ], "properties": { "received": { "type": "string", - "enum": ["raw", "model"] + "enum": [ + "raw", + "model" + ] } } }, "Input": { "type": "object", - "required": ["hello"], + "required": [ + "hello" + ], "properties": { "hello": { "type": "string" @@ -145,7 +168,9 @@ }, "LROProduct": { "type": "object", - "required": ["provisioningState"], + "required": [ + "provisioningState" + ], "allOf": [ { "$ref": "#/definitions/Product" @@ -158,4 +183,4 @@ } } } -} +} \ No newline at end of file From 6c99b75d19db982efefc25f1d2f3bf444f34a0ca Mon Sep 17 00:00:00 2001 From: Haoling Dong Date: Fri, 18 Mar 2022 09:17:28 +0800 Subject: [PATCH 2/2] Update LRO related test case --- swagger/dpg-customization.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swagger/dpg-customization.json b/swagger/dpg-customization.json index c16b5ef8..65b4f010 100644 --- a/swagger/dpg-customization.json +++ b/swagger/dpg-customization.json @@ -102,7 +102,7 @@ "description": "Async operation to update products was accpeted.", "headers": { "Operation-Location": { - "description": "Location to poll for final status: will be set to /customization/lro/{mode}/202", + "description": "Location to poll for final status: will be set to /customization/lro/{mode}/operationResults/1", "type": "string" } },