mirror of
https://github.com/Kong/insomnia.git
synced 2026-10-27 00:59:18 -04:00
test: Add tests for export requests functions
This commit is contained in:
1 parent
63150be087
commit
10265edd02
1 file changed
+67
-17
@@ -52,10 +52,11 @@ describe('exportWorkspacesHAR()', () => {
|
||||
});
|
||||
|
||||
const includePrivateDocs = true;
|
||||
const json = await importUtil.exportWorkspacesHAR(wrk1, includePrivateDocs);
|
||||
const data = JSON.parse(json);
|
||||
|
||||
expect(data).toMatchObject({
|
||||
// Test export whole workspace.
|
||||
const exportWorkspacesJson = await importUtil.exportWorkspacesHAR(wrk1, includePrivateDocs);
|
||||
const exportWorkspacesData = JSON.parse(exportWorkspacesJson);
|
||||
expect(exportWorkspacesData).toMatchObject({
|
||||
log: {
|
||||
entries: [
|
||||
{
|
||||
@@ -70,7 +71,24 @@ describe('exportWorkspacesHAR()', () => {
|
||||
],
|
||||
},
|
||||
});
|
||||
expect(data.log.entries.length).toBe(2);
|
||||
expect(exportWorkspacesData.log.entries.length).toBe(2);
|
||||
|
||||
// Test export some requests only.
|
||||
const exportRequestsJson = await importUtil.exportRequestsHAR([req1], includePrivateDocs);
|
||||
const exportRequestsData = JSON.parse(exportRequestsJson);
|
||||
expect(exportRequestsData).toMatchObject({
|
||||
log: {
|
||||
entries: [
|
||||
{
|
||||
request: {
|
||||
headers: [{ name: 'X-Environment', value: 'private1' }],
|
||||
},
|
||||
comment: req1.name,
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
expect(exportRequestsData.log.entries.length).toBe(1);
|
||||
});
|
||||
it('exports all workspaces as an HTTP Archive', async () => {
|
||||
const wrk1 = await models.workspace.create({
|
||||
@@ -162,9 +180,17 @@ describe('exportWorkspacesJSON()', () => {
|
||||
const w = await models.workspace.create({ name: 'Workspace' });
|
||||
const jar = await models.cookieJar.getOrCreateForParentId(w._id);
|
||||
const r1 = await models.request.create({
|
||||
name: 'Request',
|
||||
name: 'Request 1',
|
||||
parentId: w._id,
|
||||
});
|
||||
const f2 = await models.requestGroup.create({
|
||||
name: 'Folder 2',
|
||||
parentId: w._id,
|
||||
});
|
||||
const r2 = await models.request.create({
|
||||
name: 'Request 2',
|
||||
parentId: f2._id,
|
||||
});
|
||||
const eBase = await models.environment.getOrCreateForWorkspace(w);
|
||||
const ePub = await models.environment.create({
|
||||
name: 'Public',
|
||||
@@ -176,18 +202,42 @@ describe('exportWorkspacesJSON()', () => {
|
||||
parentId: eBase._id,
|
||||
});
|
||||
|
||||
const json = await importUtil.exportWorkspacesJSON();
|
||||
const data = JSON.parse(json);
|
||||
// Test export whole workspace.
|
||||
const exportedWorkspacesJson = await importUtil.exportWorkspacesJSON();
|
||||
const exportWorkspacesData = JSON.parse(exportedWorkspacesJson);
|
||||
expect(exportWorkspacesData).toMatchObject({
|
||||
_type: 'export',
|
||||
__export_format: 3,
|
||||
__export_date: expect.stringMatching(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/),
|
||||
__export_source: `insomnia.desktop.app:v${getAppVersion()}`,
|
||||
resources: expect.arrayContaining([
|
||||
expect.objectContaining({ _id: w._id }),
|
||||
expect.objectContaining({ _id: eBase._id }),
|
||||
expect.objectContaining({ _id: jar._id }),
|
||||
expect.objectContaining({ _id: r1._id }),
|
||||
expect.objectContaining({ _id: f2._id }),
|
||||
expect.objectContaining({ _id: r2._id }),
|
||||
expect.objectContaining({ _id: ePub._id }),
|
||||
]),
|
||||
});
|
||||
expect(exportWorkspacesData.resources.length).toBe(7);
|
||||
|
||||
expect(data._type).toBe('export');
|
||||
expect(data.__export_format).toBe(3);
|
||||
expect(data.__export_date).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/);
|
||||
expect(data.__export_source).toBe(`insomnia.desktop.app:v${getAppVersion()}`);
|
||||
expect(data.resources[0]._id).toBe(w._id);
|
||||
expect(data.resources[1]._id).toBe(eBase._id);
|
||||
expect(data.resources[2]._id).toBe(jar._id);
|
||||
expect(data.resources[3]._id).toBe(r1._id);
|
||||
expect(data.resources[4]._id).toBe(ePub._id);
|
||||
expect(data.resources.length).toBe(5);
|
||||
// Test export some requests only.
|
||||
const exportRequestsJson = await importUtil.exportRequestsJSON([r1]);
|
||||
const exportRequestsData = JSON.parse(exportRequestsJson);
|
||||
expect(exportRequestsData).toMatchObject({
|
||||
_type: 'export',
|
||||
__export_format: 3,
|
||||
__export_date: expect.stringMatching(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/),
|
||||
__export_source: `insomnia.desktop.app:v${getAppVersion()}`,
|
||||
resources: expect.arrayContaining([
|
||||
expect.objectContaining({ _id: w._id }),
|
||||
expect.objectContaining({ _id: eBase._id }),
|
||||
expect.objectContaining({ _id: jar._id }),
|
||||
expect.objectContaining({ _id: r1._id }),
|
||||
expect.objectContaining({ _id: ePub._id }),
|
||||
]),
|
||||
});
|
||||
expect(exportRequestsData.resources.length).toBe(5);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user