mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-07-02 02:51:40 +02:00
Support string-based url.path in Postman importer. (#490)
This commit is contained in:
@@ -180,8 +180,12 @@ function convertUrl(rawUrl: unknown): Pick<HttpRequest, "url" | "urlParameters">
|
||||
v += `:${url.port}`;
|
||||
}
|
||||
|
||||
if ("path" in url && Array.isArray(url.path) && url.path.length > 0) {
|
||||
v += `/${Array.isArray(url.path) ? url.path.join("/") : url.path}`;
|
||||
if ("path" in url) {
|
||||
if (Array.isArray(url.path) && url.path.length > 0) {
|
||||
v += `/${url.path.join("/")}`;
|
||||
} else if (typeof url.path === "string" && url.path.length > 0) {
|
||||
v += `/${url.path.replace(/^\//, "")}`;
|
||||
}
|
||||
}
|
||||
|
||||
const params: HttpUrlParameter[] = [];
|
||||
|
||||
@@ -57,4 +57,34 @@ describe("importer-postman", () => {
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
test("Imports url.path when it is a string instead of an array", () => {
|
||||
const result = convertPostman(
|
||||
JSON.stringify({
|
||||
info: {
|
||||
name: "String Path Test",
|
||||
schema: "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
|
||||
},
|
||||
item: [
|
||||
{
|
||||
name: "String Path",
|
||||
request: {
|
||||
method: "GET",
|
||||
url: {
|
||||
host: ["example", "com"],
|
||||
path: "foo/bar",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}),
|
||||
);
|
||||
|
||||
expect(result?.resources.httpRequests).toEqual([
|
||||
expect.objectContaining({
|
||||
name: "String Path",
|
||||
url: "example.com/foo/bar",
|
||||
}),
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user