From 82813882909f4714c3ad2f59d742346012ae750f Mon Sep 17 00:00:00 2001
From: Naz
Date: Tue, 16 Nov 2021 15:18:58 +0400
Subject: [PATCH] Hardcoded ids in the data generator
refs https://github.com/TryGhost/Toolbox/issues/116
- Allows to have deterministic routing on each start of the instance - can use cache when starting tests
- To make use of the new fixtures need to place them in the content/data
folder when the test suite is initialized, then the cache detection will
kick in and boot up the UrlService in a constant time intead of having
to check "urlServiceUtils.isFinished"
---
test/utils/fixtures/data-generator.js | 42 +-
test/utils/fixtures/urls/resources.json | 951 ++++++++++++++++++++++++
test/utils/fixtures/urls/urls.json | 944 +++++++++++++++++++++++
3 files changed, 1916 insertions(+), 21 deletions(-)
create mode 100644 test/utils/fixtures/urls/resources.json
create mode 100644 test/utils/fixtures/urls/urls.json
diff --git a/test/utils/fixtures/data-generator.js b/test/utils/fixtures/data-generator.js
index cded9547f5..58e0a16c1a 100644
--- a/test/utils/fixtures/data-generator.js
+++ b/test/utils/fixtures/data-generator.js
@@ -24,7 +24,7 @@ DataGenerator.markdownToMobiledoc = function markdownToMobiledoc(content) {
DataGenerator.Content = {
posts: [
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6df',
title: 'HTML Ipsum',
slug: 'html-ipsum',
mobiledoc: DataGenerator.markdownToMobiledoc('HTML Ipsum Presents Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae
, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
Header Level 2 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam tincidunt mauris eu risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.
Header Level 3 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam tincidunt mauris eu risus. #header h1 a{display: block;width: 300px;height: 80px;}
'),
@@ -33,7 +33,7 @@ DataGenerator.Content = {
feature_image: 'https://example.com/super_photo.jpg'
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6e1',
title: 'Ghostly Kitchen Sink',
slug: 'ghostly-kitchen-sink',
mobiledoc: DataGenerator.markdownToMobiledoc('HTML Ipsum Presents Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae
, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
Header Level 2 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam tincidunt mauris eu risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.
Header Level 3 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam tincidunt mauris eu risus. #header h1 a{display: block;width: 300px;height: 80px;}
'),
@@ -41,7 +41,7 @@ DataGenerator.Content = {
feature_image: '__GHOST_URL__/content/images/2018/hey.jpg'
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6e3',
title: 'Short and Sweet',
slug: 'short-and-sweet',
mobiledoc: DataGenerator.markdownToMobiledoc('## testing\n\nmctesters\n\n- test\n- line\n- items'),
@@ -53,7 +53,7 @@ DataGenerator.Content = {
uuid: '2ac6b4f6-e1f3-406c-9247-c94a0496d39d'
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6e5',
title: 'Not finished yet',
slug: 'unfinished',
mobiledoc: DataGenerator.markdownToMobiledoc('HTML Ipsum Presents Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae
, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
Header Level 2 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam tincidunt mauris eu risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.
Header Level 3 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam tincidunt mauris eu risus. #header h1 a{display: block;width: 300px;height: 80px;}
'),
@@ -61,21 +61,21 @@ DataGenerator.Content = {
uuid: 'd52c42ae-2755-455c-80ec-70b2ec55c903'
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6e7',
title: 'Not so short, bit complex',
slug: 'not-so-short-bit-complex',
mobiledoc: DataGenerator.markdownToMobiledoc('
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
Definition list Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus. Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi. Pellentesque fermentum dolor. Aliquam quam lectus, facilisis auctor, ultrices ut, elementum vulputate, nunc.
'),
featured: true
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6e9',
title: 'This is a static page',
slug: 'static-page-test',
mobiledoc: DataGenerator.markdownToMobiledoc('Static page test is what this is for. Hopefully you don\'t find it a bore.
'),
type: 'page'
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6eb',
title: 'This is a draft static page',
slug: 'static-page-draft',
mobiledoc: DataGenerator.markdownToMobiledoc('Static page test is what this is for. Hopefully you don\'t find it a bore.
'),
@@ -83,7 +83,7 @@ DataGenerator.Content = {
status: 'draft'
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1ffbe2896088840a6ed',
title: 'This is a scheduled post!!',
slug: 'scheduled-post',
mobiledoc: DataGenerator.markdownToMobiledoc('Welcome to my invisible post! '),
@@ -94,28 +94,28 @@ DataGenerator.Content = {
tags: [
{
- id: ObjectId().toHexString(),
+ id: '618ba1febe2896088840a6db',
name: 'kitchen sink',
slug: 'kitchen-sink',
feature_image: 'https://example.com/super_photo.jpg'
},
{
- id: ObjectId().toHexString(),
+ id: '9451f5fca366002ebd5dbea6',
name: 'bacon',
slug: 'bacon'
},
{
- id: ObjectId().toHexString(),
+ id: '618ba1fdbe2896088840a675',
name: 'chorizo',
slug: 'chorizo'
},
{
- id: ObjectId().toHexString(),
+ id: '6193c6d5e792de832cd08148',
name: 'pollo',
slug: 'pollo'
},
{
- id: ObjectId().toHexString(),
+ id: '6193c6dfe792de832cd08149',
name: 'injection',
slug: 'injection'
}
@@ -134,7 +134,7 @@ DataGenerator.Content = {
},
{
// admin
- id: ObjectId().toHexString(),
+ id: '6193c65ee792de832cd08130',
name: 'Smith Wellingsworth',
slug: 'smith-wellingsworth',
email: 'swellingsworth@example.com',
@@ -142,7 +142,7 @@ DataGenerator.Content = {
},
{
// editor
- id: ObjectId().toHexString(),
+ id: '6193c672e792de832cd0813c',
name: 'Jimothy Bogendath',
slug: 'jimothy-bogendath',
email: 'jbOgendAth@example.com',
@@ -150,7 +150,7 @@ DataGenerator.Content = {
},
{
// author
- id: ObjectId().toHexString(),
+ id: '6193c685e792de832cd08141',
name: 'Slimer McEctoplasm',
slug: 'slimer-mcectoplasm',
email: 'smcectoplasm@example.com',
@@ -158,7 +158,7 @@ DataGenerator.Content = {
},
{
// editor 2
- id: ObjectId().toHexString(),
+ id: '6193c693e792de832cd08142',
name: 'Ivan Email',
slug: 'ivan-email',
email: 'info1@ghost.org',
@@ -166,7 +166,7 @@ DataGenerator.Content = {
},
{
// author 2
- id: ObjectId().toHexString(),
+ id: '6193c6a1e792de832cd08143',
name: 'Author2',
slug: 'a-2',
email: 'info2@ghost.org',
@@ -174,7 +174,7 @@ DataGenerator.Content = {
},
{
// admin 2
- id: ObjectId().toHexString(),
+ id: '6193c6abe792de832cd08144',
name: 'admin2',
slug: 'ad-2',
email: 'info3@ghost.org',
@@ -182,7 +182,7 @@ DataGenerator.Content = {
},
{
// contributor
- id: ObjectId().toHexString(),
+ id: '6193c6bae792de832cd08146',
name: 'Contributor',
slug: 'contributor',
email: 'contributor@ghost.org',
@@ -190,7 +190,7 @@ DataGenerator.Content = {
},
{
// contributor
- id: ObjectId().toHexString(),
+ id: '6193c6c5e792de832cd08147',
name: 'contributor2',
slug: 'contrib-2',
email: 'contributor2@ghost.org',
diff --git a/test/utils/fixtures/urls/resources.json b/test/utils/fixtures/urls/resources.json
new file mode 100644
index 0000000000..74332d140a
--- /dev/null
+++ b/test/utils/fixtures/urls/resources.json
@@ -0,0 +1,951 @@
+{
+ "posts": [
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240e9",
+ "uuid": "fb29ca8e-2117-42c4-8e82-ade74ce10838",
+ "slug": "integrations",
+ "comment_id": "6193c8c8dad8638c44d240e9",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/app-integrations.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:44.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240eb",
+ "uuid": "9ed27d47-3e9f-45aa-856e-e6b03e9a0d07",
+ "slug": "grow",
+ "comment_id": "6193c8c8dad8638c44d240eb",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/admin-settings.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:45.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240ed",
+ "uuid": "55d8e46a-7d97-4b65-a277-f35cefa23526",
+ "slug": "sell",
+ "comment_id": "6193c8c8dad8638c44d240ed",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/organizing-your-content.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "paid",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:46.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240ef",
+ "uuid": "92647a43-3592-4fb3-b050-4b7d4dda8c65",
+ "slug": "portal",
+ "comment_id": "6193c8c8dad8638c44d240ef",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/creating-a-custom-theme.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:47.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f1",
+ "uuid": "77a69947-f8bc-4acd-9a30-be82ae951777",
+ "slug": "write",
+ "comment_id": "6193c8c8dad8638c44d240f1",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/writing-posts-with-ghost.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:48.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f3",
+ "uuid": "e213729a-168a-4bda-89c9-442ff329158f",
+ "slug": "design",
+ "comment_id": "6193c8c8dad8638c44d240f3",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/publishing-options.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:49.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f5",
+ "uuid": "55b39b0a-3c34-443f-8ab4-c3a1656d0f12",
+ "slug": "welcome",
+ "comment_id": "6193c8c8dad8638c44d240f5",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/welcome-to-ghost.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:50.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6df",
+ "uuid": "90082056-1e6b-444e-92cb-993a25c2d465",
+ "slug": "html-ipsum",
+ "comment_id": "618ba1ffbe2896088840a6df",
+ "feature_image": "https://example.com/super_photo.jpg",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2015-01-01T00:00:00.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ },
+ {
+ "id": "9451f5fca366002ebd5dbea6",
+ "slug": "bacon"
+ }
+ ],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6e1",
+ "uuid": "85901f9f-e1e5-4f42-b1ea-99c9ea02fcd6",
+ "slug": "ghostly-kitchen-sink",
+ "comment_id": "618ba1ffbe2896088840a6e1",
+ "feature_image": "http://127.0.0.1:2369/content/images/2018/hey.jpg",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2015-01-02T00:00:00.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ },
+ {
+ "id": "9451f5fca366002ebd5dbea6",
+ "slug": "bacon"
+ }
+ ],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6e3",
+ "uuid": "2ac6b4f6-e1f3-406c-9247-c94a0496d39d",
+ "slug": "short-and-sweet",
+ "comment_id": "618ba1ffbe2896088840a6e3",
+ "feature_image": "http://placekitten.com/500/200",
+ "featured": true,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2015-01-03T00:00:00.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "id": "618ba1fdbe2896088840a675",
+ "slug": "chorizo"
+ }
+ ],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": {
+ "id": "618ba1fdbe2896088840a675",
+ "slug": "chorizo"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6e7",
+ "uuid": "a3d58f61-4094-4705-bb3d-98bed19b009b",
+ "slug": "not-so-short-bit-complex",
+ "comment_id": "618ba1ffbe2896088840a6e7",
+ "feature_image": null,
+ "featured": true,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:40.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ ],
+ "pages": [
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f7",
+ "uuid": "21716275-122c-41ad-877e-1cdc9b3dc6c6",
+ "slug": "about",
+ "comment_id": "6193c8c8dad8638c44d240f7",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:51.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f9",
+ "uuid": "ac8ec12f-9c3c-437c-ab7b-0b7a77796e13",
+ "slug": "contact",
+ "comment_id": "6193c8c8dad8638c44d240f9",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:52.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240fb",
+ "uuid": "2eb335fc-5e2f-4693-9aeb-6714aff316d7",
+ "slug": "privacy",
+ "comment_id": "6193c8c8dad8638c44d240fb",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:53.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240fd",
+ "uuid": "529281c1-b294-4efd-8589-ef2919116b43",
+ "slug": "contribute",
+ "comment_id": "6193c8c8dad8638c44d240fd",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:54.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8cddad8638c44d24286",
+ "uuid": "166283c2-255a-4452-b2fe-ed3078b3b0f1",
+ "comment_id": "6193c8cddad8638c44d24286",
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:49.000Z",
+ "updated_at": "2021-11-16T15:05:49.000Z",
+ "published_at": "2021-11-16T15:05:49.000Z",
+ "published_by": "1",
+ "slug": "my-page",
+ "created_by": "1",
+ "updated_by": "1",
+ "feature_image": null,
+ "canonical_url": null,
+ "posts_meta": {
+ "id": "6193c8cddad8638c44d24289",
+ "post_id": "6193c8cddad8638c44d24286",
+ "feature_image_alt": "Testing feature image alt",
+ "feature_image_caption": "Testing feature image caption ",
+ "email_only": false,
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "meta_title": null,
+ "meta_description": null,
+ "email_subject": null,
+ "frontmatter": null
+ },
+ "author": "1"
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ }
+ ],
+ "tags": [
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c7dad8638c44d24083",
+ "name": "Getting Started",
+ "slug": "getting-started",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:43.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:43.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "9451f5fca366002ebd5dbea6",
+ "name": "bacon",
+ "slug": "bacon",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 0,
+ "data": {
+ "id": "9451f5fca366002ebd5dbea6",
+ "name": "bacon",
+ "slug": "bacon",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": false
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1febe2896088840a6db",
+ "name": "kitchen sink",
+ "slug": "kitchen-sink",
+ "feature_image": "https://example.com/super_photo.jpg",
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 0,
+ "data": {
+ "id": "618ba1febe2896088840a6db",
+ "name": "kitchen sink",
+ "slug": "kitchen-sink",
+ "feature_image": "https://example.com/super_photo.jpg",
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": false
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1fdbe2896088840a675",
+ "name": "chorizo",
+ "slug": "chorizo",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 0,
+ "data": {
+ "id": "618ba1fdbe2896088840a675",
+ "name": "chorizo",
+ "slug": "chorizo",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": false
+ }
+ }
+ ],
+ "authors": [
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "5951f5fca366002ebd5dbef7",
+ "name": "Ghost",
+ "slug": "ghost",
+ "email": "ghost-author@example.com",
+ "profile_image": "https://static.ghost.org/v4.0.0/images/ghost-user.png",
+ "cover_image": null,
+ "status": "active",
+ "visibility": "public",
+ "last_seen": null,
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "authors",
+ "reserved": true
+ }
+ },
+ {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "1",
+ "name": "Joe Bloggs",
+ "slug": "joe-bloggs",
+ "email": "jbloggs@example.com",
+ "profile_image": "https://example.com/super_photo.jpg",
+ "cover_image": null,
+ "status": "active",
+ "visibility": "public",
+ "last_seen": "2021-11-16T15:05:49.000Z",
+ "created_at": "2021-11-16T15:05:47.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:49.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "authors",
+ "reserved": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/utils/fixtures/urls/urls.json b/test/utils/fixtures/urls/urls.json
new file mode 100644
index 0000000000..4035ec3c30
--- /dev/null
+++ b/test/utils/fixtures/urls/urls.json
@@ -0,0 +1,944 @@
+{
+ "1": {
+ "url": "/author/joe-bloggs/",
+ "generatorId": 3,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "1",
+ "name": "Joe Bloggs",
+ "slug": "joe-bloggs",
+ "email": "jbloggs@example.com",
+ "profile_image": "https://example.com/super_photo.jpg",
+ "cover_image": null,
+ "status": "active",
+ "visibility": "public",
+ "last_seen": "2021-11-16T15:05:49.000Z",
+ "created_at": "2021-11-16T15:05:47.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:49.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "authors",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240e9": {
+ "url": "/integrations/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240e9",
+ "uuid": "fb29ca8e-2117-42c4-8e82-ade74ce10838",
+ "slug": "integrations",
+ "comment_id": "6193c8c8dad8638c44d240e9",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/app-integrations.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:44.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240e9",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240eb": {
+ "url": "/grow/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240eb",
+ "uuid": "9ed27d47-3e9f-45aa-856e-e6b03e9a0d07",
+ "slug": "grow",
+ "comment_id": "6193c8c8dad8638c44d240eb",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/admin-settings.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:45.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240eb",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240ed": {
+ "url": "/sell/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240ed",
+ "uuid": "55d8e46a-7d97-4b65-a277-f35cefa23526",
+ "slug": "sell",
+ "comment_id": "6193c8c8dad8638c44d240ed",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/organizing-your-content.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "paid",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:46.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240ed",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240ef": {
+ "url": "/portal/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240ef",
+ "uuid": "92647a43-3592-4fb3-b050-4b7d4dda8c65",
+ "slug": "portal",
+ "comment_id": "6193c8c8dad8638c44d240ef",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/creating-a-custom-theme.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:47.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240ef",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240f1": {
+ "url": "/write/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f1",
+ "uuid": "77a69947-f8bc-4acd-9a30-be82ae951777",
+ "slug": "write",
+ "comment_id": "6193c8c8dad8638c44d240f1",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/writing-posts-with-ghost.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:48.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240f1",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240f3": {
+ "url": "/design/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f3",
+ "uuid": "e213729a-168a-4bda-89c9-442ff329158f",
+ "slug": "design",
+ "comment_id": "6193c8c8dad8638c44d240f3",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/publishing-options.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:49.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240f3",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240f5": {
+ "url": "/welcome/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f5",
+ "uuid": "55b39b0a-3c34-443f-8ab4-c3a1656d0f12",
+ "slug": "welcome",
+ "comment_id": "6193c8c8dad8638c44d240f5",
+ "feature_image": "https://static.ghost.org/v4.0.0/images/welcome-to-ghost.png",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:50.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ ],
+ "authors": [
+ {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ }
+ ],
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "id": "5951f5fca366002ebd5dbef7",
+ "slug": "ghost"
+ },
+ "primary_tag": {
+ "post_id": "6193c8c8dad8638c44d240f5",
+ "visibility": "public",
+ "id": "6193c8c7dad8638c44d24083",
+ "slug": "getting-started"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240f7": {
+ "url": "/about/",
+ "generatorId": 1,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f7",
+ "uuid": "21716275-122c-41ad-877e-1cdc9b3dc6c6",
+ "slug": "about",
+ "comment_id": "6193c8c8dad8638c44d240f7",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:51.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240f9": {
+ "url": "/contact/",
+ "generatorId": 1,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240f9",
+ "uuid": "ac8ec12f-9c3c-437c-ab7b-0b7a77796e13",
+ "slug": "contact",
+ "comment_id": "6193c8c8dad8638c44d240f9",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:52.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240fb": {
+ "url": "/privacy/",
+ "generatorId": 1,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240fb",
+ "uuid": "2eb335fc-5e2f-4693-9aeb-6714aff316d7",
+ "slug": "privacy",
+ "comment_id": "6193c8c8dad8638c44d240fb",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:53.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c8dad8638c44d240fd": {
+ "url": "/contribute/",
+ "generatorId": 1,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c8dad8638c44d240fd",
+ "uuid": "529281c1-b294-4efd-8589-ef2919116b43",
+ "slug": "contribute",
+ "comment_id": "6193c8c8dad8638c44d240fd",
+ "feature_image": null,
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:54.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "author": "5951f5fca366002ebd5dbef7",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8c7dad8638c44d24083": {
+ "url": "/tag/getting-started/",
+ "generatorId": 2,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8c7dad8638c44d24083",
+ "name": "Getting Started",
+ "slug": "getting-started",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:43.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:43.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ }
+ },
+ "5951f5fca366002ebd5dbef7": {
+ "url": "/author/ghost/",
+ "generatorId": 3,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "5951f5fca366002ebd5dbef7",
+ "name": "Ghost",
+ "slug": "ghost",
+ "email": "ghost-author@example.com",
+ "profile_image": "https://static.ghost.org/v4.0.0/images/ghost-user.png",
+ "cover_image": null,
+ "status": "active",
+ "visibility": "public",
+ "last_seen": null,
+ "created_at": "2021-11-16T15:05:44.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:44.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "authors",
+ "reserved": true
+ }
+ }
+ },
+ "618ba1ffbe2896088840a6df": {
+ "url": "/html-ipsum/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6df",
+ "uuid": "90082056-1e6b-444e-92cb-993a25c2d465",
+ "slug": "html-ipsum",
+ "comment_id": "618ba1ffbe2896088840a6df",
+ "feature_image": "https://example.com/super_photo.jpg",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2015-01-01T00:00:00.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ },
+ {
+ "id": "9451f5fca366002ebd5dbea6",
+ "slug": "bacon"
+ }
+ ],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "618ba1ffbe2896088840a6e1": {
+ "url": "/ghostly-kitchen-sink/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6e1",
+ "uuid": "85901f9f-e1e5-4f42-b1ea-99c9ea02fcd6",
+ "slug": "ghostly-kitchen-sink",
+ "comment_id": "618ba1ffbe2896088840a6e1",
+ "feature_image": "http://127.0.0.1:2369/content/images/2018/hey.jpg",
+ "featured": false,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2015-01-02T00:00:00.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ },
+ {
+ "id": "9451f5fca366002ebd5dbea6",
+ "slug": "bacon"
+ }
+ ],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": {
+ "id": "618ba1febe2896088840a6db",
+ "slug": "kitchen-sink"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "618ba1febe2896088840a6db": {
+ "url": "/tag/kitchen-sink/",
+ "generatorId": 2,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1febe2896088840a6db",
+ "name": "kitchen sink",
+ "slug": "kitchen-sink",
+ "feature_image": "https://example.com/super_photo.jpg",
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ }
+ },
+ "9451f5fca366002ebd5dbea6": {
+ "url": "/tag/bacon/",
+ "generatorId": 2,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "9451f5fca366002ebd5dbea6",
+ "name": "bacon",
+ "slug": "bacon",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ }
+ },
+ "618ba1ffbe2896088840a6e3": {
+ "url": "/short-and-sweet/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6e3",
+ "uuid": "2ac6b4f6-e1f3-406c-9247-c94a0496d39d",
+ "slug": "short-and-sweet",
+ "comment_id": "618ba1ffbe2896088840a6e3",
+ "feature_image": "http://placekitten.com/500/200",
+ "featured": true,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2015-01-03T00:00:00.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [
+ {
+ "id": "618ba1fdbe2896088840a675",
+ "slug": "chorizo"
+ }
+ ],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": {
+ "id": "618ba1fdbe2896088840a675",
+ "slug": "chorizo"
+ }
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "618ba1fdbe2896088840a675": {
+ "url": "/tag/chorizo/",
+ "generatorId": 2,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1fdbe2896088840a675",
+ "name": "chorizo",
+ "slug": "chorizo",
+ "feature_image": null,
+ "visibility": "public",
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "codeinjection_head": null,
+ "codeinjection_foot": null,
+ "canonical_url": null,
+ "accent_color": null,
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1"
+ },
+ "config": {
+ "type": "tags",
+ "reserved": true
+ }
+ }
+ },
+ "618ba1ffbe2896088840a6e7": {
+ "url": "/not-so-short-bit-complex/",
+ "generatorId": 0,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "618ba1ffbe2896088840a6e7",
+ "uuid": "a3d58f61-4094-4705-bb3d-98bed19b009b",
+ "slug": "not-so-short-bit-complex",
+ "comment_id": "618ba1ffbe2896088840a6e7",
+ "feature_image": null,
+ "featured": true,
+ "type": "post",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:40.000Z",
+ "created_by": "1",
+ "updated_at": "2021-11-16T15:05:40.000Z",
+ "updated_by": "1",
+ "published_at": "2021-11-16T15:05:40.000Z",
+ "published_by": "1",
+ "canonical_url": null,
+ "tags": [],
+ "posts_meta": {},
+ "author": "1",
+ "primary_author": null,
+ "primary_tag": null
+ },
+ "config": {
+ "type": "posts",
+ "reserved": true
+ }
+ }
+ },
+ "6193c8cddad8638c44d24286": {
+ "url": "/my-page/",
+ "generatorId": 1,
+ "resource": {
+ "_events": {},
+ "_eventsCount": 2,
+ "data": {
+ "id": "6193c8cddad8638c44d24286",
+ "uuid": "166283c2-255a-4452-b2fe-ed3078b3b0f1",
+ "comment_id": "6193c8cddad8638c44d24286",
+ "featured": false,
+ "type": "page",
+ "status": "published",
+ "visibility": "public",
+ "email_recipient_filter": "none",
+ "created_at": "2021-11-16T15:05:49.000Z",
+ "updated_at": "2021-11-16T15:05:49.000Z",
+ "published_at": "2021-11-16T15:05:49.000Z",
+ "published_by": "1",
+ "slug": "my-page",
+ "created_by": "1",
+ "updated_by": "1",
+ "feature_image": null,
+ "canonical_url": null,
+ "posts_meta": {
+ "id": "6193c8cddad8638c44d24289",
+ "post_id": "6193c8cddad8638c44d24286",
+ "feature_image_alt": "Testing feature image alt",
+ "feature_image_caption": "Testing feature image caption ",
+ "email_only": false,
+ "og_image": null,
+ "og_title": null,
+ "og_description": null,
+ "twitter_image": null,
+ "twitter_title": null,
+ "twitter_description": null,
+ "meta_title": null,
+ "meta_description": null,
+ "email_subject": null,
+ "frontmatter": null
+ },
+ "author": "1"
+ },
+ "config": {
+ "type": "pages",
+ "reserved": true
+ }
+ }
+ }
+}