diff --git a/docusaurus.config.js b/docusaurus.config.js index 1efe37351..6c416806e 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -365,11 +365,13 @@ module.exports = { label: "1.0.0", path: "1.0.0", banner: "unmaintained", + noIndex: true, }, "2.0.0": { label: "2.0.0", path: "2.0.0", banner: "unmaintained", + noIndex: true, }, }, onlyIncludeVersions: ["1.0.0", "2.0.0", "4.0.0"], @@ -464,6 +466,27 @@ module.exports = { // 0.5 → /docs/concepts/reference/glossary/* (long-tail // glossary; noindexed legacy versions excluded via // netlify headers + robots.txt) + // + // Also exclude auto-generated tag indexes and the unmaintained + // 1.0.0 / 2.0.0 doc versions from the sitemap. Those versions + // additionally carry `noIndex: true` via their `versions` config + // above; excluding from the sitemap signals that they should not + // be ranked at all. + // + // Docusaurus matches `ignorePatterns` against the full route path + // including `baseUrl` (`/docs/`), so the patterns must carry that + // prefix — bare `/tags/**` and `/1.0.0/**` would never match the + // emitted `/docs/tags/...` and `/docs/1.0.0/...` routes. Bare + // patterns are kept as defence-in-depth in case `baseUrl` is ever + // flattened to `/`. + ignorePatterns: [ + "/docs/tags/**", + "/docs/1.0.0/**", + "/docs/2.0.0/**", + "/tags/**", + "/1.0.0/**", + "/2.0.0/**", + ], createSitemapItems: async (params) => { const {defaultCreateSitemapItems, ...rest} = params; const items = await defaultCreateSitemapItems(rest); diff --git a/src/components/HowTo.js b/src/components/HowTo.js new file mode 100644 index 000000000..8f4408b09 --- /dev/null +++ b/src/components/HowTo.js @@ -0,0 +1,132 @@ +import React from "react"; +import Head from "@docusaurus/Head"; + +/** + * HowTo schema.org wrapper for Docusaurus MDX pages. + * + * Emits valid schema.org/HowTo JSON-LD into and (optionally) renders a + * matching numbered
    of visible steps. Authors can pass `visible={false}` + * when the prose below already renders the steps so the JSON-LD is the only + * change to the page. + * + * Required HowTo fields per Google: name, step (array of HowToStep with name + text). + * Optional: totalTime (ISO 8601 duration), estimatedCost (MonetaryAmount), tool, supply. + * + * Example: + * = 5.10"]} + * steps={[ + * {name: "Download", text: "Run: curl ...", url: "#download"}, + * {name: "Install", text: "Run: sudo install ...", url: "#install"}, + * ]} + * visible={false} + * /> + */ +export default function HowTo({ + name, + description, + totalTime, + estimatedCost, + tools, + supplies, + image, + steps, + visible = true, +}) { + if (!name || !Array.isArray(steps) || steps.length === 0) { + // Component is a no-op without the minimum required fields. + return null; + } + + // Filter to steps that carry both `name` and `text` per Google's HowTo + // requirements. Auto-generating "Step N" placeholders or emitting empty + // `text` produces low-quality structured data that the rich-results test + // flags. If the author gave us nothing usable, drop the schema entirely + // rather than ship a hollow HowTo. + const validSteps = steps.filter( + (s) => typeof s.name === "string" && s.name.trim() && + typeof s.text === "string" && s.text.trim(), + ); + if (validSteps.length === 0) { + return null; + } + + const schema = { + "@context": "https://schema.org", + "@type": "HowTo", + name, + step: validSteps.map((s, i) => { + const step = { + "@type": "HowToStep", + position: i + 1, + name: s.name, + text: s.text, + }; + if (s.url) step.url = s.url; + if (s.image) step.image = s.image; + return step; + }), + }; + + if (description) schema.description = description; + if (totalTime) schema.totalTime = totalTime; + if (image) schema.image = image; + if (estimatedCost && estimatedCost.value !== undefined) { + schema.estimatedCost = { + "@type": "MonetaryAmount", + currency: estimatedCost.currency || "USD", + value: String(estimatedCost.value), + }; + } + if (Array.isArray(tools) && tools.length > 0) { + schema.tool = tools.map((t) => + typeof t === "string" ? {"@type": "HowToTool", name: t} : t, + ); + } + if (Array.isArray(supplies) && supplies.length > 0) { + schema.supply = supplies.map((s) => + typeof s === "string" ? {"@type": "HowToSupply", name: s} : s, + ); + } + + return ( + <> + + + + {visible && ( +
    +

    {name}

    + {description &&

    {description}

    } +
      + {/* Don't derive an `id` from `s.url`. In docs usage `step.url` + often points at an existing heading anchor on the page (e.g. + `#capturing-testcases`), so reusing that as a list-item id + would produce duplicate ids in the DOM whenever `visible` + is enabled. The list is the readable view; `step.url` in + the JSON-LD already covers the schema linkage. */} + {validSteps.map((s, i) => ( +
    1. + {s.name} +
      {s.text}
      +
    2. + ))} +
    +
    + )} + + ); +} diff --git a/src/pages/about.js b/src/pages/about.js index 8de458613..456a25965 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -1,7 +1,46 @@ import React from "react"; import Layout from "@theme/Layout"; +import Head from "@docusaurus/Head"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; -import useBaseUrl from "@docusaurus/useBaseUrl"; + +// Custom React pages under src/pages/ are not covered by the docs schema +// plugin — add Article + BreadcrumbList JSON-LD inline so the page is +// machine-readable for search engines and AI crawlers. +// +// Site config sets `trailingSlash: true`, so canonical URLs in the JSON-LD +// must carry the trailing slash to match the actual emitted href and avoid +// duplicate URL variants in structured data. +const aboutStructuredData = [ + { + "@context": "https://schema.org", + "@type": "Article", + headline: "About the Keploy Documentation", + description: + "Information about Keploy's documentation, contribution guidelines, and licensing.", + url: "https://keploy.io/docs/about/", + publisher: { + "@type": "Organization", + name: "Keploy", + logo: { + "@type": "ImageObject", + url: "https://keploy.io/docs/img/favicon.png", + }, + }, + mainEntityOfPage: { + "@type": "WebPage", + "@id": "https://keploy.io/docs/about/", + }, + }, + { + "@context": "https://schema.org", + "@type": "BreadcrumbList", + itemListElement: [ + {"@type": "ListItem", position: 1, name: "Home", item: "https://keploy.io/"}, + {"@type": "ListItem", position: 2, name: "Docs", item: "https://keploy.io/docs/"}, + {"@type": "ListItem", position: 3, name: "About", item: "https://keploy.io/docs/about/"}, + ], + }, +]; function About() { const context = useDocusaurusContext(); @@ -12,6 +51,13 @@ function About() { permalink="/about" description="User General Information about Keploy's Documentation" > + + {aboutStructuredData.map((schema, i) => ( + + ))} +

    About the docs

    diff --git a/src/pages/concepts/reference/glossary.js b/src/pages/concepts/reference/glossary.js index f8333262d..d31c2c2f3 100644 --- a/src/pages/concepts/reference/glossary.js +++ b/src/pages/concepts/reference/glossary.js @@ -1,10 +1,65 @@ import React, {useState, useMemo} from "react"; import Layout from "@theme/Layout"; +import Head from "@docusaurus/Head"; import BackToTopButton from "@theme/BackToTopButton"; import {glossaryEntries} from "../../../../static/data/glossaryEntries"; import GlossaryCard from "../../../components/GlossaryCard"; +// SEO/GEO: turn each glossary entry into a DefinedTerm inside a single +// DefinedTermSet so AI engines can cite individual definitions and engines +// can surface them as featured-snippet definitions. Mirrors the pattern in +// landing/app/(default)/what-is-api-testing/layout.tsx. +// +// Site config sets `trailingSlash: true`, so every emitted URL must carry a +// trailing slash to match the canonical href. Otherwise Google treats the +// no-slash variant as a duplicate URL of the canonical one. +const allGlossaryItems = Object.values(glossaryEntries).flat(); +const SITE = "https://keploy.io"; +const GLOSSARY_PATH = "/docs/concepts/reference/glossary/"; +const GLOSSARY_URL = `${SITE}${GLOSSARY_PATH}`; +const TERMSET_ID = `${GLOSSARY_URL}#termset`; + +function withTrailingSlash(path) { + if (!path) return path; + return path.endsWith("/") ? path : `${path}/`; +} + +const glossaryStructuredData = [ + { + "@context": "https://schema.org", + "@type": "DefinedTermSet", + "@id": TERMSET_ID, + name: "Keploy Software Testing Glossary", + description: + "Definitions for software testing, test automation, and quality engineering terminology, maintained by the Keploy documentation team.", + url: GLOSSARY_URL, + // Defensive: an entry without a valid `link` (e.g. a typoed key like + // `ink:`) would emit `https://keploy.ioundefined` into the JSON-LD. + // Drop those entries here so structured data never carries a malformed + // URL even if `glossaryEntries` has gaps. + hasDefinedTerm: allGlossaryItems + .filter((entry) => typeof entry.link === "string" && entry.link.length > 0) + .map((entry) => ({ + "@type": "DefinedTerm", + name: entry.name, + description: entry.description, + url: `${SITE}${withTrailingSlash(entry.link)}`, + inDefinedTermSet: TERMSET_ID, + })), + }, + { + "@context": "https://schema.org", + "@type": "BreadcrumbList", + itemListElement: [ + {"@type": "ListItem", position: 1, name: "Home", item: `${SITE}/`}, + {"@type": "ListItem", position: 2, name: "Docs", item: `${SITE}/docs/`}, + {"@type": "ListItem", position: 3, name: "Concepts", item: `${SITE}/docs/concepts/`}, + {"@type": "ListItem", position: 4, name: "Glossary", item: GLOSSARY_URL}, + ], + }, +]; + function Glossary() { const [selectedletter, setselectedletter] = useState([]); @@ -37,10 +92,17 @@ function Glossary() { return ( + + {glossaryStructuredData.map((schema, i) => ( + + ))} +

    diff --git a/src/pages/index.js b/src/pages/index.js index b213ce60a..312447fdd 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -41,13 +41,21 @@ export default function Home() { ], } : null; + // SEO: docs landing previously rendered with title "Keploy Documentation" (20c) + // and meta description "API Test Generator Tool" (23c). Both were too short + // to capture the intent of a docs visitor (install, capture, replay, SDK). + // The Article JSON-LD below derives its `headline`/`description` from these + // same constants so the schema, the rendered , the meta description + // and the sr-only H1 all agree — single source of truth. + const docsHomeTitle = "Keploy Documentation — Install, Capture & Replay API Tests"; + const docsHomeDescription = "Install Keploy in 5 minutes, capture real API traffic with eBPF, and replay it as deterministic tests in CI. Quickstarts, SDK references, and integration guides."; const articleSchema = - docsUrl && siteConfig.title + docsUrl ? { "@context": "https://schema.org", "@type": "Article", - headline: siteConfig.title, - description: siteConfig.tagline, + headline: docsHomeTitle, + description: docsHomeDescription, mainEntityOfPage: { "@type": "WebPage", "@id": docsUrl, @@ -62,6 +70,7 @@ export default function Home() { }, } : null; + return ( <div className="main"> <Head> @@ -78,10 +87,11 @@ export default function Home() { </Head> <Layout className="mx-auto my-2 w-full max-w-screen-lg px-8 shadow-none" - title={`${siteConfig.title}`} - description={`${siteConfig.tagline}`} + title={docsHomeTitle} + description={docsHomeDescription} > <main className="mx-auto max-w-screen-lg p-6 md:p-10"> + <h1 className="sr-only">{docsHomeTitle}</h1> <GetStartedPaths /> <TestingCapabilities /> diff --git a/static/data/glossaryEntries.js b/static/data/glossaryEntries.js index 95df93366..112b23371 100644 --- a/static/data/glossaryEntries.js +++ b/static/data/glossaryEntries.js @@ -187,7 +187,7 @@ export const glossaryEntries = { S: [ { name: "Stubs", - ink: "/docs/concepts/reference/glossary/stubs", + link: "/docs/concepts/reference/glossary/stubs", description: "Simulates methods or APIs during testing.", }, { diff --git a/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md b/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md index 5020d389b..5c3791a4d 100644 --- a/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/csharp-dotnet-postgres.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample CRUD App (CSharp) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md b/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md index a0ea9cd74..57f19e05e 100644 --- a/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md +++ b/versioned_docs/version-4.0.0/quickstart/express-postgresql-prisma.md @@ -17,6 +17,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Express + PostgreSQL + Prisma Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/flask-redis.md b/versioned_docs/version-4.0.0/quickstart/flask-redis.md index fb8f4e748..afbebfac0 100644 --- a/versioned_docs/version-4.0.0/quickstart/flask-redis.md +++ b/versioned_docs/version-4.0.0/quickstart/flask-redis.md @@ -20,6 +20,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Library App (Flask + Redis) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md b/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md index 48291e50a..1c4e15b05 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/go-fasthttp-postgres.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample CRUD App (Golang) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md b/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md index 8bc931ea2..4c337dee4 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md +++ b/versioned_docs/version-4.0.0/quickstart/go-gin-redis.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample User Authentication App (Golang) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import EnterpriseInstallReminder from '@site/src/components/EnterpriseInstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md b/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md index 88b313c26..2b8e3280c 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md +++ b/versioned_docs/version-4.0.0/quickstart/go-mux-mysql.md @@ -19,6 +19,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Mux MySQL Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md b/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md index 83498fbc4..e0dc4404f 100644 --- a/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/go-mux-sql.md @@ -19,6 +19,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Product Catalog App (Golang) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import InstallReminder from '@site/src/components/InstallReminder'; import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md index 555b6244f..21a54b24c 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-mongo.md @@ -23,6 +23,38 @@ keywords: - Auto Testcase generation - Junit --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Rest API with Spring-Boot and MongoDB — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md index db80fb926..c2c496710 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-openhospital.md @@ -26,6 +26,38 @@ keywords: - Junit - React --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Keploy with OpenHospital — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md index 9dab7d810..c6072c649 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-boot-xml.md @@ -22,6 +22,38 @@ keywords: - Auto Testcase generation - JAXB --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample REST API with Spring-Boot and XML — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md b/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md index 5bed7a5f5..0358dff3a 100644 --- a/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/java-spring-postgres.md @@ -24,6 +24,38 @@ keywords: - Test PetClinic - Junit --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Keploy Integration with PetClinic App — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> # Instructions For Starting Using API backend Binary diff --git a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md index 504bf287f..79bb3d7c1 100644 --- a/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md +++ b/versioned_docs/version-4.0.0/quickstart/k8s-proxy.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="K8s Record Replay — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git", "Kind", "kubectl", "Helm"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> # Kubernetes Live Record & Replay using Keploy Proxy diff --git a/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md b/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md index bf72505e6..3afff3eeb 100644 --- a/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md +++ b/versioned_docs/version-4.0.0/quickstart/nextjs-postgres.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="NextJs Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md b/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md index 5f182b9e4..fea7c36d4 100644 --- a/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md +++ b/versioned_docs/version-4.0.0/quickstart/node-express-mongoose.md @@ -16,6 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Node.js Express Mongoose Sample — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import Link from '@docusaurus/Link' import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md b/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md index d188c4242..5bc1b6b98 100644 --- a/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/node-jwt-sql.md @@ -16,6 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="NodeJS - JWT Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import Link from '@docusaurus/Link' import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/python-django-sql.md b/versioned_docs/version-4.0.0/quickstart/python-django-sql.md index f4e2655a9..2777ee888 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-django-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/python-django-sql.md @@ -19,6 +19,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample User Data CRUD App (Django) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md b/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md index 5078cfc00..e6c5c28f1 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md +++ b/versioned_docs/version-4.0.0/quickstart/python-fastapi-sql.md @@ -20,6 +20,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Student Data CRUD App — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md b/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md index 7c36cebd2..e063891c2 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md +++ b/versioned_docs/version-4.0.0/quickstart/python-fastapi-twilio.md @@ -22,6 +22,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample SMS Sending App — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Using Docker Compose 🐳 diff --git a/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md b/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md index d94e5e956..edba0383e 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/python-flask-mongo.md @@ -21,6 +21,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Task Creation CRUD App — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import Link from '@docusaurus/Link' import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/python-microservices.md b/versioned_docs/version-4.0.0/quickstart/python-microservices.md index f972b24c3..97a99d8c2 100644 --- a/versioned_docs/version-4.0.0/quickstart/python-microservices.md +++ b/versioned_docs/version-4.0.0/quickstart/python-microservices.md @@ -22,6 +22,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="E-commerce Microservices — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import EnterpriseInstallReminder from '@site/src/components/EnterpriseInstallReminder'; import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md b/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md index 593b35b05..33f622187 100644 --- a/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/rust-wrap-mongo.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Rust Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md b/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md index 979082702..87db78996 100644 --- a/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/sample-rust-crud-mongo.md @@ -15,6 +15,38 @@ keywords: - CRUD - REST --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="CRUD REST API with MongoDB — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> This is a sample CRUD REST API application to showcase Keploy integration capabilities using Rust and MongoDB. Let's get started! 🚀 diff --git a/versioned_docs/version-4.0.0/quickstart/sample-ts.md b/versioned_docs/version-4.0.0/quickstart/sample-ts.md index 494fd5001..a4ea482d8 100644 --- a/versioned_docs/version-4.0.0/quickstart/sample-ts.md +++ b/versioned_docs/version-4.0.0/quickstart/sample-ts.md @@ -12,6 +12,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Typescript Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Running Natively on Linux/WSL diff --git a/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md b/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md index 2d75d1f06..00c237564 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-bunjs.md @@ -20,6 +20,38 @@ keywords: - javascript - typescript --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="BunJS Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Running App Locally on Linux/WSL 🐧 diff --git a/versioned_docs/version-4.0.0/quickstart/samples-echo.md b/versioned_docs/version-4.0.0/quickstart/samples-echo.md index dd0742cdc..692529e3e 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-echo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-echo.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Echo SQL Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md index 8d7343f23..f2952750b 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-express-mongoose.md @@ -16,6 +16,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Course-Selling API (Express) — Record and Replay Tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md b/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md index 262e6d63c..d5087058e 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-go-gin-mongo.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample URL Shortener App (Golang) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import InstallReminder from '@site/src/components/InstallReminder'; import SectionDivider from '@site/src/components/SectionDivider'; diff --git a/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md b/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md index b266bdb64..7cd887eb0 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-go-sse-svelte.md @@ -18,6 +18,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Real-Time App (Svelte) — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Introduction diff --git a/versioned_docs/version-4.0.0/quickstart/samples-java.md b/versioned_docs/version-4.0.0/quickstart/samples-java.md index 63e909dec..2e6f326b6 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-java.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-java.md @@ -23,6 +23,38 @@ keywords: - Auto Testcase generation - Junit --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Java Sample Application — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> # Example Employee-Manager App diff --git a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md index c9591c7ab..40056fcfc 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-node-mongo.md @@ -21,8 +21,40 @@ keywords: - API Test generator - Auto Testcase generation --- - -## Intoduction 📌 +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Node.js MongoDB Sample — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> + +## Introduction 📌 A sample **_CRUD_** application to see how Keploy integrates effortlessly with **_Express.js_** and **_MongoDB_**. Get ready to see the power of Keploy 🔅🔅. diff --git a/versioned_docs/version-4.0.0/quickstart/samples-rust.md b/versioned_docs/version-4.0.0/quickstart/samples-rust.md index 9fb8d9a2d..7398ebdbb 100644 --- a/versioned_docs/version-4.0.0/quickstart/samples-rust.md +++ b/versioned_docs/version-4.0.0/quickstart/samples-rust.md @@ -14,6 +14,38 @@ keywords: - API Test generator - Auto Testcase generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="GraphQL Application with MongoDB — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> import InstallReminder from '@site/src/components/InstallReminder'; diff --git a/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md b/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md index bf98e5d99..463b95fc3 100644 --- a/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md +++ b/versioned_docs/version-4.0.0/quickstart/sanic-mongo.md @@ -24,6 +24,38 @@ keywords: - API Test generator - Auto case generation --- +import HowTo from '@site/src/components/HowTo'; + +<HowTo + name="Sample Movie API with Sanic and MongoDB — record and replay tests with Keploy" + description="Clone the sample app, run it under Keploy to capture API traffic, then replay the recorded testcases." + totalTime="PT10M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["Keploy CLI", "Docker", "git"]} + visible={false} + steps={[ + { + name: "Install Keploy", + text: "Install the Keploy CLI on Linux/WSL using the install script from https://keploy.io/install.sh.", + }, + { + name: "Clone the sample app", + text: "Clone the sample repo referenced on this page and install its dependencies.", + }, + { + name: "Start dependencies (database, etc.)", + text: "Bring up any Docker services the app needs (databases, message queues) before recording.", + }, + { + name: "Record API calls", + text: "Run keploy record -c \"CMD_TO_RUN_APP\" and exercise the app's endpoints (curl, Postman) to capture testcases and mocks.", + }, + { + name: "Replay tests", + text: "Run keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay the recorded testcases and detect regressions.", + }, + ]} +/> ## Introduction diff --git a/versioned_docs/version-4.0.0/server/installation.md b/versioned_docs/version-4.0.0/server/installation.md index 2424e4975..bd5a17919 100644 --- a/versioned_docs/version-4.0.0/server/installation.md +++ b/versioned_docs/version-4.0.0/server/installation.md @@ -25,11 +25,42 @@ keywords: Keploy uses eBPF to intercept API calls on network layer and generates test cases and mocks/stubs. +import HowTo from '@site/src/components/HowTo'; import InstallationGuide from '../concepts/installation.md' +<HowTo + name="Install Keploy on Linux and capture your first test" + description="Install the Keploy CLI locally and start recording API calls in under five minutes." + totalTime="PT5M" + estimatedCost={{currency: "USD", value: "0"}} + tools={["bash", "curl", "Linux kernel >= 5.10"]} + supplies={["A Linux or WSL2 machine", "Sudo access"]} + visible={false} + steps={[ + { + name: "Download and install the Keploy binary", + text: "Run: curl --silent -O -L https://keploy.io/install.sh && source install.sh", + }, + { + name: "Verify the installation", + text: "Run: keploy --version", + }, + { + name: "Record API calls for your app", + text: "Run: keploy record -c \"CMD_TO_RUN_APP\" (for example, keploy record -c \"go run main.go\").", + url: "#capturing-testcases", + }, + { + name: "Replay the recorded tests", + text: "Run: keploy test -c \"CMD_TO_RUN_APP\" --delay 10 to replay testcases and detect regressions.", + url: "#running-testcases", + }, + ]} +/> + <InstallationGuide/> -## 🎬 Capturing Testcases +## 🎬 Capturing Testcases {#capturing-testcases} To initiate the recording of API calls, execute this command in your terminal: @@ -43,7 +74,7 @@ For example, if you're using a simple Golang program, the **CMD_TO_RUN_APP** wou keploy record -c "go run main.go" ``` -## 🏃 Running Testcases +## 🏃 Running Testcases {#running-testcases} To run the testcases and see if there are any regressions introduced, use this terminal command: diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/go.md b/versioned_docs/version-4.0.0/server/sdk-installation/go.md index aaa85539b..54879409b 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/go.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/go.md @@ -1,8 +1,8 @@ --- id: go -title: Merge Test Coverage Data — Go +title: Keploy Go SDK — Install & Merge Test Coverage sidebar_label: Go -description: "Merge Keploy and Go unit test coverage data — graceful shutdown setup, building with -cover flag, and combined reports." +description: "Install the Keploy server SDK for Go and merge Keploy + Go unit-test coverage by enabling graceful shutdown, building with the -cover flag, and combining the reports for a unified view." tags: - go - coverage diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md b/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md index 14f104d23..4e07aefba 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/javascript.md @@ -1,7 +1,8 @@ --- id: javascript -title: Merge Unit and Keploy Test Coverage Data +title: Keploy JavaScript SDK — Install & Merge Test Coverage sidebar_label: JavaScript +description: "Install the Keploy server SDK for JavaScript/Node and merge Keploy + Jest unit-test coverage into a single combined integration and unit-test report." tags: - javascript - js @@ -19,7 +20,6 @@ keywords: - IoT.js - tap - Typescript -description: "Merge Keploy and JavaScript unit test coverage using nyc — combine integration and unit test reports for full visibility." --- import ProductTier from '@site/src/components/ProductTier'; diff --git a/versioned_docs/version-4.0.0/server/sdk-installation/python.md b/versioned_docs/version-4.0.0/server/sdk-installation/python.md index e1f400320..16b75c0f9 100644 --- a/versioned_docs/version-4.0.0/server/sdk-installation/python.md +++ b/versioned_docs/version-4.0.0/server/sdk-installation/python.md @@ -1,8 +1,8 @@ --- id: python -title: Merge Test Coverage Data — Python +title: Keploy Python SDK — Install & Merge Test Coverage sidebar_label: Python -description: "Merge Keploy and Python unit test coverage using coverage.py — combine integration and unit test reports seamlessly." +description: "Install the Keploy server SDK for Python and merge Keploy + Python unit-test coverage with coverage.py to produce a single combined report." tags: - python - coverage