diff --git a/.github/workflows/spring-boot-product-catalog.yml b/.github/workflows/spring-boot-product-catalog.yml new file mode 100644 index 00000000..f7ec871b --- /dev/null +++ b/.github/workflows/spring-boot-product-catalog.yml @@ -0,0 +1,82 @@ +# spring-boot-product-catalog sample CI — build + end-to-end smoke test. +# +# Scoped with `paths:` to this sample only, so unrelated samples don't pay for +# it (same convention as restheart-mongo.yml). Deliberately Keploy-independent: +# record/replay needs eBPF privileges that are awkward on hosted runners, so CI +# proves the app builds and serves the traffic the recorded suite was captured +# from. The committed test set under keploy/products-crud/ is the regression +# gate, exercised locally and in the Keploy pipelines. +name: spring-boot-product-catalog sample + +on: + pull_request: + paths: + - 'spring-boot-product-catalog/**' + - '.github/workflows/spring-boot-product-catalog.yml' + push: + branches: [main] + paths: + - 'spring-boot-product-catalog/**' + - '.github/workflows/spring-boot-product-catalog.yml' + workflow_dispatch: {} + +concurrency: + group: spring-boot-product-catalog-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: build (JDK 21) + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + cache: maven + + - name: Build with Maven + working-directory: spring-boot-product-catalog + run: ./mvnw -B -DskipTests clean package + + smoke: + name: end-to-end smoke test + needs: build + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - uses: actions/checkout@v4 + + - name: Start app + Postgres + working-directory: spring-boot-product-catalog + run: docker compose up -d --build --wait + + - name: Drive the recorded workload + working-directory: spring-boot-product-catalog + run: ./seed.sh + + - name: Assert the catalog responds + working-directory: spring-boot-product-catalog + run: | + set -Eeuo pipefail + curl -fsS http://localhost:8080/api/products >/dev/null + curl -fsS http://localhost:8080/api/products/summary >/dev/null + # The 404 path must stay a clean 404, not a 500 — the recorded suite + # asserts the structured error body. + code=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:8080/api/products/99999) + [ "$code" = "404" ] || { echo "::error::expected 404 for a missing product, got $code"; exit 1; } + echo "OK — catalog, summary, and not-found paths all behave." + + - name: Dump app logs on failure + if: failure() + working-directory: spring-boot-product-catalog + run: docker compose logs --no-color app + + - name: Tear down + if: always() + working-directory: spring-boot-product-catalog + run: docker compose down -v diff --git a/README.md b/README.md index 5fd1a54e..0a271aff 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ This repo contains the sample for [Keploy's](https://keploy.io) Java Application 8. [Dropwizard Dynamic Deduplication](https://github.com/keploy/samples-java/tree/main/dropwizard-dedup) - A Dropwizard/Jersey sample used by Enterprise CI to validate that Java dynamic dedup works outside Spring Boot with the runtime Java agent, checked-in HTTP fixtures, native launch, classpath launch, Docker, distroless, and restricted Docker. 9. [Simple Java Dynamic Deduplication](https://github.com/keploy/samples-java/tree/main/simple-java-dedup) - A minimal plain-Java HTTP server used to smoke-test Java dynamic dedup on Java 8 and Java 17 in native and Docker launch modes. 10. [MySQL CRUD](https://github.com/keploy/samples-java/tree/main/mysql-crud) - A minimal Spring Boot + JDBC CRUD app used by Enterprise CI to validate the self-hosted cloud-replay pipeline's JDBC secret-obfuscation and object-storage mock upload/download paths against a real MySQL 8 backend. +11. [Springboot Product Catalog](https://github.com/keploy/samples-java/tree/main/spring-boot-product-catalog) - A Spring Boot + PostgreSQL product-catalog REST API shipping a committed 57-case Keploy test set and 190 Postgres mocks. Includes an app-only docker-compose with no database service at all, so the whole suite replays green with Postgres absent. ## Community Support ❤️ diff --git a/spring-boot-product-catalog/.dockerignore b/spring-boot-product-catalog/.dockerignore new file mode 100644 index 00000000..91c89b03 --- /dev/null +++ b/spring-boot-product-catalog/.dockerignore @@ -0,0 +1,6 @@ +target/ +keploy/ +.git/ +.idea/ +*.iml +HELP.md diff --git a/spring-boot-product-catalog/.gitattributes b/spring-boot-product-catalog/.gitattributes new file mode 100644 index 00000000..3b41682a --- /dev/null +++ b/spring-boot-product-catalog/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/spring-boot-product-catalog/.gitignore b/spring-boot-product-catalog/.gitignore new file mode 100644 index 00000000..553d239d --- /dev/null +++ b/spring-boot-product-catalog/.gitignore @@ -0,0 +1,37 @@ +target/ +.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +# keploy runtime artifacts +agent-debug.log +**/agent-debug.log +docker-compose-tmp.yaml diff --git a/spring-boot-product-catalog/.mvn/wrapper/maven-wrapper.properties b/spring-boot-product-catalog/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 00000000..216df058 --- /dev/null +++ b/spring-boot-product-catalog/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,3 @@ +wrapperVersion=3.3.4 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip diff --git a/spring-boot-product-catalog/Dockerfile b/spring-boot-product-catalog/Dockerfile new file mode 100644 index 00000000..e2fedcb0 --- /dev/null +++ b/spring-boot-product-catalog/Dockerfile @@ -0,0 +1,26 @@ +# syntax=docker/dockerfile:1 + +# ---- Build stage: compile & package with a pinned JDK 21 (reproducible on any host) ---- +FROM eclipse-temurin:21-jdk AS build +WORKDIR /app + +# Copy the Maven wrapper first so dependency resolution can be cached. +COPY .mvn/ .mvn/ +COPY mvnw pom.xml ./ +RUN ./mvnw -B -q dependency:go-offline + +# Now copy sources and build the fat jar (skip tests — they need a live DB). +COPY src ./src +RUN ./mvnw -B -q -DskipTests clean package + +# ---- Run stage: slim JRE image ---- +FROM eclipse-temurin:21-jre +WORKDIR /app +# curl is used by the docker-compose healthcheck. Also create a non-root user to run the JVM. +RUN apt-get update && apt-get install -y --no-install-recommends curl \ + && rm -rf /var/lib/apt/lists/* \ + && addgroup --system spring && adduser --system --ingroup spring spring +COPY --from=build /app/target/*.jar app.jar +EXPOSE 8080 +USER spring:spring +ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/spring-boot-product-catalog/README.md b/spring-boot-product-catalog/README.md new file mode 100644 index 00000000..ffdd0ac1 --- /dev/null +++ b/spring-boot-product-catalog/README.md @@ -0,0 +1,301 @@ +# Product Catalog — Spring Boot + PostgreSQL + +A product-catalog REST API built with [Spring Boot](https://spring.io) and +[PostgreSQL](https://www.postgresql.org/), used to show Keploy replacing hand-written API +tests. Instead of JUnit fixtures, mocks, and assertions, Keploy **records real traffic +once** — capturing every downstream Postgres call as a mock — and replays it as a +regression suite that needs no database at all. + +**Note** :- Issue Creation is disabled on this Repository, please visit [here](https://github.com/keploy/keploy/issues/new/choose) to submit Issue. + +## What this sample shows + +The recorded suite committed under `keploy/products-crud/` contains: + +- **63 test cases** covering the full CRUD lifecycle, category filtering, the inventory summary, stock adjustments, and 404/400/409 edge cases +- **214 Postgres mocks**, so the database is stubbed on replay and the tests run anywhere +- **Zero hand-written assertions** — the recorded responses *are* the assertions +- **Auto-detected noise** — Keploy marks non-deterministic fields (`createdAt`, the `Date` header) itself + +The payoff is `docker-compose.keploy.yml`, an app-only Compose file with no `postgres` +service at all. The suite still passes green, because every database call is served from +the recorded mocks. + +| Traditional | Keploy | +|-------------|--------| +| Write test clients + assertions by hand | Record real traffic once | +| Manage a test database / fixtures | Downstream calls captured as mocks | +| Mocks drift from reality | Mocks *are* reality (recorded from the real DB) | +| Tests need infra to run | Replay is dependency-free | + +## Architecture + +```mermaid +flowchart LR + Seed[seed.sh / curl] -->|HTTP| App[Spring Boot
Product Catalog] + App -->|JDBC| PG[(PostgreSQL 17)] + Keploy[keploy-v3
eBPF proxy] -.->|records inbound HTTP
as test cases| App + Keploy -.->|records outbound JDBC
as mocks| PG +``` + +Keploy sits in the network path via eBPF and records both sides at once: inbound HTTP +becomes test cases, outbound JDBC becomes mocks. The application needs no code changes. + +## Pre-requisites + +- [Docker](https://docs.docker.com/get-docker/) and Docker Compose — the app and database both run in containers +- No local Java or Maven needed; the multi-stage `Dockerfile` builds with a pinned Temurin 21 JDK + +## Quick Keploy Installation + +Based on your OS and preference (Docker/Native), you can set up Keploy using the one-click +installation method: + +```sh +curl -O https://raw.githubusercontent.com/keploy/keploy/main/keploy.sh && source keploy.sh +``` + +## Setup the Product Catalog App + +Clone the repository and start the stack: + +```bash +git clone https://github.com/keploy/samples-java && cd samples-java/spring-boot-product-catalog + +docker compose up --build +``` + +The API is now on `http://localhost:8080`. Tear down later with `docker compose down -v`. + +## About the API + +| Method | Path | Description | Success | +|----------|-------------------------------|----------------------------------------------------|----------------| +| `POST` | `/api/products` | Create a product | `201` + `Location` | +| `GET` | `/api/products` | List all products (optional `?category=`) | `200` | +| `GET` | `/api/products/summary` | Inventory rollup (optional `?lowStockThreshold=`) | `200` | +| `GET` | `/api/products/{id}` | Fetch one product | `200` / `404` | +| `PUT` | `/api/products/{id}` | Replace a product | `200` / `404` | +| `PATCH` | `/api/products/{id}/stock` | Adjust stock by a `delta` | `200` / `404` / `409` | +| `DELETE` | `/api/products/{id}` | Delete a product | `204` / `404` | + +A product has `name` (required, ≤120 chars), `description` (optional, ≤1000 chars), +`price` (required, > 0), `stockQuantity` (required, ≥ 0), and `category`. Validation +failures return `400` with a structured `fieldErrors` map, which is what produces the +recorded 400 traffic. + +> The committed test set covers all seven endpoints — full CRUD, category filters, the +> inventory `/summary` rollup, `/{id}/stock` adjustments (including the `409` over-decrement), +> and the `404`/`400` paths. Re-running `keploy record` with `./seed.sh` regenerates it. + +## Capture the testcases + +Keploy brings the whole stack up itself in record mode. In **terminal A**: + +```bash +keploy record -c "docker compose up" \ + --cmd-type docker-compose \ + --container-name catalog-app \ + -n product-catalog_default \ + --metadata "name=products-crud,description=full CRUD + filters + 404 + 400" +``` + +### Generate testcases + +To generate testcases we just need to **make some API calls.** You can use +[Postman](https://www.postman.com/), [Hoppscotch](https://hoppscotch.io/), or simply +`curl`. + +These seven calls exercise every endpoint once, in a natural order — create, read, update, +adjust, delete — so a single pass records a coherent CRUD suite. + +**1. Create a product** (`POST /api/products`): + +```bash +curl --location --request POST 'http://localhost:8080/api/products' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "name": "Mechanical Keyboard", + "description": "65% hot-swappable", + "price": 129.99, + "stockQuantity": 40, + "category": "peripherals" +}' +``` + +This returns the created product. `createdAt` is automatically ignored during testing +because it will always be different. + +```json +{ + "id": 1, + "name": "Mechanical Keyboard", + "description": "65% hot-swappable", + "price": 129.99, + "stockQuantity": 40, + "category": "peripherals", + "createdAt": "2026-08-05T09:41:12.483Z" +} +``` + +**2. List the catalog, optionally filtered by category** (`GET /api/products`): + +```bash +curl --location --request GET 'http://localhost:8080/api/products' +curl --location --request GET 'http://localhost:8080/api/products?category=peripherals' +``` + +**3. Roll up inventory** (`GET /api/products/summary`) — counts totals and flags anything +at or below the low-stock threshold: + +```bash +curl --location --request GET 'http://localhost:8080/api/products/summary?lowStockThreshold=15' +``` + +**4. Fetch a single product by id** (`GET /api/products/{id}`): + +```bash +curl --location --request GET 'http://localhost:8080/api/products/1' +``` + +**5. Replace a product** (`PUT /api/products/{id}`): + +```bash +curl --location --request PUT 'http://localhost:8080/api/products/1' \ +--header 'Content-Type: application/json' \ +--data-raw '{"name":"Keyboard v2","price":149.99,"stockQuantity":35,"category":"peripherals"}' +``` + +**6. Adjust stock by a delta** (`PATCH /api/products/{id}/stock`) — a negative delta ships +units, a positive delta restocks; driving stock below zero returns `409`: + +```bash +curl --location --request PATCH 'http://localhost:8080/api/products/1/stock' \ +--header 'Content-Type: application/json' \ +--data-raw '{"delta":-5}' +``` + +**7. Delete a product** (`DELETE /api/products/{id}`): + +```bash +curl --location --request DELETE 'http://localhost:8080/api/products/1' +``` + +Record an error path or two as well, so the suite covers the `404` and `400` branches: + +```bash +curl --location --request GET 'http://localhost:8080/api/products/99999' +curl --location --request POST 'http://localhost:8080/api/products' \ +--header 'Content-Type: application/json' \ +--data-raw '{"name":"","price":-5}' +``` + +Or skip the manual calls and run the bundled traffic generator, which drives the whole +workload — 12 products across 6 categories, every read path, updates, deletes, and the +404/400 cases — in one shot. This is exactly what produced the committed 63-case suite: + +```bash +./seed.sh +``` + +Then stop the recording with `Ctrl+C` in terminal A. Keploy writes test cases to +`keploy/products-crud/tests/` and the recorded Postgres interactions to +`keploy/products-crud/mocks.yaml`. + +Now, let's see the magic! 🪄💫 + +## Run the test cases + +```bash +keploy test -c "docker compose up" \ + --cmd-type docker-compose \ + --container-name catalog-app \ + -n product-catalog_default \ + --mappings \ + --delay 20 +``` + +Expected: + +``` + "products-crud" Total: 63 Passed: 63 Failed: 0 +``` + +This will run the testcases and generate the report in the `keploy/reports` folder. + +Two flags matter here, and both are already set as defaults in `keploy.yml`: + +- `--mappings` pins each test case to only the mocks it recorded, which keeps stateful + reads (list-after-delete, get-after-update) correct. +- `--delay 20` waits for the app to finish booting before the first test fires. Spring + Boot takes about 13 seconds; too short a delay races startup and reports `got=0` on the + first case. + +### Bonus: replay with no database at all + +`docker-compose.keploy.yml` is an app-only Compose file — there is literally no `postgres` +service in it. Keploy serves every database call from the recorded mocks, so the app boots +and passes the full suite with the database entirely absent: + +```bash +keploy test -c "docker compose -f docker-compose.keploy.yml up" \ + --cmd-type docker-compose --container-name catalog-app -n product-catalog_default \ + --mappings --delay 20 +``` + +## What Keploy generated + +``` +keploy/ +└── products-crud/ + ├── config.yaml # test-set metadata (name, description, mock hash) + ├── mappings.yaml # which mocks belong to which test case + ├── mocks.yaml # 214 PostgresV3 mocks + 2 DNS + └── tests/ + ├── post-api-products-*.yaml # 12 creates + 8 validation 400s + ├── get-api-products-*.yaml # list + category filters + post-delete lists + ├── get-api-products-by-id-*.yaml # reads + 404s + ├── get-api-products-summary-*.yaml # inventory rollup (default + threshold) + ├── put-api-products-by-id-*.yaml # updates + invalid + 404 + ├── patch-api-products-by-id-stock-*.yaml # stock adjust + 409 over-decrement + 404 + └── delete-api-products-by-id-*.yaml +``` + +A recorded test case is just the request plus the expected response, with the +non-deterministic fields marked as noise automatically: + +```yaml +kind: Http +name: post-api-products-1 +spec: + req: { method: POST, url: .../api/products, body: '{"name":"Mechanical Keyboard",...}' } + resp: { status_code: 201, body: '{"id":1,"name":"Mechanical Keyboard",...,"createdAt":"..."}' } + assertions: + noise: + body.createdAt: [] # Keploy detected this is non-deterministic + header.Date: [] +``` + +## Troubleshooting + +- **First test case fails with `got=0`.** The delay was too short and the request raced + Spring Boot's startup. Raise `--delay`. +- **Replay fails on stateful reads.** Make sure `--mappings` is on, otherwise a + list-after-delete test can be served mocks recorded from a different point in time. +- **`network product-catalog_default not found`.** Compose derives the network from the + project name, which this sample pins via `name: product-catalog` in + `docker-compose.yml`. If you renamed the project, pass your own name to `-n`. + +## Files + +| Path | Purpose | +|---|---| +| `src/main/java/io/keploy/productcatalog/` | Application source — controller, service, JPA repository, DTOs, exception handler | +| `src/main/resources/application.properties` | Datasource and JPA configuration | +| `pom.xml` | Spring Boot, Java 21, Spring Data JPA, validation, Actuator, Postgres driver | +| `Dockerfile` | Multi-stage build: Temurin 21 JDK → JRE runtime | +| `docker-compose.yml` | App + Postgres, for running and recording | +| `docker-compose.keploy.yml` | App only, no database — for the dependency-free replay | +| `keploy.yml` | Keploy config: Compose command, container/network names, noise rules | +| `keploy/products-crud/` | The recorded test set: 63 test cases + mocks | +| `seed.sh` | Traffic generator used during `keploy record` | diff --git a/spring-boot-product-catalog/docker-compose.keploy.yml b/spring-boot-product-catalog/docker-compose.keploy.yml new file mode 100644 index 00000000..f88473cd --- /dev/null +++ b/spring-boot-product-catalog/docker-compose.keploy.yml @@ -0,0 +1,17 @@ +# App-only compose for the Keploy replay demo — NOTICE: there is NO postgres service here. +# Keploy serves every database call from the mocks it recorded, so the Spring Boot app +# boots and passes its whole test suite with the database entirely absent. +name: product-catalog + +services: + app: + build: . + container_name: catalog-app + environment: + # Still points at "postgres" — but nothing is running there. Keploy intercepts the + # connection and replays the recorded Postgres traffic instead. + SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/catalog + SPRING_DATASOURCE_USERNAME: catalog + SPRING_DATASOURCE_PASSWORD: catalog + ports: + - "8080:8080" diff --git a/spring-boot-product-catalog/docker-compose.yml b/spring-boot-product-catalog/docker-compose.yml new file mode 100644 index 00000000..50495849 --- /dev/null +++ b/spring-boot-product-catalog/docker-compose.yml @@ -0,0 +1,48 @@ +# Pinned so the Compose network is always product-catalog_default, whatever the +# clone directory is called — Keploy is passed that exact name via -n. +name: product-catalog + +services: + postgres: + image: postgres:17-alpine + container_name: catalog-postgres + environment: + POSTGRES_DB: catalog + POSTGRES_USER: catalog + POSTGRES_PASSWORD: catalog + ports: + - "5432:5432" + volumes: + - catalog-pgdata:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U catalog -d catalog"] + interval: 3s + timeout: 3s + retries: 10 + + app: + build: . + container_name: catalog-app + depends_on: + postgres: + condition: service_healthy + environment: + SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/catalog + SPRING_DATASOURCE_USERNAME: catalog + SPRING_DATASOURCE_PASSWORD: catalog + ports: + - "8080:8080" + healthcheck: + # Uses the curl installed in the runtime image + Actuator's readiness probe. + # Makes `docker compose up --wait` block until the app is actually ready, not just running. + # Deliberately the readiness probe (not /actuator/health): the aggregate health endpoint + # runs the JDBC `db` indicator on every poll, which Keploy would record as extra Postgres + # mocks during `keploy record`. The readiness group doesn't touch the DB, so capture stays clean. + test: ["CMD-SHELL", "curl -fsS http://localhost:8080/actuator/health/readiness || exit 1"] + interval: 5s + timeout: 3s + retries: 12 + start_period: 15s + +volumes: + catalog-pgdata: diff --git a/spring-boot-product-catalog/keploy.yml b/spring-boot-product-catalog/keploy.yml new file mode 100755 index 00000000..e38b78c3 --- /dev/null +++ b/spring-boot-product-catalog/keploy.yml @@ -0,0 +1,109 @@ +# Generated by Keploy (3.5.95), trimmed to the keys this sample actually needs. +path: "" +appName: product-catalog +appId: 0 +command: docker compose up +templatize: + testSets: [] +port: 0 +e2e: false +dnsPort: 26789 +proxyPort: 16789 +incomingProxyPort: 36789 +debug: false +disableTele: false +disableANSI: false +jsonOutput: false +# The app runs in Compose; `name: product-catalog` is pinned in docker-compose.yml +# so this network name holds no matter what the clone directory is called. +containerName: catalog-app +networkName: product-catalog_default +buildDelay: 30 +test: + selectedTests: {} + globalNoise: + global: + # Keploy already auto-marks these per test case; repeating them + # globally keeps a re-recorded suite deterministic too. + body.createdAt: [] + header.Date: [] + test-sets: {} + replaceWith: + global: + url: {} + port: {} + test-sets: {} + # Spring Boot needs ~13s to boot; a shorter delay races the first test case + # and reports got=0 on it. + delay: 20 + host: localhost + port: 0 + apiTimeout: 5 + skipCoverage: false + coverageReportPath: "" + ignoreOrdering: true + language: "" + removeUnusedMocks: false + preserveFailedMocks: false + fallBackOnMiss: false + jacocoAgentPath: "" + basePath: "" + mocking: true + ignoredTests: {} + disableLineCoverage: false + disableMockUpload: true + useLocalMock: false + updateTemplate: false + mustPass: false + maxFailAttempts: 5 + maxFlakyChecks: 1 + compareAll: false + schemaMatch: false + updateTestMapping: false + disableAutoHeaderNoise: false + strictMockWindow: true + # Pins each test case to the mocks recorded for it, so stateful reads + # (list-after-delete, get-after-update) replay against the right DB state. + mappings: true +record: + filters: [] + basePath: "" + recordTimer: 0s + metadata: "" + testCaseNaming: descriptive + sync: false + enableSampling: 0 + memoryLimit: 0 + globalPassthrough: false + tlsPrivateKeyPath: "" +report: + selectedTestSets: {} + showFullBody: false + reportPath: "" + summary: false + testCaseIDs: [] + format: "" +disableMapping: false +retryPassing: false +configPath: "" +bypassRules: [] +generateGithubActions: false +keployContainer: keploy-v3 +keployNetwork: keploy-network +cmdType: docker-compose +contract: + services: [] + tests: [] + path: "" + download: false + generate: false + driven: consumer + mappings: + servicesMapping: {} + self: s1 +inCi: false +serverPort: 0 +mockDownload: + registryIds: [] + +# Visit [https://keploy.io/docs/running-keploy/configuration-file/] to learn about using keploy through configuration file. diff --git a/spring-boot-product-catalog/keploy/.gitignore b/spring-boot-product-catalog/keploy/.gitignore new file mode 100644 index 00000000..f5dbb873 --- /dev/null +++ b/spring-boot-product-catalog/keploy/.gitignore @@ -0,0 +1,2 @@ +/reports/ +**/agent-debug.log diff --git a/spring-boot-product-catalog/keploy/products-crud/config.yaml b/spring-boot-product-catalog/keploy/products-crud/config.yaml new file mode 100644 index 00000000..188b0966 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/config.yaml @@ -0,0 +1,10 @@ +preScript: "" +postScript: "" +appCommand: "" +template: {} +metadata: + description: full CRUD + filters + summary + stock + 404 + 400 validation + name: products-crud +mockRegistry: + mock: 2517f87149abc3ccafc3d8762d703d85cc9f2f4d83e9b4fe43c7a2aed1f513e5 + app: spring-boot-product-catalog diff --git a/spring-boot-product-catalog/keploy/products-crud/mappings.yaml b/spring-boot-product-catalog/keploy/products-crud/mappings.yaml new file mode 100644 index 00000000..27f7fe21 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/mappings.yaml @@ -0,0 +1,978 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: TestMocksMapping +test_set_id: products-crud +tests: + - id: patch-api-products-by-id-stock-4 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-214 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.520345388Z" + resTimestampMock: "2026-08-13T09:46:00.520597388Z" + - name: mock-182 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.087674721Z" + resTimestampMock: "2026-08-13T09:46:00.087823305Z" + - id: get-api-products-by-id-1 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-89 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.541106388Z" + resTimestampMock: "2026-08-13T09:45:59.542199221Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-13 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-150 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.934575721Z" + resTimestampMock: "2026-08-13T09:45:59.934864846Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-12 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-122 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.717363554Z" + resTimestampMock: "2026-08-13T09:45:59.717544971Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-8 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-110 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.652106054Z" + resTimestampMock: "2026-08-13T09:45:59.652475388Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-11 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-119 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.703006429Z" + resTimestampMock: "2026-08-13T09:45:59.703179304Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-4 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-125 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.787801013Z" + resTimestampMock: "2026-08-13T09:45:59.788765221Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-9 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-113 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.667092179Z" + resTimestampMock: "2026-08-13T09:45:59.667462929Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: put-api-products-by-id-3 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-160 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.978739805Z" + resTimestampMock: "2026-08-13T09:45:59.979050013Z" + - name: mock-161 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.980330721Z" + resTimestampMock: "2026-08-13T09:45:59.980626471Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-4 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-98 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.588257763Z" + resTimestampMock: "2026-08-13T09:45:59.588703346Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-9 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-140 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.879603596Z" + resTimestampMock: "2026-08-13T09:45:59.880145805Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-6 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-131 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.823253346Z" + resTimestampMock: "2026-08-13T09:45:59.823699013Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-6 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-65 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.377705304Z" + resTimestampMock: "2026-08-13T09:45:59.378268013Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: delete-api-products-by-id-1 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-167 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.008477805Z" + resTimestampMock: "2026-08-13T09:46:00.008664096Z" + - name: mock-168 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.012685055Z" + resTimestampMock: "2026-08-13T09:46:00.01297943Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-14 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-157 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.963993221Z" + resTimestampMock: "2026-08-13T09:45:59.964279013Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: patch-api-products-by-id-stock-3 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-209 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.479606638Z" + resTimestampMock: "2026-08-13T09:46:00.479921846Z" + - name: mock-210 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.481882138Z" + resTimestampMock: "2026-08-13T09:46:00.482213555Z" + - name: mock-211 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.496005596Z" + resTimestampMock: "2026-08-13T09:46:00.496579513Z" + - name: mock-182 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.087674721Z" + resTimestampMock: "2026-08-13T09:46:00.087823305Z" + - id: post-api-products-2 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-53 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.284791221Z" + resTimestampMock: "2026-08-13T09:45:59.285229846Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: patch-api-products-by-id-stock-2 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-204 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.461620596Z" + resTimestampMock: "2026-08-13T09:46:00.461885346Z" + - name: mock-205 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.463485013Z" + resTimestampMock: "2026-08-13T09:46:00.463766471Z" + - name: mock-206 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.464294888Z" + resTimestampMock: "2026-08-13T09:46:00.464403971Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-11 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-175 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.050273138Z" + resTimestampMock: "2026-08-13T09:46:00.050609263Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-3 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-56 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.307666179Z" + resTimestampMock: "2026-08-13T09:45:59.308300221Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: put-api-products-by-id-1 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-146 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.913866555Z" + resTimestampMock: "2026-08-13T09:45:59.914004263Z" + - name: mock-147 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.91978993Z" + resTimestampMock: "2026-08-13T09:45:59.920424013Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-7 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-68 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.399967471Z" + resTimestampMock: "2026-08-13T09:45:59.400274346Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-15 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-164 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.993979555Z" + resTimestampMock: "2026-08-13T09:45:59.994307638Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: delete-api-products-by-id-2 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-171 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.033019513Z" + resTimestampMock: "2026-08-13T09:46:00.033451721Z" + - name: mock-172 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.034976471Z" + resTimestampMock: "2026-08-13T09:46:00.035378138Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: patch-api-products-by-id-stock-1 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-199 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.432930805Z" + resTimestampMock: "2026-08-13T09:46:00.433200221Z" + - name: mock-200 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.445759138Z" + resTimestampMock: "2026-08-13T09:46:00.446296763Z" + - name: mock-201 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.447324305Z" + resTimestampMock: "2026-08-13T09:46:00.44747918Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-9 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-74 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.442446721Z" + resTimestampMock: "2026-08-13T09:45:59.442681096Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-3 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-86 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.516738471Z" + resTimestampMock: "2026-08-13T09:45:59.517151804Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-6 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-104 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.621036346Z" + resTimestampMock: "2026-08-13T09:45:59.621431679Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-1 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-44 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.463240637Z" + resTimestampMock: "2026-08-13T09:45:58.464764304Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-2 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-92 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.558165638Z" + resTimestampMock: "2026-08-13T09:45:59.558430763Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-16 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-181 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.086245596Z" + resTimestampMock: "2026-08-13T09:46:00.086518805Z" + - name: mock-182 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.087674721Z" + resTimestampMock: "2026-08-13T09:46:00.087823305Z" + - id: get-api-products-summary-2 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-196 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.413012763Z" + resTimestampMock: "2026-08-13T09:46:00.41326593Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-8 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-71 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.421243138Z" + resTimestampMock: "2026-08-13T09:45:59.421645054Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-7 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-107 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.637462971Z" + resTimestampMock: "2026-08-13T09:45:59.637713221Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-summary-1 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-193 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.380702263Z" + resTimestampMock: "2026-08-13T09:46:00.381017596Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-10 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-116 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.687381888Z" + resTimestampMock: "2026-08-13T09:45:59.687778554Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-12 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-178 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.069462346Z" + resTimestampMock: "2026-08-13T09:46:00.069844971Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-8 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-137 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.861238638Z" + resTimestampMock: "2026-08-13T09:45:59.861740221Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-10 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-143 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.898216221Z" + resTimestampMock: "2026-08-13T09:45:59.898536013Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-12 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-83 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.498965304Z" + resTimestampMock: "2026-08-13T09:45:59.499153013Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-17 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-184 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.115346638Z" + resTimestampMock: "2026-08-13T09:46:00.115546055Z" + - name: mock-182 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.087674721Z" + resTimestampMock: "2026-08-13T09:46:00.087823305Z" + - id: post-api-products-10 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-77 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.462385096Z" + resTimestampMock: "2026-08-13T09:45:59.462678804Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: put-api-products-by-id-4 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-187 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.137730971Z" + resTimestampMock: "2026-08-13T09:46:00.138072513Z" + - name: mock-182 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.087674721Z" + resTimestampMock: "2026-08-13T09:46:00.087823305Z" + - id: post-api-products-11 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-80 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.480590679Z" + resTimestampMock: "2026-08-13T09:45:59.480760721Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-2 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-47 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.138719137Z" + resTimestampMock: "2026-08-13T09:45:59.139324054Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-3 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-95 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.571915888Z" + resTimestampMock: "2026-08-13T09:45:59.572319054Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-by-id-5 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-101 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.604683346Z" + resTimestampMock: "2026-08-13T09:45:59.604990929Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: delete-api-products-by-id-3 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-190 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.159081513Z" + resTimestampMock: "2026-08-13T09:46:00.159500138Z" + - name: mock-182 + kind: PostgresV3 + timestamp: 1786614360 + reqTimestampMock: "2026-08-13T09:46:00.087674721Z" + resTimestampMock: "2026-08-13T09:46:00.087823305Z" + - id: post-api-products-1 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-50 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.242688804Z" + resTimestampMock: "2026-08-13T09:45:59.244165138Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-7 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-134 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.840822263Z" + resTimestampMock: "2026-08-13T09:45:59.841445179Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-5 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-62 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.355783513Z" + resTimestampMock: "2026-08-13T09:45:59.356389304Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: put-api-products-by-id-2 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-153 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.949134513Z" + resTimestampMock: "2026-08-13T09:45:59.949418721Z" + - name: mock-154 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.950757888Z" + resTimestampMock: "2026-08-13T09:45:59.951063055Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: get-api-products-5 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-128 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.806136971Z" + resTimestampMock: "2026-08-13T09:45:59.806834013Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" + - id: post-api-products-4 + mock_entries: + - name: mock-43 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.462503137Z" + resTimestampMock: "2026-08-13T09:45:58.462900429Z" + - name: mock-59 + kind: PostgresV3 + timestamp: 1786614359 + reqTimestampMock: "2026-08-13T09:45:59.330286721Z" + resTimestampMock: "2026-08-13T09:45:59.330690221Z" + - name: mock-45 + kind: PostgresV3 + timestamp: 1786614358 + reqTimestampMock: "2026-08-13T09:45:58.478294762Z" + resTimestampMock: "2026-08-13T09:45:58.478561137Z" diff --git a/spring-boot-product-catalog/keploy/products-crud/mocks.yaml b/spring-boot-product-catalog/keploy/products-crud/mocks.yaml new file mode 100644 index 00000000..106706fa --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/mocks.yaml @@ -0,0 +1,11460 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: DNS +name: mock-0 +spec: + metadata: + name: DNS + qtype: AAAA + type: config + request: + name: postgres. + qtype: 28 + qclass: 1 + response: + rcode: 0 + authoritative: false + recursionAvailable: true + truncated: false + reqTimestampMock: 2026-08-13T09:45:39.436932711Z + resTimestampMock: 2026-08-13T09:45:39.437430503Z +--- +version: api.keploy.io/v1beta1 +kind: DNS +name: mock-1 +spec: + metadata: + name: DNS + qtype: A + type: config + request: + name: postgres. + qtype: 1 + qclass: 1 + response: + rcode: 0 + authoritative: false + recursionAvailable: true + truncated: false + answers: + - "postgres.\t600\tIN\tA\t172.19.0.3" + reqTimestampMock: 2026-08-13T09:45:39.436932711Z + resTimestampMock: 2026-08-13T09:45:39.437879295Z +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-2 +spec: + metadata: + connID: "0" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:39.462432961Z + resTimestampMock: 2026-08-13T09:45:39.462815295Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-3 +spec: + metadata: + connID: "0" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 75 + backendSecretKey: -458198094 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:39.46472992Z + resTimestampMock: 2026-08-13T09:45:39.530146836Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-4 +spec: + metadata: + class: SESSION + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:0:2026-08-13T09:45:39.549475878Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.549475878Z + resTimestampMock: 2026-08-13T09:45:39.549988336Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-5 +spec: + metadata: + class: SESSION + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:b489be1e1f6837f103918e513e0e4decd0c9cb470a8a898f373730416545b5d1 + sqlNormalized: SHOW TRANSACTION ISOLATION LEVEL + invocationId: sha256:b489be1e1f6837f103918e513e0e4decd0c9cb470a8a898f373730416545b5d1:0:2026-08-13T09:45:39.558074795Z:2 + precedingTxState: idle + response: + rowDescription: + - name: transaction_isolation + typeOid: 25 + typeSize: -1 + typeMod: -1 + rows: + - - read committed + commandComplete: SHOW + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.558074795Z + resTimestampMock: 2026-08-13T09:45:39.558453545Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-6 +spec: + metadata: + class: CATALOG + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: CATALOG + lifetime: session + sqlAstHash: sha256:af513b7fc519fd88cbd287b36a1a06a6477206fece5f4d129540fd9d2ecd7aaa + sqlNormalized: select string_agg(word, $1) from pg_catalog.pg_get_keywords() where word <> ALL ($2::text[]) + invocationId: sha256:af513b7fc519fd88cbd287b36a1a06a6477206fece5f4d129540fd9d2ecd7aaa:0:2026-08-13T09:45:39.575150461Z:3 + precedingTxState: idle + response: + rowDescription: + - name: string_agg + typeOid: 25 + typeSize: -1 + typeMod: -1 + rows: + - - abort,absent,access,aggregate,also,analyse,analyze,attach,backward,bit,cache,checkpoint,class,cluster,columns,comment,comments,compression,concurrently,conditional,configuration,conflict,connection,content,conversion,copy,cost,csv,current_catalog,current_schema,database,delimiter,delimiters,depends,detach,dictionary,disable,discard,do,document,empty,enable,encoding,encrypted,enum,error,event,exclusive,explain,expression,extension,family,finalize,force,format,forward,freeze,functions,generated,greatest,groups,handler,header,if,ilike,immutable,implicit,import,include,indent,index,indexes,inherit,inherits,inline,instead,isnull,json,json_array,json_arrayagg,json_exists,json_object,json_objectagg,json_query,json_scalar,json_serialize,json_table,json_value,keep,keys,label,leakproof,least,limit,listen,load,location,lock,locked,logged,mapping,materialized,merge_action,mode,move,nested,nfc,nfd,nfkc,nfkd,nothing,notify,notnull,nowait,off,offset,oids,omit,operator,owned,owner,parallel,parser,passing,password,plan,plans,policy,prepared,procedural,procedures,program,publication,quote,quotes,reassign,recheck,refresh,reindex,rename,replace,replica,reset,restrict,returning,routines,rule,scalar,schemas,sequences,server,setof,share,show,skip,snapshot,stable,standalone,statistics,stdin,stdout,storage,stored,strict,string,strip,subscription,support,sysid,tables,tablespace,target,temp,template,text,truncate,trusted,types,unconditional,unencrypted,unlisten,unlogged,until,vacuum,valid,validate,validator,variadic,verbose,version,views,volatile,whitespace,wrapper,xml,xmlattributes,xmlconcat,xmlelement,xmlexists,xmlforest,xmlnamespaces,xmlparse,xmlpi,xmlroot,xmlserialize,xmltable,yes + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.575150461Z + resTimestampMock: 2026-08-13T09:45:39.577023211Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-7 +spec: + metadata: + class: VALIDATION + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: VALIDATION + lifetime: session + sqlAstHash: sha256:f0a8e37c2db38f7af30066abf3a0f2e05fdd4ef9bb13acc0c53842c726937bf9 + sqlNormalized: select version() + invocationId: sha256:f0a8e37c2db38f7af30066abf3a0f2e05fdd4ef9bb13acc0c53842c726937bf9:0:2026-08-13T09:45:39.589070253Z:4 + precedingTxState: idle + response: + rowDescription: + - name: version + typeOid: 25 + typeSize: -1 + typeMod: -1 + rows: + - - PostgreSQL 17.10 on aarch64-unknown-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.589070253Z + resTimestampMock: 2026-08-13T09:45:39.58933492Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-8 +spec: + metadata: + class: VALIDATION + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: VALIDATION + lifetime: session + sqlAstHash: sha256:a0dd9013c5be0ecf56e918b289f5d109a7e646ce68a44f269f4885d0ec385608 + sqlNormalized: select current_schema() + invocationId: sha256:a0dd9013c5be0ecf56e918b289f5d109a7e646ce68a44f269f4885d0ec385608:0:2026-08-13T09:45:39.601659337Z:5 + precedingTxState: idle + response: + rowDescription: + - name: current_schema + typeOid: 19 + typeSize: 64 + typeMod: -1 + rows: + - - public + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.601659337Z + resTimestampMock: 2026-08-13T09:45:39.602068795Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-9 +spec: + metadata: + class: VALIDATION + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: VALIDATION + lifetime: session + sqlAstHash: sha256:a35a118a41caa512dda6164b2454bc37f9f46d5f32535588c29a7b79bf8eb680 + sqlNormalized: select current_catalog + invocationId: sha256:a35a118a41caa512dda6164b2454bc37f9f46d5f32535588c29a7b79bf8eb680:0:2026-08-13T09:45:39.602282128Z:6 + precedingTxState: idle + response: + rowDescription: + - name: current_catalog + typeOid: 19 + typeSize: 64 + typeMod: -1 + rows: + - - catalog + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.602282128Z + resTimestampMock: 2026-08-13T09:45:39.602446795Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-10 +spec: + metadata: + class: CATALOG + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: CATALOG + lifetime: session + sqlAstHash: sha256:7563dbca6c43bce5f3912757a488487b302ceacf4ae7783bc7e6036bdd379777 + sqlNormalized: SELECT setting FROM pg_catalog.pg_settings WHERE name=$1 + invocationId: sha256:7563dbca6c43bce5f3912757a488487b302ceacf4ae7783bc7e6036bdd379777:0:2026-08-13T09:45:39.603158003Z:7 + precedingTxState: idle + response: + rowDescription: + - name: setting + tableOid: 12104 + colAttrNum: 2 + typeOid: 25 + typeSize: -1 + typeMod: -1 + rows: + - - read committed + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.603158003Z + resTimestampMock: 2026-08-13T09:45:39.60427942Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-11 +spec: + metadata: + class: SESSION + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:b489be1e1f6837f103918e513e0e4decd0c9cb470a8a898f373730416545b5d1 + sqlNormalized: SHOW TRANSACTION ISOLATION LEVEL + invocationId: sha256:b489be1e1f6837f103918e513e0e4decd0c9cb470a8a898f373730416545b5d1:0:2026-08-13T09:45:39.604516753Z:8 + precedingTxState: idle + response: + rowDescription: + - name: transaction_isolation + typeOid: 25 + typeSize: -1 + typeMod: -1 + rows: + - - read committed + commandComplete: SHOW + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.604516753Z + resTimestampMock: 2026-08-13T09:45:39.604638837Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-12 +spec: + metadata: + connID: "2" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:39.674804753Z + resTimestampMock: 2026-08-13T09:45:39.67556042Z +connectionId: "2" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-13 +spec: + metadata: + connID: "2" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 76 + backendSecretKey: -1857667527 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:39.675828587Z + resTimestampMock: 2026-08-13T09:45:39.712329003Z +connectionId: "2" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-14 +spec: + metadata: + class: SESSION + connID: "2" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:2:2026-08-13T09:45:39.712876837Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.712876837Z + resTimestampMock: 2026-08-13T09:45:39.713240837Z +connectionId: "2" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-15 +spec: + metadata: + connID: "4" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:39.746176253Z + resTimestampMock: 2026-08-13T09:45:39.746660628Z +connectionId: "4" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-16 +spec: + metadata: + connID: "4" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 77 + backendSecretKey: -578951070 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:39.746761837Z + resTimestampMock: 2026-08-13T09:45:39.77446617Z +connectionId: "4" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-17 +spec: + metadata: + class: SESSION + connID: "4" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:4:2026-08-13T09:45:39.775561837Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.775561837Z + resTimestampMock: 2026-08-13T09:45:39.776286045Z +connectionId: "4" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-18 +spec: + metadata: + connID: "6" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:39.80919342Z + resTimestampMock: 2026-08-13T09:45:39.80978692Z +connectionId: "6" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-19 +spec: + metadata: + connID: "6" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 78 + backendSecretKey: -1404647821 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:39.810038837Z + resTimestampMock: 2026-08-13T09:45:39.817861337Z +connectionId: "6" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-20 +spec: + metadata: + class: SESSION + connID: "6" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:6:2026-08-13T09:45:39.818251337Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.818251337Z + resTimestampMock: 2026-08-13T09:45:39.818657045Z +connectionId: "6" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-21 +spec: + metadata: + connID: "8" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:39.87255317Z + resTimestampMock: 2026-08-13T09:45:39.872908795Z +connectionId: "8" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-22 +spec: + metadata: + connID: "8" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 79 + backendSecretKey: 1559597812 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:39.873070628Z + resTimestampMock: 2026-08-13T09:45:39.881388795Z +connectionId: "8" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-23 +spec: + metadata: + class: SESSION + connID: "8" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:8:2026-08-13T09:45:39.881850795Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.881850795Z + resTimestampMock: 2026-08-13T09:45:39.882398045Z +connectionId: "8" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-24 +spec: + metadata: + connID: "10" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:39.915181212Z + resTimestampMock: 2026-08-13T09:45:39.915639378Z +connectionId: "10" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-25 +spec: + metadata: + connID: "10" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 80 + backendSecretKey: 1151561097 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:39.915707378Z + resTimestampMock: 2026-08-13T09:45:39.922841795Z +connectionId: "10" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-26 +spec: + metadata: + class: SESSION + connID: "10" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:10:2026-08-13T09:45:39.923318087Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.923318087Z + resTimestampMock: 2026-08-13T09:45:39.923801045Z +connectionId: "10" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-27 +spec: + metadata: + connID: "12" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:39.959078878Z + resTimestampMock: 2026-08-13T09:45:39.96026042Z +connectionId: "12" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-28 +spec: + metadata: + connID: "12" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 81 + backendSecretKey: 1222989541 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:39.961023045Z + resTimestampMock: 2026-08-13T09:45:39.968325128Z +connectionId: "12" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-29 +spec: + metadata: + class: SESSION + connID: "12" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:12:2026-08-13T09:45:39.968380795Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:39.968380795Z + resTimestampMock: 2026-08-13T09:45:39.968695587Z +connectionId: "12" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-30 +spec: + metadata: + connID: "14" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:40.001712087Z + resTimestampMock: 2026-08-13T09:45:40.00229767Z +connectionId: "14" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-31 +spec: + metadata: + connID: "14" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 82 + backendSecretKey: -740292158 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:40.002546378Z + resTimestampMock: 2026-08-13T09:45:40.010890337Z +connectionId: "14" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-32 +spec: + metadata: + class: SESSION + connID: "14" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:14:2026-08-13T09:45:40.01210367Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:40.01210367Z + resTimestampMock: 2026-08-13T09:45:40.012440545Z +connectionId: "14" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-33 +spec: + metadata: + connID: "16" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:40.044170503Z + resTimestampMock: 2026-08-13T09:45:40.04471492Z +connectionId: "16" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-34 +spec: + metadata: + connID: "16" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 83 + backendSecretKey: 650859782 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:40.04488992Z + resTimestampMock: 2026-08-13T09:45:40.050463128Z +connectionId: "16" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-35 +spec: + metadata: + class: SESSION + connID: "16" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:16:2026-08-13T09:45:40.05106092Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:40.05106092Z + resTimestampMock: 2026-08-13T09:45:40.051327003Z +connectionId: "16" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-36 +spec: + metadata: + connID: "18" + lifetime: connection + tls_stage: prelude + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + reqTimestampMock: 2026-08-13T09:45:40.084322003Z + resTimestampMock: 2026-08-13T09:45:40.084735045Z +connectionId: "18" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-37 +spec: + metadata: + connID: "18" + lifetime: connection + type: config + postgresV3: + type: session + session: + protocolVersion: "3.0" + sslResponse: "N" + serverVersion: "17.10" + parameterStatus: + DateStyle: ISO, MDY + IntervalStyle: postgres + TimeZone: Etc/UTC + application_name: "" + client_encoding: UTF8 + default_transaction_read_only: "off" + in_hot_standby: "off" + integer_datetimes: "on" + is_superuser: "on" + scram_iterations: "4096" + server_encoding: UTF8 + server_version: "17.10" + session_authorization: catalog + standard_conforming_strings: "on" + backendProcessID: 84 + backendSecretKey: 1983525856 + observedAuthMode: scram + reqTimestampMock: 2026-08-13T09:45:40.08496742Z + resTimestampMock: 2026-08-13T09:45:40.089722962Z +connectionId: "18" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-38 +spec: + metadata: + class: SESSION + connID: "18" + lifetime: session + type: config + postgresV3: + type: query + query: + class: SESSION + lifetime: session + sqlAstHash: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8 + sqlNormalized: SET application_name = $1 + invocationId: sha256:69a7b8f573d7c802c166f56395068540d33d508d9e3ba0d15b473590abaddab8:18:2026-08-13T09:45:40.090403587Z:1 + precedingTxState: idle + response: + commandComplete: SET + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:40.090403587Z + resTimestampMock: 2026-08-13T09:45:40.090775628Z +connectionId: "18" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-39 +spec: + metadata: + class: CATALOG + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: CATALOG + lifetime: session + sqlAstHash: sha256:310dd72f6f1f2491f33fdba09cde16346c26fa93a51996e0a7d71260fb04d9ce + sqlNormalized: select * from information_schema.sequences + invocationId: sha256:310dd72f6f1f2491f33fdba09cde16346c26fa93a51996e0a7d71260fb04d9ce:0:2026-08-13T09:45:40.29334942Z:9 + precedingTxState: idle + response: + rowDescription: + - name: sequence_catalog + tableOid: 13495 + colAttrNum: 1 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: sequence_schema + tableOid: 13495 + colAttrNum: 2 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: sequence_name + tableOid: 13495 + colAttrNum: 3 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: data_type + tableOid: 13495 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: -1 + - name: numeric_precision + tableOid: 13495 + colAttrNum: 5 + typeOid: 23 + typeSize: 4 + typeMod: -1 + - name: numeric_precision_radix + tableOid: 13495 + colAttrNum: 6 + typeOid: 23 + typeSize: 4 + typeMod: -1 + - name: numeric_scale + tableOid: 13495 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + - name: start_value + tableOid: 13495 + colAttrNum: 8 + typeOid: 1043 + typeSize: -1 + typeMod: -1 + - name: minimum_value + tableOid: 13495 + colAttrNum: 9 + typeOid: 1043 + typeSize: -1 + typeMod: -1 + - name: maximum_value + tableOid: 13495 + colAttrNum: 10 + typeOid: 1043 + typeSize: -1 + typeMod: -1 + - name: increment + tableOid: 13495 + colAttrNum: 11 + typeOid: 1043 + typeSize: -1 + typeMod: -1 + - name: cycle_option + tableOid: 13495 + colAttrNum: 12 + typeOid: 1043 + typeSize: -1 + typeMod: 7 + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:40.29334942Z + resTimestampMock: 2026-08-13T09:45:40.295945129Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-40 +spec: + metadata: + class: CATALOG + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: CATALOG + lifetime: session + sqlAstHash: sha256:3415713d7702e09dde25ce7a909e13e28677566d5a38fa8d24e5cae553ad30ed + sqlNormalized: "SELECT current_database() AS \"TABLE_CAT\", n.nspname AS \"TABLE_SCHEM\", c.relname AS \"TABLE_NAME\", CASE n.nspname ~ $3 OR n.nspname = $4 WHEN $5 THEN CASE WHEN n.nspname = $6 OR n.nspname = $7 THEN CASE c.relkind WHEN $8 THEN $9 WHEN $10 THEN $11 WHEN $12 THEN $13 ELSE $14 END WHEN n.nspname = $15 THEN CASE c.relkind WHEN $16 THEN $17 WHEN $18 THEN $19 ELSE $20 END ELSE CASE c.relkind WHEN $21 THEN $22 WHEN $23 THEN $24 WHEN $25 THEN $26 WHEN $27 THEN $28 WHEN $29 THEN $30 ELSE $31 END END WHEN $32 THEN CASE c.relkind WHEN $33 THEN $34 WHEN $35 THEN $36 WHEN $37 THEN $38 WHEN $39 then $40 WHEN $41 THEN $42 WHEN $43 THEN $44 WHEN $45 THEN $46 WHEN $47 THEN $48 WHEN $49 THEN $50 ELSE $51 END ELSE $52 END AS \"TABLE_TYPE\", d.description AS \"REMARKS\", $53 as \"TYPE_CAT\", $54 as \"TYPE_SCHEM\", $55 as \"TYPE_NAME\", $56 AS \"SELF_REFERENCING_COL_NAME\", $57 AS \"REF_GENERATION\" FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = $58 and d.classoid = $59::regclass) WHERE c.relnamespace = n.oid AND n.nspname LIKE $1 AND c.relname LIKE $2 AND ($60 OR ( c.relkind = $61 AND n.nspname !~ $62 AND n.nspname <> $63 ) OR ( c.relkind = $64 AND n.nspname <> $65 AND n.nspname <> $66 ) OR ( c.relkind = $67 ) OR ( c.relkind = $68 AND n.nspname !~ $69 AND n.nspname <> $70 ) ) ORDER BY \"TABLE_TYPE\",\"TABLE_SCHEM\",\"TABLE_NAME\" " + paramOids: + - 1043 + - 1043 + invocationId: sha256:3415713d7702e09dde25ce7a909e13e28677566d5a38fa8d24e5cae553ad30ed:0:2026-08-13T09:45:40.302790337Z:10 + precedingTxState: idle + bindValues: + - !!binary cHVibGlj + - !!binary JQ== + bindFormats: + - 0 + - 0 + response: + rowDescription: + - name: TABLE_CAT + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: TABLE_SCHEM + tableOid: 2615 + colAttrNum: 2 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: TABLE_NAME + tableOid: 1259 + colAttrNum: 2 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: TABLE_TYPE + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: REMARKS + tableOid: 2609 + colAttrNum: 4 + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: TYPE_CAT + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: TYPE_SCHEM + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: TYPE_NAME + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: SELF_REFERENCING_COL_NAME + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: REF_GENERATION + typeOid: 25 + typeSize: -1 + typeMod: -1 + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:40.302790337Z + resTimestampMock: 2026-08-13T09:45:40.306708962Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-41 +spec: + metadata: + class: CATALOG + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: CATALOG + lifetime: session + sqlAstHash: sha256:f6cb238ae2fa5e21bdfb322ef234c2e2f41a4aa2036237b49fc8d3499cf3f108 + sqlNormalized: "SELECT * FROM (SELECT current_database() AS current_database, n.nspname,c.relname,a.attname,a.atttypid,a.attnotnull OR (t.typtype = $3 AND t.typnotnull) AS attnotnull,a.atttypmod,a.attlen,t.typtypmod,row_number() OVER (PARTITION BY a.attrelid ORDER BY a.attnum) AS attnum, nullif(a.attidentity, $4) as attidentity,nullif(a.attgenerated, $5) as attgenerated,pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS adsrc,dsc.description,t.typbasetype,t.typtype FROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_class c ON (c.relnamespace = n.oid) JOIN pg_catalog.pg_attribute a ON (a.attrelid=c.oid) JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) LEFT JOIN pg_catalog.pg_attrdef def ON (a.attrelid=def.adrelid AND a.attnum = def.adnum) LEFT JOIN pg_catalog.pg_description dsc ON (c.oid=dsc.objoid AND a.attnum = dsc.objsubid) LEFT JOIN pg_catalog.pg_class dc ON (dc.oid=dsc.classoid AND dc.relname=$6) LEFT JOIN pg_catalog.pg_namespace dn ON (dc.relnamespace=dn.oid AND dn.nspname=$7) WHERE c.relkind in ($8,$9,$10,$11,$12) and a.attnum > $13 AND NOT a.attisdropped AND n.nspname LIKE $1) c WHERE $14 AND attname LIKE $2 ORDER BY nspname,c.relname,attnum " + paramOids: + - 1043 + - 1043 + invocationId: sha256:f6cb238ae2fa5e21bdfb322ef234c2e2f41a4aa2036237b49fc8d3499cf3f108:0:2026-08-13T09:45:40.307738879Z:11 + precedingTxState: idle + bindValues: + - !!binary cHVibGlj + - !!binary JQ== + bindFormats: + - 0 + - 0 + response: + rowDescription: + - name: current_database + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: nspname + tableOid: 2615 + colAttrNum: 2 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: relname + tableOid: 1259 + colAttrNum: 2 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: attname + tableOid: 1249 + colAttrNum: 2 + typeOid: 19 + typeSize: 64 + typeMod: -1 + - name: atttypid + tableOid: 1249 + colAttrNum: 3 + typeOid: 26 + typeSize: 4 + typeMod: -1 + - name: attnotnull + typeOid: 16 + typeSize: 1 + typeMod: -1 + - name: atttypmod + tableOid: 1249 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + - name: attlen + tableOid: 1249 + colAttrNum: 4 + typeOid: 21 + typeSize: 2 + typeMod: -1 + - name: typtypmod + tableOid: 1247 + colAttrNum: 27 + typeOid: 23 + typeSize: 4 + typeMod: -1 + - name: attnum + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: attidentity + typeOid: 18 + typeSize: 1 + typeMod: -1 + - name: attgenerated + typeOid: 18 + typeSize: 1 + typeMod: -1 + - name: adsrc + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: description + tableOid: 2609 + colAttrNum: 4 + typeOid: 25 + typeSize: -1 + typeMod: -1 + - name: typbasetype + tableOid: 1247 + colAttrNum: 26 + typeOid: 26 + typeSize: 4 + typeMod: -1 + - name: typtype + tableOid: 1247 + colAttrNum: 7 + typeOid: 18 + typeSize: 1 + typeMod: -1 + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:40.307738879Z + resTimestampMock: 2026-08-13T09:45:40.311350545Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-42 +spec: + metadata: + class: DDL + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: DDL + lifetime: session + sqlAstHash: sha256:25f6e8bd80295e5521078514fb0d3ecf3c6b71d1d0b0c3c4a73d00625410afe1 + sqlNormalized: create table products (id bigint generated by default as identity, category varchar(255), created_at timestamp(6) with time zone not null, description varchar(1000), name varchar(120) not null, price numeric(12,2) not null, stock_quantity integer not null, primary key (id)) + invocationId: sha256:25f6e8bd80295e5521078514fb0d3ecf3c6b71d1d0b0c3c4a73d00625410afe1:0:2026-08-13T09:45:40.313998045Z:12 + precedingTxState: idle + response: + commandComplete: CREATE TABLE + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:40.313998045Z + resTimestampMock: 2026-08-13T09:45:40.317528962Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-43 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:58.462503137Z:13 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:58.462503137Z + resTimestampMock: 2026-08-13T09:45:58.462900429Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-44 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 order by p1_0.id + invocationId: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780:0:2026-08-13T09:45:58.463240637Z:14 + precedingTxState: in_tx + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:58.463240637Z + resTimestampMock: 2026-08-13T09:45:58.464764304Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-45 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:58.478294762Z:15 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:58.478294762Z + resTimestampMock: 2026-08-13T09:45:58.478561137Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-46 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.138673054Z:16 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.138673054Z + resTimestampMock: 2026-08-13T09:45:59.138902304Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-47 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 order by p1_0.id + invocationId: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780:0:2026-08-13T09:45:59.138719137Z:17 + precedingTxState: in_tx + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.138719137Z + resTimestampMock: 2026-08-13T09:45:59.139324054Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-48 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.140284679Z:18 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.140284679Z + resTimestampMock: 2026-08-13T09:45:59.140499971Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-49 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.242688804Z:19 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.242688804Z + resTimestampMock: 2026-08-13T09:45:59.242842721Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-50 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.242688804Z:20 + precedingTxState: in_tx + bindValues: + - !!binary cGVyaXBoZXJhbHM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS4yMzAwODQrMDA= + - !!binary NjUlIGhvdC1zd2FwcGFibGU= + - !!binary TWVjaGFuaWNhbCBLZXlib2FyZA== + - !!binary AAIAAAAAAAIAgSas + - !!binary AAAAKA== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 1 + - peripherals + - 2026-08-13T09:45:59.230084Z + - 65% hot-swappable + - Mechanical Keyboard + - int: "12999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 40 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.242688804Z + resTimestampMock: 2026-08-13T09:45:59.244165138Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-51 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.254054888Z:21 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.254054888Z + resTimestampMock: 2026-08-13T09:45:59.254722221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-52 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.284791221Z:22 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.284791221Z + resTimestampMock: 2026-08-13T09:45:59.285037929Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-53 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.284791221Z:23 + precedingTxState: in_tx + bindValues: + - !!binary cGVyaXBoZXJhbHM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS4yODQyOTgrMDA= + - !!binary Ny1pbi0xIGFsdW1pbml1bQ== + - !!binary VVNCLUMgSHVi + - !!binary AAIAAAAAAAIAJxOI + - !!binary AAAAZA== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 2 + - peripherals + - 2026-08-13T09:45:59.284298Z + - 7-in-1 aluminium + - USB-C Hub + - int: "3950" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 100 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.284791221Z + resTimestampMock: 2026-08-13T09:45:59.285229846Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-54 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.286481221Z:24 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.286481221Z + resTimestampMock: 2026-08-13T09:45:59.286945638Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-55 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.307609304Z:25 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.307609304Z + resTimestampMock: 2026-08-13T09:45:59.307816429Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-56 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.307666179Z:26 + precedingTxState: in_tx + bindValues: + - !!binary cGVyaXBoZXJhbHM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS4zMDcyMTMrMDA= + - !!binary ZXJnb25vbWljLCAyLjRHSHo= + - !!binary V2lyZWxlc3MgTW91c2U= + - !!binary AAIAAAAAAAIAGCas + - !!binary AAAAlg== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 3 + - peripherals + - 2026-08-13T09:45:59.307213Z + - ergonomic, 2.4GHz + - Wireless Mouse + - int: "2499" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 150 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.307666179Z + resTimestampMock: 2026-08-13T09:45:59.308300221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-57 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.309149513Z:27 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.309149513Z + resTimestampMock: 2026-08-13T09:45:59.309482929Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-58 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.330171596Z:28 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.330171596Z + resTimestampMock: 2026-08-13T09:45:59.330403971Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-59 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.330286721Z:29 + precedingTxState: in_tx + bindValues: + - !!binary bW9uaXRvcnM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS4zMjk0NjUrMDA= + - !!binary SVBTLCA2MEh6 + - !!binary MjctaW5jaCA0SyBNb25pdG9y + - !!binary AAEAAAAAAAIBSQ== + - !!binary AAAAGQ== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 4 + - monitors + - 2026-08-13T09:45:59.329465Z + - IPS, 60Hz + - 27-inch 4K Monitor + - int: "32900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 25 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.330286721Z + resTimestampMock: 2026-08-13T09:45:59.330690221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-60 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.331816471Z:30 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.331816471Z + resTimestampMock: 2026-08-13T09:45:59.332365429Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-61 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.354995013Z:31 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.354995013Z + resTimestampMock: 2026-08-13T09:45:59.355278388Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-62 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.355783513Z:32 + precedingTxState: in_tx + bindValues: + - !!binary bW9uaXRvcnM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS4zNTQ0OTIrMDA= + - !!binary Y3VydmVkLCAxNDRIeg== + - !!binary MzQtaW5jaCBVbHRyYXdpZGUgTW9uaXRvcg== + - !!binary AAEAAAAAAAICVw== + - !!binary AAAADA== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 5 + - monitors + - 2026-08-13T09:45:59.354492Z + - curved, 144Hz + - 34-inch Ultrawide Monitor + - int: "59900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 12 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.355783513Z + resTimestampMock: 2026-08-13T09:45:59.356389304Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-63 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.357318388Z:33 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.357318388Z + resTimestampMock: 2026-08-13T09:45:59.357688846Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-64 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.377126804Z:34 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.377126804Z + resTimestampMock: 2026-08-13T09:45:59.377427304Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-65 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.377705304Z:35 + precedingTxState: in_tx + bindValues: + - !!binary YWNjZXNzb3JpZXM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS4zNzY1NDYrMDA= + - !!binary YWx1bWluaXVtLCBhZGp1c3RhYmxl + - !!binary TGFwdG9wIFN0YW5k + - !!binary AAIAAAAAAAIAIiUc + - !!binary AAAAUA== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 6 + - accessories + - 2026-08-13T09:45:59.376546Z + - aluminium, adjustable + - Laptop Stand + - int: "3495" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 80 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.377705304Z + resTimestampMock: 2026-08-13T09:45:59.378268013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-66 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.378951179Z:36 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.378951179Z + resTimestampMock: 2026-08-13T09:45:59.379725596Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-67 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.399664638Z:37 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.399664638Z + resTimestampMock: 2026-08-13T09:45:59.399831096Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-68 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.399967471Z:38 + precedingTxState: in_tx + bindValues: + - !!binary YXVkaW8= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS4zOTkyMDkrMDA= + - !!binary b3Zlci1lYXIsIEJUIDUuMw== + - !!binary Tm9pc2UtQ2FuY2VsbGluZyBIZWFkcGhvbmVz + - !!binary AAIAAAAAAAIAxyas + - !!binary AAAAPA== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 7 + - audio + - 2026-08-13T09:45:59.399209Z + - over-ear, BT 5.3 + - Noise-Cancelling Headphones + - int: "19999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 60 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.399967471Z + resTimestampMock: 2026-08-13T09:45:59.400274346Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-69 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.401144013Z:39 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.401144013Z + resTimestampMock: 2026-08-13T09:45:59.401778346Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-70 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.420832346Z:40 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.420832346Z + resTimestampMock: 2026-08-13T09:45:59.421104804Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-71 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.421243138Z:41 + precedingTxState: in_tx + bindValues: + - !!binary cGVyaXBoZXJhbHM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS40MjA0MDQrMDA= + - !!binary YXV0by1mb2N1cw== + - !!binary MTA4MHAgV2ViY2Ft + - !!binary AAEAAAAAAAIAOw== + - !!binary AAAALQ== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 8 + - peripherals + - 2026-08-13T09:45:59.420404Z + - auto-focus + - 1080p Webcam + - int: "5900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 45 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.421243138Z + resTimestampMock: 2026-08-13T09:45:59.421645054Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-72 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.422698638Z:42 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.422698638Z + resTimestampMock: 2026-08-13T09:45:59.423541513Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-73 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.442175263Z:43 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.442175263Z + resTimestampMock: 2026-08-13T09:45:59.442317138Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-74 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.442446721Z:44 + precedingTxState: in_tx + bindValues: + - !!binary c3RvcmFnZQ== + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS40NDE3OTYrMDA= + - !!binary VVNCIDMuMiBHZW4y + - !!binary RXh0ZXJuYWwgU1NEIDFUQg== + - !!binary AAIAAAAAAAIAbSas + - !!binary AAAARg== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 9 + - storage + - 2026-08-13T09:45:59.441796Z + - USB 3.2 Gen2 + - External SSD 1TB + - int: "10999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 70 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.442446721Z + resTimestampMock: 2026-08-13T09:45:59.442681096Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-75 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.443486346Z:45 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.443486346Z + resTimestampMock: 2026-08-13T09:45:59.443979429Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-76 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.462140596Z:46 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.462140596Z + resTimestampMock: 2026-08-13T09:45:59.462265388Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-77 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.462385096Z:47 + precedingTxState: in_tx + bindValues: + - !!binary YWNjZXNzb3JpZXM= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS40NjE3NjErMDA= + - !!binary OTAweDQwMG1t + - !!binary RGVzayBNYXQgWEw= + - !!binary AAIAAAAAAAIAEyas + - !!binary AAAAyA== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 10 + - accessories + - 2026-08-13T09:45:59.461761Z + - 900x400mm + - Desk Mat XL + - int: "1999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 200 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.462385096Z + resTimestampMock: 2026-08-13T09:45:59.462678804Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-78 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.463304596Z:48 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.463304596Z + resTimestampMock: 2026-08-13T09:45:59.463626263Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-79 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.480373596Z:49 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.480373596Z + resTimestampMock: 2026-08-13T09:45:59.480495221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-80 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.480590679Z:50 + precedingTxState: in_tx + bindValues: + - !!binary YXVkaW8= + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS40ODAwMjkrMDA= + - !!binary Y2FyZGlvaWQsIHBsdWctYW5kLXBsYXk= + - !!binary VVNCIE1pY3JvcGhvbmU= + - !!binary AAEAAAAAAAIAWQ== + - !!binary AAAAIw== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 11 + - audio + - 2026-08-13T09:45:59.480029Z + - cardioid, plug-and-play + - USB Microphone + - int: "8900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 35 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.480590679Z + resTimestampMock: 2026-08-13T09:45:59.480760721Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-81 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.481380138Z:51 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.481380138Z + resTimestampMock: 2026-08-13T09:45:59.481716263Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-82 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.498687846Z:52 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.498687846Z + resTimestampMock: 2026-08-13T09:45:59.498848013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-83 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6 + sqlNormalized: "insert into products (category,created_at,description,name,price,stock_quantity) values ($1,$2,$3,$4,$5,$6)\nRETURNING *" + paramOids: + - 1043 + - 0 + - 1043 + - 1043 + - 1700 + - 23 + invocationId: sha256:3228dd720ec6861d81492ae96062eb07f7dca1d0a2c02b42095ee389b77990d6:0:2026-08-13T09:45:59.498965304Z:53 + precedingTxState: in_tx + bindValues: + - !!binary Y29tcHV0ZXJz + - !!binary MjAyNi0wOC0xMyAwOTo0NTo1OS40OTgzMzErMDA= + - !!binary MTZHQiBSQU0sIDUxMkdCIFNTRA== + - !!binary MTQtaW5jaCBMYXB0b3A= + - !!binary AAEAAAAAAAIESw== + - !!binary AAAADw== + bindFormats: + - 0 + - 0 + - 0 + - 0 + - 1 + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 12 + - computers + - 2026-08-13T09:45:59.498331Z + - 16GB RAM, 512GB SSD + - 14-inch Laptop + - int: "109900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 15 + commandComplete: INSERT 0 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.498965304Z + resTimestampMock: 2026-08-13T09:45:59.499153013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-84 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.499781013Z:54 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.499781013Z + resTimestampMock: 2026-08-13T09:45:59.500176346Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-85 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.516738471Z:55 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.516738471Z + resTimestampMock: 2026-08-13T09:45:59.516961179Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-86 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 order by p1_0.id + invocationId: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780:0:2026-08-13T09:45:59.516738471Z:56 + precedingTxState: in_tx + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 1 + - peripherals + - 2026-08-13T09:45:59.230084Z + - 65% hot-swappable + - Mechanical Keyboard + - int: "12999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 40 + - - 2 + - peripherals + - 2026-08-13T09:45:59.284298Z + - 7-in-1 aluminium + - USB-C Hub + - int: "3950" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 100 + - - 3 + - peripherals + - 2026-08-13T09:45:59.307213Z + - ergonomic, 2.4GHz + - Wireless Mouse + - int: "2499" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 150 + - - 4 + - monitors + - 2026-08-13T09:45:59.329465Z + - IPS, 60Hz + - 27-inch 4K Monitor + - int: "32900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 25 + - - 5 + - monitors + - 2026-08-13T09:45:59.354492Z + - curved, 144Hz + - 34-inch Ultrawide Monitor + - int: "59900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 12 + - - 6 + - accessories + - 2026-08-13T09:45:59.376546Z + - aluminium, adjustable + - Laptop Stand + - int: "3495" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 80 + - - 7 + - audio + - 2026-08-13T09:45:59.399209Z + - over-ear, BT 5.3 + - Noise-Cancelling Headphones + - int: "19999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 60 + - - 8 + - peripherals + - 2026-08-13T09:45:59.420404Z + - auto-focus + - 1080p Webcam + - int: "5900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 45 + - - 9 + - storage + - 2026-08-13T09:45:59.441796Z + - USB 3.2 Gen2 + - External SSD 1TB + - int: "10999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 70 + - - 10 + - accessories + - 2026-08-13T09:45:59.461761Z + - 900x400mm + - Desk Mat XL + - int: "1999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 200 + - - 11 + - audio + - 2026-08-13T09:45:59.480029Z + - cardioid, plug-and-play + - USB Microphone + - int: "8900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 35 + - - 12 + - computers + - 2026-08-13T09:45:59.498331Z + - 16GB RAM, 512GB SSD + - 14-inch Laptop + - int: "109900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 15 + commandComplete: SELECT 12 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.516738471Z + resTimestampMock: 2026-08-13T09:45:59.517151804Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-87 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.521397138Z:57 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.521397138Z + resTimestampMock: 2026-08-13T09:45:59.521536554Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-88 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.541106388Z:58 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.541106388Z + resTimestampMock: 2026-08-13T09:45:59.541379346Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-89 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.541106388Z:59 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 1 + - peripherals + - 2026-08-13T09:45:59.230084Z + - 65% hot-swappable + - Mechanical Keyboard + - int: "12999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 40 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.541106388Z + resTimestampMock: 2026-08-13T09:45:59.542199221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-90 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.544205471Z:60 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.544205471Z + resTimestampMock: 2026-08-13T09:45:59.544415971Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-91 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.558116471Z:61 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.558116471Z + resTimestampMock: 2026-08-13T09:45:59.558289679Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-92 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.558165638Z:62 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAI= + bindFormats: + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 2 + - peripherals + - 2026-08-13T09:45:59.284298Z + - 7-in-1 aluminium + - USB-C Hub + - int: "3950" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 100 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.558165638Z + resTimestampMock: 2026-08-13T09:45:59.558430763Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-93 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.559070013Z:63 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.559070013Z + resTimestampMock: 2026-08-13T09:45:59.559214596Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-94 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.571873513Z:64 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.571873513Z + resTimestampMock: 2026-08-13T09:45:59.572073971Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-95 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.571915888Z:65 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAM= + bindFormats: + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 3 + - peripherals + - 2026-08-13T09:45:59.307213Z + - ergonomic, 2.4GHz + - Wireless Mouse + - int: "2499" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 150 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.571915888Z + resTimestampMock: 2026-08-13T09:45:59.572319054Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-96 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.573726846Z:66 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.573726846Z + resTimestampMock: 2026-08-13T09:45:59.573972929Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-97 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.588257763Z:67 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.588257763Z + resTimestampMock: 2026-08-13T09:45:59.588452263Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-98 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.588257763Z:68 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAQ= + bindFormats: + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 4 + - monitors + - 2026-08-13T09:45:59.329465Z + - IPS, 60Hz + - 27-inch 4K Monitor + - int: "32900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 25 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.588257763Z + resTimestampMock: 2026-08-13T09:45:59.588703346Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-99 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.590160388Z:69 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.590160388Z + resTimestampMock: 2026-08-13T09:45:59.590419013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-100 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.604644304Z:70 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.604644304Z + resTimestampMock: 2026-08-13T09:45:59.604814596Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-101 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.604683346Z:71 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAU= + bindFormats: + - 1 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 5 + - monitors + - 2026-08-13T09:45:59.354492Z + - curved, 144Hz + - 34-inch Ultrawide Monitor + - int: "59900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 12 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.604683346Z + resTimestampMock: 2026-08-13T09:45:59.604990929Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-102 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.605977513Z:72 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.605977513Z + resTimestampMock: 2026-08-13T09:45:59.606397721Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-103 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.621036346Z:73 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.621036346Z + resTimestampMock: 2026-08-13T09:45:59.621206054Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-104 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.621036346Z:74 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAY= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 6 + - format: 0 + bytes: + - 97 + - 99 + - 99 + - 101 + - 115 + - 115 + - 111 + - 114 + - 105 + - 101 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 5 + - 226 + - 162 + - format: 0 + bytes: + - 97 + - 108 + - 117 + - 109 + - 105 + - 110 + - 105 + - 117 + - 109 + - 44 + - 32 + - 97 + - 100 + - 106 + - 117 + - 115 + - 116 + - 97 + - 98 + - 108 + - 101 + - format: 0 + bytes: + - 76 + - 97 + - 112 + - 116 + - 111 + - 112 + - 32 + - 83 + - 116 + - 97 + - 110 + - 100 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 34 + - 37 + - 28 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 80 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.621036346Z + resTimestampMock: 2026-08-13T09:45:59.621431679Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-105 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.624423179Z:75 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.624423179Z + resTimestampMock: 2026-08-13T09:45:59.624723888Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-106 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.637462971Z:76 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.637462971Z + resTimestampMock: 2026-08-13T09:45:59.637580304Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-107 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.637462971Z:77 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAc= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 7 + - format: 0 + bytes: + - 97 + - 117 + - 100 + - 105 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 59 + - 41 + - format: 0 + bytes: + - 111 + - 118 + - 101 + - 114 + - 45 + - 101 + - 97 + - 114 + - 44 + - 32 + - 66 + - 84 + - 32 + - 53 + - 46 + - 51 + - format: 0 + bytes: + - 78 + - 111 + - 105 + - 115 + - 101 + - 45 + - 67 + - 97 + - 110 + - 99 + - 101 + - 108 + - 108 + - 105 + - 110 + - 103 + - 32 + - 72 + - 101 + - 97 + - 100 + - 112 + - 104 + - 111 + - 110 + - 101 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 199 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 60 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.637462971Z + resTimestampMock: 2026-08-13T09:45:59.637713221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-108 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.638459763Z:78 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.638459763Z + resTimestampMock: 2026-08-13T09:45:59.638586554Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-109 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.652059513Z:79 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.652059513Z + resTimestampMock: 2026-08-13T09:45:59.652319513Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-110 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.652106054Z:80 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAg= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 8 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 141 + - 244 + - format: 0 + bytes: + - 97 + - 117 + - 116 + - 111 + - 45 + - 102 + - 111 + - 99 + - 117 + - 115 + - format: 0 + bytes: + - 49 + - 48 + - 56 + - 48 + - 112 + - 32 + - 87 + - 101 + - 98 + - 99 + - 97 + - 109 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 59 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 45 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.652106054Z + resTimestampMock: 2026-08-13T09:45:59.652475388Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-111 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.653244013Z:81 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.653244013Z + resTimestampMock: 2026-08-13T09:45:59.653378221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-112 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.667045388Z:82 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.667045388Z + resTimestampMock: 2026-08-13T09:45:59.667344471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-113 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.667092179Z:83 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAk= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 9 + - format: 0 + bytes: + - 115 + - 116 + - 111 + - 114 + - 97 + - 103 + - 101 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 225 + - 132 + - format: 0 + bytes: + - 85 + - 83 + - 66 + - 32 + - 51 + - 46 + - 50 + - 32 + - 71 + - 101 + - 110 + - 50 + - format: 0 + bytes: + - 69 + - 120 + - 116 + - 101 + - 114 + - 110 + - 97 + - 108 + - 32 + - 83 + - 83 + - 68 + - 32 + - 49 + - 84 + - 66 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 109 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 70 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.667092179Z + resTimestampMock: 2026-08-13T09:45:59.667462929Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-114 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.670252638Z:84 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.670252638Z + resTimestampMock: 2026-08-13T09:45:59.670467929Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-115 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.687322429Z:85 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.687322429Z + resTimestampMock: 2026-08-13T09:45:59.687580471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-116 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.687381888Z:86 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAo= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 10 + - format: 0 + bytes: + - 97 + - 99 + - 99 + - 101 + - 115 + - 115 + - 111 + - 114 + - 105 + - 101 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 7 + - 47 + - 129 + - format: 0 + bytes: + - 57 + - 48 + - 48 + - 120 + - 52 + - 48 + - 48 + - 109 + - 109 + - format: 0 + bytes: + - 68 + - 101 + - 115 + - 107 + - 32 + - 77 + - 97 + - 116 + - 32 + - 88 + - 76 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 19 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 200 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.687381888Z + resTimestampMock: 2026-08-13T09:45:59.687778554Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-117 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.689050846Z:87 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.689050846Z + resTimestampMock: 2026-08-13T09:45:59.689196638Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-118 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.702963763Z:88 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.702963763Z + resTimestampMock: 2026-08-13T09:45:59.703100471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-119 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.703006429Z:89 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAs= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 11 + - format: 0 + bytes: + - 97 + - 117 + - 100 + - 105 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 7 + - 118 + - 221 + - format: 0 + bytes: + - 99 + - 97 + - 114 + - 100 + - 105 + - 111 + - 105 + - 100 + - 44 + - 32 + - 112 + - 108 + - 117 + - 103 + - 45 + - 97 + - 110 + - 100 + - 45 + - 112 + - 108 + - 97 + - 121 + - format: 0 + bytes: + - 85 + - 83 + - 66 + - 32 + - 77 + - 105 + - 99 + - 114 + - 111 + - 112 + - 104 + - 111 + - 110 + - 101 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 89 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 35 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.703006429Z + resTimestampMock: 2026-08-13T09:45:59.703179304Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-120 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.703766054Z:90 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.703766054Z + resTimestampMock: 2026-08-13T09:45:59.703882679Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-121 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.717316138Z:91 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.717316138Z + resTimestampMock: 2026-08-13T09:45:59.717454179Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-122 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.717363554Z:92 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAw= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 12 + - format: 0 + bytes: + - 99 + - 111 + - 109 + - 112 + - 117 + - 116 + - 101 + - 114 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 7 + - 190 + - 91 + - format: 0 + bytes: + - 49 + - 54 + - 71 + - 66 + - 32 + - 82 + - 65 + - 77 + - 44 + - 32 + - 53 + - 49 + - 50 + - 71 + - 66 + - 32 + - 83 + - 83 + - 68 + - format: 0 + bytes: + - 49 + - 52 + - 45 + - 105 + - 110 + - 99 + - 104 + - 32 + - 76 + - 97 + - 112 + - 116 + - 111 + - 112 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 4 + - 75 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 15 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.717363554Z + resTimestampMock: 2026-08-13T09:45:59.717544971Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-123 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.718590138Z:93 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.718590138Z + resTimestampMock: 2026-08-13T09:45:59.718759138Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-124 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.787377054Z:94 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.787377054Z + resTimestampMock: 2026-08-13T09:45:59.787551096Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-125 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:45:59.787801013Z:95 + precedingTxState: in_tx + bindValues: + - !!binary cGVyaXBoZXJhbHM= + bindFormats: + - 0 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 1 + - peripherals + - 2026-08-13T09:45:59.230084Z + - 65% hot-swappable + - Mechanical Keyboard + - int: "12999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 40 + - - 2 + - peripherals + - 2026-08-13T09:45:59.284298Z + - 7-in-1 aluminium + - USB-C Hub + - int: "3950" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 100 + - - 3 + - peripherals + - 2026-08-13T09:45:59.307213Z + - ergonomic, 2.4GHz + - Wireless Mouse + - int: "2499" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 150 + - - 8 + - peripherals + - 2026-08-13T09:45:59.420404Z + - auto-focus + - 1080p Webcam + - int: "5900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 45 + commandComplete: SELECT 4 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.787801013Z + resTimestampMock: 2026-08-13T09:45:59.788765221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-126 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.791736096Z:96 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.791736096Z + resTimestampMock: 2026-08-13T09:45:59.791914429Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-127 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.806136971Z:97 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.806136971Z + resTimestampMock: 2026-08-13T09:45:59.806427304Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-128 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:45:59.806136971Z:98 + precedingTxState: in_tx + bindValues: + - !!binary bW9uaXRvcnM= + bindFormats: + - 0 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 4 + - monitors + - 2026-08-13T09:45:59.329465Z + - IPS, 60Hz + - 27-inch 4K Monitor + - int: "32900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 25 + - - 5 + - monitors + - 2026-08-13T09:45:59.354492Z + - curved, 144Hz + - 34-inch Ultrawide Monitor + - int: "59900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 12 + commandComplete: SELECT 2 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.806136971Z + resTimestampMock: 2026-08-13T09:45:59.806834013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-129 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.808384096Z:99 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.808384096Z + resTimestampMock: 2026-08-13T09:45:59.808519013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-130 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.823253346Z:100 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.823253346Z + resTimestampMock: 2026-08-13T09:45:59.823455554Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-131 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:45:59.823253346Z:101 + precedingTxState: in_tx + bindValues: + - !!binary YWNjZXNzb3JpZXM= + bindFormats: + - 0 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 6 + - accessories + - 2026-08-13T09:45:59.376546Z + - aluminium, adjustable + - Laptop Stand + - int: "3495" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 80 + - - 10 + - accessories + - 2026-08-13T09:45:59.461761Z + - 900x400mm + - Desk Mat XL + - int: "1999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 200 + commandComplete: SELECT 2 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.823253346Z + resTimestampMock: 2026-08-13T09:45:59.823699013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-132 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.824738554Z:102 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.824738554Z + resTimestampMock: 2026-08-13T09:45:59.825020179Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-133 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.840436471Z:103 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.840436471Z + resTimestampMock: 2026-08-13T09:45:59.840608929Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-134 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:45:59.840822263Z:104 + precedingTxState: in_tx + bindValues: + - !!binary YXVkaW8= + bindFormats: + - 0 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 7 + - audio + - 2026-08-13T09:45:59.399209Z + - over-ear, BT 5.3 + - Noise-Cancelling Headphones + - int: "19999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 60 + - - 11 + - audio + - 2026-08-13T09:45:59.480029Z + - cardioid, plug-and-play + - USB Microphone + - int: "8900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 35 + commandComplete: SELECT 2 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.840822263Z + resTimestampMock: 2026-08-13T09:45:59.841445179Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-135 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.843244554Z:105 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.843244554Z + resTimestampMock: 2026-08-13T09:45:59.843536763Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-136 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.861144513Z:106 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.861144513Z + resTimestampMock: 2026-08-13T09:45:59.861450013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-137 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:45:59.861238638Z:107 + precedingTxState: in_tx + bindValues: + - !!binary c3RvcmFnZQ== + bindFormats: + - 0 + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 9 + - storage + - 2026-08-13T09:45:59.441796Z + - USB 3.2 Gen2 + - External SSD 1TB + - int: "10999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 70 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.861238638Z + resTimestampMock: 2026-08-13T09:45:59.861740221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-138 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.862951471Z:108 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.862951471Z + resTimestampMock: 2026-08-13T09:45:59.863226763Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-139 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.879603596Z:109 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.879603596Z + resTimestampMock: 2026-08-13T09:45:59.879834805Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-140 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:45:59.879603596Z:110 + precedingTxState: in_tx + bindValues: + - !!binary Y29tcHV0ZXJz + bindFormats: + - 0 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 12 + - format: 0 + bytes: + - 99 + - 111 + - 109 + - 112 + - 117 + - 116 + - 101 + - 114 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 7 + - 190 + - 91 + - format: 0 + bytes: + - 49 + - 54 + - 71 + - 66 + - 32 + - 82 + - 65 + - 77 + - 44 + - 32 + - 53 + - 49 + - 50 + - 71 + - 66 + - 32 + - 83 + - 83 + - 68 + - format: 0 + bytes: + - 49 + - 52 + - 45 + - 105 + - 110 + - 99 + - 104 + - 32 + - 76 + - 97 + - 112 + - 116 + - 111 + - 112 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 4 + - 75 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 15 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.879603596Z + resTimestampMock: 2026-08-13T09:45:59.880145805Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-141 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.88116043Z:111 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.88116043Z + resTimestampMock: 2026-08-13T09:45:59.881329638Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-142 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.898216221Z:112 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.898216221Z + resTimestampMock: 2026-08-13T09:45:59.898348263Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-143 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:45:59.898216221Z:113 + precedingTxState: in_tx + bindValues: + - !!binary Z2FtaW5n + bindFormats: + - 0 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.898216221Z + resTimestampMock: 2026-08-13T09:45:59.898536013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-144 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.899382388Z:114 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.899382388Z + resTimestampMock: 2026-08-13T09:45:59.899493888Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-145 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.913624596Z:115 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.913624596Z + resTimestampMock: 2026-08-13T09:45:59.913727471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-146 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.913866555Z:116 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 54 + - 53 + - 37 + - 32 + - 104 + - 111 + - 116 + - 45 + - 115 + - 119 + - 97 + - 112 + - 112 + - 97 + - 98 + - 108 + - 101 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 129 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 40 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.913866555Z + resTimestampMock: 2026-08-13T09:45:59.914004263Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-147 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:0eccdc80934ad13a21d207d4a3c49c1fea511bb6982d08d267330d85326e9bee + sqlNormalized: update products set category=$1,description=$2,name=$3,price=$4,stock_quantity=$5 where id=$6 + paramOids: + - 1043 + - 1043 + - 1043 + - 1700 + - 23 + - 20 + invocationId: sha256:0eccdc80934ad13a21d207d4a3c49c1fea511bb6982d08d267330d85326e9bee:0:2026-08-13T09:45:59.91978993Z:117 + precedingTxState: in_tx + bindValues: + - !!binary cGVyaXBoZXJhbHM= + - !!binary NzUlIGxheW91dCwgUkdC + - !!binary TWVjaGFuaWNhbCBLZXlib2FyZCB2Mg== + - !!binary AAIAAAAAAAIAlSas + - !!binary AAAAIw== + - !!binary AAAAAAAAAAE= + bindFormats: + - 0 + - 0 + - 0 + - 1 + - 1 + - 1 + response: + commandComplete: UPDATE 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.91978993Z + resTimestampMock: 2026-08-13T09:45:59.920424013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-148 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.921440221Z:118 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.921440221Z + resTimestampMock: 2026-08-13T09:45:59.922118638Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-149 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.934575721Z:119 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.934575721Z + resTimestampMock: 2026-08-13T09:45:59.93470668Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-150 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.934575721Z:120 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 35 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.934575721Z + resTimestampMock: 2026-08-13T09:45:59.934864846Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-151 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.935408305Z:121 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.935408305Z + resTimestampMock: 2026-08-13T09:45:59.935595638Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-152 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.949134513Z:122 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.949134513Z + resTimestampMock: 2026-08-13T09:45:59.94927693Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-153 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.949134513Z:123 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAQ= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 4 + - format: 0 + bytes: + - 109 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 5 + - 42 + - 185 + - format: 0 + bytes: + - 73 + - 80 + - 83 + - 44 + - 32 + - 54 + - 48 + - 72 + - 122 + - format: 0 + bytes: + - 50 + - 55 + - 45 + - 105 + - 110 + - 99 + - 104 + - 32 + - 52 + - 75 + - 32 + - 77 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 1 + - 73 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 25 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.949134513Z + resTimestampMock: 2026-08-13T09:45:59.949418721Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-154 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:0eccdc80934ad13a21d207d4a3c49c1fea511bb6982d08d267330d85326e9bee + sqlNormalized: update products set category=$1,description=$2,name=$3,price=$4,stock_quantity=$5 where id=$6 + paramOids: + - 1043 + - 1043 + - 1043 + - 1700 + - 23 + - 20 + invocationId: sha256:0eccdc80934ad13a21d207d4a3c49c1fea511bb6982d08d267330d85326e9bee:0:2026-08-13T09:45:59.950757888Z:124 + precedingTxState: in_tx + bindValues: + - !!binary bW9uaXRvcnM= + - !!binary SVBTLCA2MEh6LCBIRFI0MDA= + - !!binary MjctaW5jaCA0SyBNb25pdG9y + - !!binary AAEAAAAAAAIBKw== + - !!binary AAAAHg== + - !!binary AAAAAAAAAAQ= + bindFormats: + - 0 + - 0 + - 0 + - 1 + - 1 + - 1 + response: + commandComplete: UPDATE 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.950757888Z + resTimestampMock: 2026-08-13T09:45:59.951063055Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-155 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.95123618Z:125 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.95123618Z + resTimestampMock: 2026-08-13T09:45:59.951590305Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-156 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.963993221Z:126 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.963993221Z + resTimestampMock: 2026-08-13T09:45:59.964137055Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-157 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.963993221Z:127 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAQ= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 4 + - format: 0 + bytes: + - 109 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 5 + - 42 + - 185 + - format: 0 + bytes: + - 73 + - 80 + - 83 + - 44 + - 32 + - 54 + - 48 + - 72 + - 122 + - 44 + - 32 + - 72 + - 68 + - 82 + - 52 + - 48 + - 48 + - format: 0 + bytes: + - 50 + - 55 + - 45 + - 105 + - 110 + - 99 + - 104 + - 32 + - 52 + - 75 + - 32 + - 77 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 1 + - 43 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 30 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.963993221Z + resTimestampMock: 2026-08-13T09:45:59.964279013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-158 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.965101555Z:128 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.965101555Z + resTimestampMock: 2026-08-13T09:45:59.965207471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-159 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.978739805Z:129 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.978739805Z + resTimestampMock: 2026-08-13T09:45:59.978895721Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-160 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.978739805Z:130 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAc= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 7 + - format: 0 + bytes: + - 97 + - 117 + - 100 + - 105 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 59 + - 41 + - format: 0 + bytes: + - 111 + - 118 + - 101 + - 114 + - 45 + - 101 + - 97 + - 114 + - 44 + - 32 + - 66 + - 84 + - 32 + - 53 + - 46 + - 51 + - format: 0 + bytes: + - 78 + - 111 + - 105 + - 115 + - 101 + - 45 + - 67 + - 97 + - 110 + - 99 + - 101 + - 108 + - 108 + - 105 + - 110 + - 103 + - 32 + - 72 + - 101 + - 97 + - 100 + - 112 + - 104 + - 111 + - 110 + - 101 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 199 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 60 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.978739805Z + resTimestampMock: 2026-08-13T09:45:59.979050013Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-161 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:0eccdc80934ad13a21d207d4a3c49c1fea511bb6982d08d267330d85326e9bee + sqlNormalized: update products set category=$1,description=$2,name=$3,price=$4,stock_quantity=$5 where id=$6 + paramOids: + - 1043 + - 1043 + - 1043 + - 1700 + - 23 + - 20 + invocationId: sha256:0eccdc80934ad13a21d207d4a3c49c1fea511bb6982d08d267330d85326e9bee:0:2026-08-13T09:45:59.980330721Z:131 + precedingTxState: in_tx + bindValues: + - !!binary YXVkaW8= + - !!binary b3Zlci1lYXIsIEJUIDUuMywgQU5DKw== + - !!binary Tm9pc2UtQ2FuY2VsbGluZyBIZWFkcGhvbmVzIFBybw== + - !!binary AAIAAAAAAAIA+Sas + - !!binary AAAAMg== + - !!binary AAAAAAAAAAc= + bindFormats: + - 0 + - 0 + - 0 + - 1 + - 1 + - 1 + response: + commandComplete: UPDATE 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.980330721Z + resTimestampMock: 2026-08-13T09:45:59.980626471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-162 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.98083918Z:132 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.98083918Z + resTimestampMock: 2026-08-13T09:45:59.981231471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-163 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:45:59.993979555Z:133 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.993979555Z + resTimestampMock: 2026-08-13T09:45:59.99414693Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-164 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:45:59.993979555Z:134 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAc= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 7 + - format: 0 + bytes: + - 97 + - 117 + - 100 + - 105 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 59 + - 41 + - format: 0 + bytes: + - 111 + - 118 + - 101 + - 114 + - 45 + - 101 + - 97 + - 114 + - 44 + - 32 + - 66 + - 84 + - 32 + - 53 + - 46 + - 51 + - 44 + - 32 + - 65 + - 78 + - 67 + - 43 + - format: 0 + bytes: + - 78 + - 111 + - 105 + - 115 + - 101 + - 45 + - 67 + - 97 + - 110 + - 99 + - 101 + - 108 + - 108 + - 105 + - 110 + - 103 + - 32 + - 72 + - 101 + - 97 + - 100 + - 112 + - 104 + - 111 + - 110 + - 101 + - 115 + - 32 + - 80 + - 114 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 249 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 50 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.993979555Z + resTimestampMock: 2026-08-13T09:45:59.994307638Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-165 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:45:59.995213096Z:135 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:45:59.995213096Z + resTimestampMock: 2026-08-13T09:45:59.995332388Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-166 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.008422638Z:136 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.008422638Z + resTimestampMock: 2026-08-13T09:46:00.008575346Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-167 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.008477805Z:137 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAM= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 3 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 4 + - 211 + - 205 + - format: 0 + bytes: + - 101 + - 114 + - 103 + - 111 + - 110 + - 111 + - 109 + - 105 + - 99 + - 44 + - 32 + - 50 + - 46 + - 52 + - 71 + - 72 + - 122 + - format: 0 + bytes: + - 87 + - 105 + - 114 + - 101 + - 108 + - 101 + - 115 + - 115 + - 32 + - 77 + - 111 + - 117 + - 115 + - 101 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 24 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 150 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.008477805Z + resTimestampMock: 2026-08-13T09:46:00.008664096Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-168 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:88e6e38d3ea613d24eefe3a4ec18d71c65703e72674f5dfab01b814f5cf4c412 + sqlNormalized: delete from products where id=$1 + paramOids: + - 20 + invocationId: sha256:88e6e38d3ea613d24eefe3a4ec18d71c65703e72674f5dfab01b814f5cf4c412:0:2026-08-13T09:46:00.012685055Z:138 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAM= + bindFormats: + - 1 + response: + commandComplete: DELETE 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.012685055Z + resTimestampMock: 2026-08-13T09:46:00.01297943Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-169 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.014154805Z:139 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.014154805Z + resTimestampMock: 2026-08-13T09:46:00.015060805Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-170 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.033019513Z:140 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.033019513Z + resTimestampMock: 2026-08-13T09:46:00.033308846Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-171 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.033019513Z:141 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAo= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 10 + - format: 0 + bytes: + - 97 + - 99 + - 99 + - 101 + - 115 + - 115 + - 111 + - 114 + - 105 + - 101 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 7 + - 47 + - 129 + - format: 0 + bytes: + - 57 + - 48 + - 48 + - 120 + - 52 + - 48 + - 48 + - 109 + - 109 + - format: 0 + bytes: + - 68 + - 101 + - 115 + - 107 + - 32 + - 77 + - 97 + - 116 + - 32 + - 88 + - 76 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 19 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 200 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.033019513Z + resTimestampMock: 2026-08-13T09:46:00.033451721Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-172 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:88e6e38d3ea613d24eefe3a4ec18d71c65703e72674f5dfab01b814f5cf4c412 + sqlNormalized: delete from products where id=$1 + paramOids: + - 20 + invocationId: sha256:88e6e38d3ea613d24eefe3a4ec18d71c65703e72674f5dfab01b814f5cf4c412:0:2026-08-13T09:46:00.034976471Z:142 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAo= + bindFormats: + - 1 + response: + commandComplete: DELETE 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.034976471Z + resTimestampMock: 2026-08-13T09:46:00.035378138Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-173 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.035567013Z:143 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.035567013Z + resTimestampMock: 2026-08-13T09:46:00.035953596Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-174 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.050222221Z:144 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.050222221Z + resTimestampMock: 2026-08-13T09:46:00.050409263Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-175 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 order by p1_0.id + invocationId: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780:0:2026-08-13T09:46:00.050273138Z:145 + precedingTxState: in_tx + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 1 + - peripherals + - 2026-08-13T09:45:59.230084Z + - 75% layout, RGB + - Mechanical Keyboard v2 + - int: "14999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 35 + - - 2 + - peripherals + - 2026-08-13T09:45:59.284298Z + - 7-in-1 aluminium + - USB-C Hub + - int: "3950" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 100 + - - 4 + - monitors + - 2026-08-13T09:45:59.329465Z + - IPS, 60Hz, HDR400 + - 27-inch 4K Monitor + - int: "29900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 30 + - - 5 + - monitors + - 2026-08-13T09:45:59.354492Z + - curved, 144Hz + - 34-inch Ultrawide Monitor + - int: "59900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 12 + - - 6 + - accessories + - 2026-08-13T09:45:59.376546Z + - aluminium, adjustable + - Laptop Stand + - int: "3495" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 80 + - - 7 + - audio + - 2026-08-13T09:45:59.399209Z + - over-ear, BT 5.3, ANC+ + - Noise-Cancelling Headphones Pro + - int: "24999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 50 + - - 8 + - peripherals + - 2026-08-13T09:45:59.420404Z + - auto-focus + - 1080p Webcam + - int: "5900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 45 + - - 9 + - storage + - 2026-08-13T09:45:59.441796Z + - USB 3.2 Gen2 + - External SSD 1TB + - int: "10999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 70 + - - 11 + - audio + - 2026-08-13T09:45:59.480029Z + - cardioid, plug-and-play + - USB Microphone + - int: "8900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 35 + - - 12 + - computers + - 2026-08-13T09:45:59.498331Z + - 16GB RAM, 512GB SSD + - 14-inch Laptop + - int: "109900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 15 + commandComplete: SELECT 10 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.050273138Z + resTimestampMock: 2026-08-13T09:46:00.050609263Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-176 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.052886555Z:146 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.052886555Z + resTimestampMock: 2026-08-13T09:46:00.053098888Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-177 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.069462346Z:147 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.069462346Z + resTimestampMock: 2026-08-13T09:46:00.069679096Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-178 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where upper(p1_0.category)=upper($1) order by p1_0.id + paramOids: + - 1043 + invocationId: sha256:d648457f5371a87c3694f645684b8e3406d9898f01a44915577c13e3e1138435:0:2026-08-13T09:46:00.069462346Z:148 + precedingTxState: in_tx + bindValues: + - !!binary cGVyaXBoZXJhbHM= + bindFormats: + - 0 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 35 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 4 + - 122 + - 74 + - format: 0 + bytes: + - 55 + - 45 + - 105 + - 110 + - 45 + - 49 + - 32 + - 97 + - 108 + - 117 + - 109 + - 105 + - 110 + - 105 + - 117 + - 109 + - format: 0 + bytes: + - 85 + - 83 + - 66 + - 45 + - 67 + - 32 + - 72 + - 117 + - 98 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 39 + - 19 + - 136 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 100 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 8 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 141 + - 244 + - format: 0 + bytes: + - 97 + - 117 + - 116 + - 111 + - 45 + - 102 + - 111 + - 99 + - 117 + - 115 + - format: 0 + bytes: + - 49 + - 48 + - 56 + - 48 + - 112 + - 32 + - 87 + - 101 + - 98 + - 99 + - 97 + - 109 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 59 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 45 + commandComplete: SELECT 3 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.069462346Z + resTimestampMock: 2026-08-13T09:46:00.069844971Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-179 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.071406013Z:149 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.071406013Z + resTimestampMock: 2026-08-13T09:46:00.071604221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-180 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.08619768Z:150 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.08619768Z + resTimestampMock: 2026-08-13T09:46:00.086342138Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-181 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.086245596Z:151 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAABhp8= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.086245596Z + resTimestampMock: 2026-08-13T09:46:00.086518805Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-182 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338 + sqlNormalized: ROLLBACK + invocationId: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338:0:2026-08-13T09:46:00.087674721Z:152 + precedingTxState: in_tx + response: + commandComplete: ROLLBACK + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.087674721Z + resTimestampMock: 2026-08-13T09:46:00.087823305Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-183 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.115305305Z:153 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.115305305Z + resTimestampMock: 2026-08-13T09:46:00.115448888Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-184 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.115346638Z:154 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAM= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.115346638Z + resTimestampMock: 2026-08-13T09:46:00.115546055Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-185 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338 + sqlNormalized: ROLLBACK + invocationId: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338:0:2026-08-13T09:46:00.116055763Z:155 + precedingTxState: in_tx + response: + commandComplete: ROLLBACK + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.116055763Z + resTimestampMock: 2026-08-13T09:46:00.116305513Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-186 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.137674846Z:156 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.137674846Z + resTimestampMock: 2026-08-13T09:46:00.137843721Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-187 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.137730971Z:157 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAABhp8= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.137730971Z + resTimestampMock: 2026-08-13T09:46:00.138072513Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-188 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338 + sqlNormalized: ROLLBACK + invocationId: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338:0:2026-08-13T09:46:00.138626138Z:158 + precedingTxState: in_tx + response: + commandComplete: ROLLBACK + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.138626138Z + resTimestampMock: 2026-08-13T09:46:00.139443305Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-189 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.159033138Z:159 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.159033138Z + resTimestampMock: 2026-08-13T09:46:00.159304055Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-190 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.159081513Z:160 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAABWzg= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.159081513Z + resTimestampMock: 2026-08-13T09:46:00.159500138Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-191 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338 + sqlNormalized: ROLLBACK + invocationId: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338:0:2026-08-13T09:46:00.160079471Z:161 + precedingTxState: in_tx + response: + commandComplete: ROLLBACK + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.160079471Z + resTimestampMock: 2026-08-13T09:46:00.160191305Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-192 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.380634096Z:162 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.380634096Z + resTimestampMock: 2026-08-13T09:46:00.380816471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-193 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 order by p1_0.id + invocationId: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780:0:2026-08-13T09:46:00.380702263Z:163 + precedingTxState: in_tx + response: + rowDescription: + - name: id + tableOid: 16386 + colAttrNum: 1 + typeOid: 20 + typeSize: 8 + typeMod: -1 + - name: category + tableOid: 16386 + colAttrNum: 2 + typeOid: 1043 + typeSize: -1 + typeMod: 259 + - name: created_at + tableOid: 16386 + colAttrNum: 3 + typeOid: 1184 + typeSize: 8 + typeMod: 6 + - name: description + tableOid: 16386 + colAttrNum: 4 + typeOid: 1043 + typeSize: -1 + typeMod: 1004 + - name: name + tableOid: 16386 + colAttrNum: 5 + typeOid: 1043 + typeSize: -1 + typeMod: 124 + - name: price + tableOid: 16386 + colAttrNum: 6 + typeOid: 1700 + typeSize: -1 + typeMod: 786438 + - name: stock_quantity + tableOid: 16386 + colAttrNum: 7 + typeOid: 23 + typeSize: 4 + typeMod: -1 + rows: + - - 1 + - peripherals + - 2026-08-13T09:45:59.230084Z + - 75% layout, RGB + - Mechanical Keyboard v2 + - int: "14999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 35 + - - 2 + - peripherals + - 2026-08-13T09:45:59.284298Z + - 7-in-1 aluminium + - USB-C Hub + - int: "3950" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 100 + - - 4 + - monitors + - 2026-08-13T09:45:59.329465Z + - IPS, 60Hz, HDR400 + - 27-inch 4K Monitor + - int: "29900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 30 + - - 5 + - monitors + - 2026-08-13T09:45:59.354492Z + - curved, 144Hz + - 34-inch Ultrawide Monitor + - int: "59900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 12 + - - 6 + - accessories + - 2026-08-13T09:45:59.376546Z + - aluminium, adjustable + - Laptop Stand + - int: "3495" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 80 + - - 7 + - audio + - 2026-08-13T09:45:59.399209Z + - over-ear, BT 5.3, ANC+ + - Noise-Cancelling Headphones Pro + - int: "24999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 50 + - - 8 + - peripherals + - 2026-08-13T09:45:59.420404Z + - auto-focus + - 1080p Webcam + - int: "5900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 45 + - - 9 + - storage + - 2026-08-13T09:45:59.441796Z + - USB 3.2 Gen2 + - External SSD 1TB + - int: "10999" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 70 + - - 11 + - audio + - 2026-08-13T09:45:59.480029Z + - cardioid, plug-and-play + - USB Microphone + - int: "8900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 35 + - - 12 + - computers + - 2026-08-13T09:45:59.498331Z + - 16GB RAM, 512GB SSD + - 14-inch Laptop + - int: "109900" + exp: -2 + nan: false + infinitymodifier: 0 + valid: true + - 15 + commandComplete: SELECT 10 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.380702263Z + resTimestampMock: 2026-08-13T09:46:00.381017596Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-194 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.38403893Z:164 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.38403893Z + resTimestampMock: 2026-08-13T09:46:00.384242096Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-195 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN READ ONLY + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.412728805Z:165 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.412728805Z + resTimestampMock: 2026-08-13T09:46:00.412904138Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-196 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 order by p1_0.id + invocationId: sha256:72cc674a23c11c9d2a3d4092b5ce7a0fc9166827d41bf29b67be2031a74a5780:0:2026-08-13T09:46:00.413012763Z:166 + precedingTxState: in_tx + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 35 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 4 + - 122 + - 74 + - format: 0 + bytes: + - 55 + - 45 + - 105 + - 110 + - 45 + - 49 + - 32 + - 97 + - 108 + - 117 + - 109 + - 105 + - 110 + - 105 + - 117 + - 109 + - format: 0 + bytes: + - 85 + - 83 + - 66 + - 45 + - 67 + - 32 + - 72 + - 117 + - 98 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 39 + - 19 + - 136 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 100 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 4 + - format: 0 + bytes: + - 109 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 5 + - 42 + - 185 + - format: 0 + bytes: + - 73 + - 80 + - 83 + - 44 + - 32 + - 54 + - 48 + - 72 + - 122 + - 44 + - 32 + - 72 + - 68 + - 82 + - 52 + - 48 + - 48 + - format: 0 + bytes: + - 50 + - 55 + - 45 + - 105 + - 110 + - 99 + - 104 + - 32 + - 52 + - 75 + - 32 + - 77 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 1 + - 43 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 30 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 5 + - format: 0 + bytes: + - 109 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 5 + - 140 + - 124 + - format: 0 + bytes: + - 99 + - 117 + - 114 + - 118 + - 101 + - 100 + - 44 + - 32 + - 49 + - 52 + - 52 + - 72 + - 122 + - format: 0 + bytes: + - 51 + - 52 + - 45 + - 105 + - 110 + - 99 + - 104 + - 32 + - 85 + - 108 + - 116 + - 114 + - 97 + - 119 + - 105 + - 100 + - 101 + - 32 + - 77 + - 111 + - 110 + - 105 + - 116 + - 111 + - 114 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 2 + - 87 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 12 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 6 + - format: 0 + bytes: + - 97 + - 99 + - 99 + - 101 + - 115 + - 115 + - 111 + - 114 + - 105 + - 101 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 5 + - 226 + - 162 + - format: 0 + bytes: + - 97 + - 108 + - 117 + - 109 + - 105 + - 110 + - 105 + - 117 + - 109 + - 44 + - 32 + - 97 + - 100 + - 106 + - 117 + - 115 + - 116 + - 97 + - 98 + - 108 + - 101 + - format: 0 + bytes: + - 76 + - 97 + - 112 + - 116 + - 111 + - 112 + - 32 + - 83 + - 116 + - 97 + - 110 + - 100 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 34 + - 37 + - 28 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 80 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 7 + - format: 0 + bytes: + - 97 + - 117 + - 100 + - 105 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 59 + - 41 + - format: 0 + bytes: + - 111 + - 118 + - 101 + - 114 + - 45 + - 101 + - 97 + - 114 + - 44 + - 32 + - 66 + - 84 + - 32 + - 53 + - 46 + - 51 + - 44 + - 32 + - 65 + - 78 + - 67 + - 43 + - format: 0 + bytes: + - 78 + - 111 + - 105 + - 115 + - 101 + - 45 + - 67 + - 97 + - 110 + - 99 + - 101 + - 108 + - 108 + - 105 + - 110 + - 103 + - 32 + - 72 + - 101 + - 97 + - 100 + - 112 + - 104 + - 111 + - 110 + - 101 + - 115 + - 32 + - 80 + - 114 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 249 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 50 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 8 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 141 + - 244 + - format: 0 + bytes: + - 97 + - 117 + - 116 + - 111 + - 45 + - 102 + - 111 + - 99 + - 117 + - 115 + - format: 0 + bytes: + - 49 + - 48 + - 56 + - 48 + - 112 + - 32 + - 87 + - 101 + - 98 + - 99 + - 97 + - 109 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 59 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 45 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 9 + - format: 0 + bytes: + - 115 + - 116 + - 111 + - 114 + - 97 + - 103 + - 101 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 6 + - 225 + - 132 + - format: 0 + bytes: + - 85 + - 83 + - 66 + - 32 + - 51 + - 46 + - 50 + - 32 + - 71 + - 101 + - 110 + - 50 + - format: 0 + bytes: + - 69 + - 120 + - 116 + - 101 + - 114 + - 110 + - 97 + - 108 + - 32 + - 83 + - 83 + - 68 + - 32 + - 49 + - 84 + - 66 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 109 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 70 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 11 + - format: 0 + bytes: + - 97 + - 117 + - 100 + - 105 + - 111 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 7 + - 118 + - 221 + - format: 0 + bytes: + - 99 + - 97 + - 114 + - 100 + - 105 + - 111 + - 105 + - 100 + - 44 + - 32 + - 112 + - 108 + - 117 + - 103 + - 45 + - 97 + - 110 + - 100 + - 45 + - 112 + - 108 + - 97 + - 121 + - format: 0 + bytes: + - 85 + - 83 + - 66 + - 32 + - 77 + - 105 + - 99 + - 114 + - 111 + - 112 + - 104 + - 111 + - 110 + - 101 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 89 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 35 + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 12 + - format: 0 + bytes: + - 99 + - 111 + - 109 + - 112 + - 117 + - 116 + - 101 + - 114 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 7 + - 190 + - 91 + - format: 0 + bytes: + - 49 + - 54 + - 71 + - 66 + - 32 + - 82 + - 65 + - 77 + - 44 + - 32 + - 53 + - 49 + - 50 + - 71 + - 66 + - 32 + - 83 + - 83 + - 68 + - format: 0 + bytes: + - 49 + - 52 + - 45 + - 105 + - 110 + - 99 + - 104 + - 32 + - 76 + - 97 + - 112 + - 116 + - 111 + - 112 + - format: 1 + bytes: + - 0 + - 1 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 4 + - 75 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 15 + commandComplete: SELECT 10 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.413012763Z + resTimestampMock: 2026-08-13T09:46:00.41326593Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-197 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.414755055Z:167 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.414755055Z + resTimestampMock: 2026-08-13T09:46:00.41493318Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-198 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.432930805Z:168 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.432930805Z + resTimestampMock: 2026-08-13T09:46:00.433110638Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-199 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.432930805Z:169 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 35 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.432930805Z + resTimestampMock: 2026-08-13T09:46:00.433200221Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-200 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3938a5e51e5d48f58ec54c7aff7d2bd3724556a9f04975b298620cbea33389fd + sqlNormalized: update products p1_0 set stock_quantity=(p1_0.stock_quantity+$1) where p1_0.id=$2 and (p1_0.stock_quantity+$3)>=$4 + paramOids: + - 23 + - 20 + - 23 + invocationId: sha256:3938a5e51e5d48f58ec54c7aff7d2bd3724556a9f04975b298620cbea33389fd:0:2026-08-13T09:46:00.445759138Z:170 + precedingTxState: in_tx + bindValues: + - !!binary ////+w== + - !!binary AAAAAAAAAAE= + - !!binary ////+w== + bindFormats: + - 1 + - 1 + - 1 + response: + commandComplete: UPDATE 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.445759138Z + resTimestampMock: 2026-08-13T09:46:00.446296763Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-201 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.447324305Z:171 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 30 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.447324305Z + resTimestampMock: 2026-08-13T09:46:00.44747918Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-202 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.448157763Z:172 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.448157763Z + resTimestampMock: 2026-08-13T09:46:00.448487846Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-203 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.461563805Z:173 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.461563805Z + resTimestampMock: 2026-08-13T09:46:00.461703055Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-204 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.461620596Z:174 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 30 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.461620596Z + resTimestampMock: 2026-08-13T09:46:00.461885346Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-205 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3938a5e51e5d48f58ec54c7aff7d2bd3724556a9f04975b298620cbea33389fd + sqlNormalized: update products p1_0 set stock_quantity=(p1_0.stock_quantity+$1) where p1_0.id=$2 and (p1_0.stock_quantity+$3)>=$4 + paramOids: + - 23 + - 20 + - 23 + invocationId: sha256:3938a5e51e5d48f58ec54c7aff7d2bd3724556a9f04975b298620cbea33389fd:0:2026-08-13T09:46:00.463485013Z:175 + precedingTxState: in_tx + bindValues: + - !!binary AAAAZA== + - !!binary AAAAAAAAAAE= + - !!binary AAAAZA== + bindFormats: + - 1 + - 1 + - 1 + response: + commandComplete: UPDATE 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.463485013Z + resTimestampMock: 2026-08-13T09:46:00.463766471Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-206 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.464294888Z:176 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 130 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.464294888Z + resTimestampMock: 2026-08-13T09:46:00.464403971Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-207 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439 + sqlNormalized: COMMIT + invocationId: sha256:cd3c36208f26fbef67b62d1116148a76e1eee8b227747c2256be5d249d69a439:0:2026-08-13T09:46:00.464928513Z:177 + precedingTxState: in_tx + response: + commandComplete: COMMIT + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.464928513Z + resTimestampMock: 2026-08-13T09:46:00.465250055Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-208 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.479606638Z:178 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.479606638Z + resTimestampMock: 2026-08-13T09:46:00.47974093Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-209 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.479606638Z:179 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + rows: + - - format: 1 + bytes: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 1 + - format: 0 + bytes: + - 112 + - 101 + - 114 + - 105 + - 112 + - 104 + - 101 + - 114 + - 97 + - 108 + - 115 + - format: 1 + bytes: + - 0 + - 2 + - 251 + - 233 + - 87 + - 3 + - 166 + - 132 + - format: 0 + bytes: + - 55 + - 53 + - 37 + - 32 + - 108 + - 97 + - 121 + - 111 + - 117 + - 116 + - 44 + - 32 + - 82 + - 71 + - 66 + - format: 0 + bytes: + - 77 + - 101 + - 99 + - 104 + - 97 + - 110 + - 105 + - 99 + - 97 + - 108 + - 32 + - 75 + - 101 + - 121 + - 98 + - 111 + - 97 + - 114 + - 100 + - 32 + - 118 + - 50 + - format: 1 + bytes: + - 0 + - 2 + - 0 + - 0 + - 0 + - 0 + - 0 + - 2 + - 0 + - 149 + - 38 + - 172 + - format: 1 + bytes: + - 0 + - 0 + - 0 + - 130 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.479606638Z + resTimestampMock: 2026-08-13T09:46:00.479921846Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-210 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:3938a5e51e5d48f58ec54c7aff7d2bd3724556a9f04975b298620cbea33389fd + sqlNormalized: update products p1_0 set stock_quantity=(p1_0.stock_quantity+$1) where p1_0.id=$2 and (p1_0.stock_quantity+$3)>=$4 + paramOids: + - 23 + - 20 + - 23 + invocationId: sha256:3938a5e51e5d48f58ec54c7aff7d2bd3724556a9f04975b298620cbea33389fd:0:2026-08-13T09:46:00.481882138Z:180 + precedingTxState: in_tx + bindValues: + - !!binary //55YQ== + - !!binary AAAAAAAAAAE= + - !!binary //55YQ== + bindFormats: + - 1 + - 1 + - 1 + response: + commandComplete: UPDATE 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.481882138Z + resTimestampMock: 2026-08-13T09:46:00.482213555Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-211 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:254801e1e89bac2c4da78db63df9072dc6e671614b56257f551f3f0c1074bc1e + sqlNormalized: select count(*) from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:254801e1e89bac2c4da78db63df9072dc6e671614b56257f551f3f0c1074bc1e:0:2026-08-13T09:46:00.496005596Z:181 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAAAAAE= + bindFormats: + - 1 + response: + rowDescription: + - name: count + typeOid: 20 + typeSize: 8 + typeMod: -1 + rows: + - - 1 + commandComplete: SELECT 1 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.496005596Z + resTimestampMock: 2026-08-13T09:46:00.496579513Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-212 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338 + sqlNormalized: ROLLBACK + invocationId: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338:0:2026-08-13T09:46:00.49871093Z:182 + precedingTxState: in_tx + response: + commandComplete: ROLLBACK + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.49871093Z + resTimestampMock: 2026-08-13T09:46:00.498872805Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-213 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8 + sqlNormalized: BEGIN + invocationId: sha256:83b556f1ffe78c1283dfa0a60cb7a032029891447cb14af2bb30a4e13b08e2e8:0:2026-08-13T09:46:00.520345388Z:183 + precedingTxState: idle + response: + commandComplete: BEGIN + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.520345388Z + resTimestampMock: 2026-08-13T09:46:00.52048493Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-214 +spec: + metadata: + class: APP + connID: "0" + lifetime: perTest + type: mocks + postgresV3: + type: query + query: + class: APP + lifetime: perTest + sqlAstHash: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65 + sqlNormalized: select p1_0.id,p1_0.category,p1_0.created_at,p1_0.description,p1_0.name,p1_0.price,p1_0.stock_quantity from products p1_0 where p1_0.id=$1 + paramOids: + - 20 + invocationId: sha256:f6906d60b464001858cdc4f2a8d3fa2e43aec2e414078b3f3a5b8dffa4257f65:0:2026-08-13T09:46:00.520345388Z:184 + precedingTxState: in_tx + bindValues: + - !!binary AAAAAAABhp8= + bindFormats: + - 1 + resultFormats: + - 1 + - 0 + - 1 + - 0 + - 0 + - 1 + - 1 + response: + commandComplete: SELECT 0 + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.520345388Z + resTimestampMock: 2026-08-13T09:46:00.520597388Z +connectionId: "0" +--- +version: api.keploy.io/v1beta1 +kind: PostgresV3 +name: mock-215 +spec: + metadata: + class: TX + connID: "0" + lifetime: session + type: config + postgresV3: + type: query + query: + class: TX + lifetime: session + sqlAstHash: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338 + sqlNormalized: ROLLBACK + invocationId: sha256:cf2f9b5d15a69e62c120b1649c7b9916d06f96e4dbf83b4e6fee004915384338:0:2026-08-13T09:46:00.521004346Z:185 + precedingTxState: in_tx + response: + commandComplete: ROLLBACK + sideEffects: {} + reqTimestampMock: 2026-08-13T09:46:00.521004346Z + resTimestampMock: 2026-08-13T09:46:00.521316805Z +connectionId: "0" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-1.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-1.yaml new file mode 100644 index 00000000..c891812a --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-1.yaml @@ -0,0 +1,38 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: delete-api-products-by-id-1 +spec: + metadata: {} + req: + method: DELETE + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/3 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.006322596Z + resp: + status_code: 204 + header: + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: "" + status_message: No Content + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.016106721Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request DELETE \ + --url http://localhost:8080/api/products/3 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-2.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-2.yaml new file mode 100644 index 00000000..8ef7cfc1 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-2.yaml @@ -0,0 +1,38 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: delete-api-products-by-id-2 +spec: + metadata: {} + req: + method: DELETE + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/10 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.030624096Z + resp: + status_code: 204 + header: + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: "" + status_message: No Content + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.036596263Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request DELETE \ + --url http://localhost:8080/api/products/10 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-3.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-3.yaml new file mode 100644 index 00000000..8f499fc1 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/delete-api-products-by-id-3.yaml @@ -0,0 +1,39 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: delete-api-products-by-id-3 +spec: + metadata: {} + req: + method: DELETE + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/88888 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.157014263Z + resp: + status_code: 404 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":404,"error":"Not Found","message":"Product 88888 not found"}' + status_message: Not Found + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.161648555Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request DELETE \ + --url http://localhost:8080/api/products/88888 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-1.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-1.yaml new file mode 100644 index 00000000..b2de169c --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-1.yaml @@ -0,0 +1,40 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-1 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:58.075310804Z + resp: + status_code: 200 + header: + Content-Length: "2" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:58 GMT + body: '[]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:58.536684971Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614358 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-10.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-10.yaml new file mode 100644 index 00000000..a7658128 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-10.yaml @@ -0,0 +1,42 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-10 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=gaming + url_params: + category: gaming + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.895803055Z + resp: + status_code: 200 + header: + Content-Length: "2" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.900507221Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=gaming \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-11.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-11.yaml new file mode 100644 index 00000000..e392b9e4 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-11.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-11 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.047595096Z + resp: + status_code: 200 + header: + Content-Length: "1688" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '[{"id":1,"name":"Mechanical Keyboard v2","description":"75% layout, RGB","price":149.99,"stockQuantity":35,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"},{"id":2,"name":"USB-C Hub","description":"7-in-1 aluminium","price":39.50,"stockQuantity":100,"category":"peripherals","createdAt":"2026-08-13T09:45:59.284298Z"},{"id":4,"name":"27-inch 4K Monitor","description":"IPS, 60Hz, HDR400","price":299.00,"stockQuantity":30,"category":"monitors","createdAt":"2026-08-13T09:45:59.329465Z"},{"id":5,"name":"34-inch Ultrawide Monitor","description":"curved, 144Hz","price":599.00,"stockQuantity":12,"category":"monitors","createdAt":"2026-08-13T09:45:59.354492Z"},{"id":6,"name":"Laptop Stand","description":"aluminium, adjustable","price":34.95,"stockQuantity":80,"category":"accessories","createdAt":"2026-08-13T09:45:59.376546Z"},{"id":7,"name":"Noise-Cancelling Headphones Pro","description":"over-ear, BT 5.3, ANC+","price":249.99,"stockQuantity":50,"category":"audio","createdAt":"2026-08-13T09:45:59.399209Z"},{"id":8,"name":"1080p Webcam","description":"auto-focus","price":59.00,"stockQuantity":45,"category":"peripherals","createdAt":"2026-08-13T09:45:59.420404Z"},{"id":9,"name":"External SSD 1TB","description":"USB 3.2 Gen2","price":109.99,"stockQuantity":70,"category":"storage","createdAt":"2026-08-13T09:45:59.441796Z"},{"id":11,"name":"USB Microphone","description":"cardioid, plug-and-play","price":89.00,"stockQuantity":35,"category":"audio","createdAt":"2026-08-13T09:45:59.480029Z"},{"id":12,"name":"14-inch Laptop","description":"16GB RAM, 512GB SSD","price":1099.00,"stockQuantity":15,"category":"computers","createdAt":"2026-08-13T09:45:59.498331Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.054597513Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-12.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-12.yaml new file mode 100644 index 00000000..1700914b --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-12.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-12 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=peripherals + url_params: + category: peripherals + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.066984221Z + resp: + status_code: 200 + header: + Content-Length: "495" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '[{"id":1,"name":"Mechanical Keyboard v2","description":"75% layout, RGB","price":149.99,"stockQuantity":35,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"},{"id":2,"name":"USB-C Hub","description":"7-in-1 aluminium","price":39.50,"stockQuantity":100,"category":"peripherals","createdAt":"2026-08-13T09:45:59.284298Z"},{"id":8,"name":"1080p Webcam","description":"auto-focus","price":59.00,"stockQuantity":45,"category":"peripherals","createdAt":"2026-08-13T09:45:59.420404Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.073723596Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=peripherals \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-2.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-2.yaml new file mode 100644 index 00000000..26fdb5e8 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-2.yaml @@ -0,0 +1,40 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-2 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.134663804Z + resp: + status_code: 200 + header: + Content-Length: "2" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.141810971Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-3.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-3.yaml new file mode 100644 index 00000000..b465724b --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-3.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-3 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.514448513Z + resp: + status_code: 200 + header: + Content-Length: "1995" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[{"id":1,"name":"Mechanical Keyboard","description":"65% hot-swappable","price":129.99,"stockQuantity":40,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"},{"id":2,"name":"USB-C Hub","description":"7-in-1 aluminium","price":39.50,"stockQuantity":100,"category":"peripherals","createdAt":"2026-08-13T09:45:59.284298Z"},{"id":3,"name":"Wireless Mouse","description":"ergonomic, 2.4GHz","price":24.99,"stockQuantity":150,"category":"peripherals","createdAt":"2026-08-13T09:45:59.307213Z"},{"id":4,"name":"27-inch 4K Monitor","description":"IPS, 60Hz","price":329.00,"stockQuantity":25,"category":"monitors","createdAt":"2026-08-13T09:45:59.329465Z"},{"id":5,"name":"34-inch Ultrawide Monitor","description":"curved, 144Hz","price":599.00,"stockQuantity":12,"category":"monitors","createdAt":"2026-08-13T09:45:59.354492Z"},{"id":6,"name":"Laptop Stand","description":"aluminium, adjustable","price":34.95,"stockQuantity":80,"category":"accessories","createdAt":"2026-08-13T09:45:59.376546Z"},{"id":7,"name":"Noise-Cancelling Headphones","description":"over-ear, BT 5.3","price":199.99,"stockQuantity":60,"category":"audio","createdAt":"2026-08-13T09:45:59.399209Z"},{"id":8,"name":"1080p Webcam","description":"auto-focus","price":59.00,"stockQuantity":45,"category":"peripherals","createdAt":"2026-08-13T09:45:59.420404Z"},{"id":9,"name":"External SSD 1TB","description":"USB 3.2 Gen2","price":109.99,"stockQuantity":70,"category":"storage","createdAt":"2026-08-13T09:45:59.441796Z"},{"id":10,"name":"Desk Mat XL","description":"900x400mm","price":19.99,"stockQuantity":200,"category":"accessories","createdAt":"2026-08-13T09:45:59.461761Z"},{"id":11,"name":"USB Microphone","description":"cardioid, plug-and-play","price":89.00,"stockQuantity":35,"category":"audio","createdAt":"2026-08-13T09:45:59.480029Z"},{"id":12,"name":"14-inch Laptop","description":"16GB RAM, 512GB SSD","price":1099.00,"stockQuantity":15,"category":"computers","createdAt":"2026-08-13T09:45:59.498331Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.523892263Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-4.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-4.yaml new file mode 100644 index 00000000..0b98665e --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-4.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-4 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=peripherals + url_params: + category: peripherals + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.730453929Z + resp: + status_code: 200 + header: + Content-Length: "662" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[{"id":1,"name":"Mechanical Keyboard","description":"65% hot-swappable","price":129.99,"stockQuantity":40,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"},{"id":2,"name":"USB-C Hub","description":"7-in-1 aluminium","price":39.50,"stockQuantity":100,"category":"peripherals","createdAt":"2026-08-13T09:45:59.284298Z"},{"id":3,"name":"Wireless Mouse","description":"ergonomic, 2.4GHz","price":24.99,"stockQuantity":150,"category":"peripherals","createdAt":"2026-08-13T09:45:59.307213Z"},{"id":8,"name":"1080p Webcam","description":"auto-focus","price":59.00,"stockQuantity":45,"category":"peripherals","createdAt":"2026-08-13T09:45:59.420404Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.793465304Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=peripherals \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-5.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-5.yaml new file mode 100644 index 00000000..d38a78e2 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-5.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-5 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=monitors + url_params: + category: monitors + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.803908138Z + resp: + status_code: 200 + header: + Content-Length: "334" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[{"id":4,"name":"27-inch 4K Monitor","description":"IPS, 60Hz","price":329.00,"stockQuantity":25,"category":"monitors","createdAt":"2026-08-13T09:45:59.329465Z"},{"id":5,"name":"34-inch Ultrawide Monitor","description":"curved, 144Hz","price":599.00,"stockQuantity":12,"category":"monitors","createdAt":"2026-08-13T09:45:59.354492Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.809909763Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=monitors \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-6.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-6.yaml new file mode 100644 index 00000000..89ca2142 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-6.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-6 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=accessories + url_params: + category: accessories + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.820486554Z + resp: + status_code: 200 + header: + Content-Length: "328" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[{"id":6,"name":"Laptop Stand","description":"aluminium, adjustable","price":34.95,"stockQuantity":80,"category":"accessories","createdAt":"2026-08-13T09:45:59.376546Z"},{"id":10,"name":"Desk Mat XL","description":"900x400mm","price":19.99,"stockQuantity":200,"category":"accessories","createdAt":"2026-08-13T09:45:59.461761Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.826067888Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=accessories \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-7.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-7.yaml new file mode 100644 index 00000000..640763a2 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-7.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-7 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=audio + url_params: + category: audio + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.837360388Z + resp: + status_code: 200 + header: + Content-Length: "343" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[{"id":7,"name":"Noise-Cancelling Headphones","description":"over-ear, BT 5.3","price":199.99,"stockQuantity":60,"category":"audio","createdAt":"2026-08-13T09:45:59.399209Z"},{"id":11,"name":"USB Microphone","description":"cardioid, plug-and-play","price":89.00,"stockQuantity":35,"category":"audio","createdAt":"2026-08-13T09:45:59.480029Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.845592638Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=audio \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-8.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-8.yaml new file mode 100644 index 00000000..271412a4 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-8.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-8 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=storage + url_params: + category: storage + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.858410888Z + resp: + status_code: 200 + header: + Content-Length: "162" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[{"id":9,"name":"External SSD 1TB","description":"USB 3.2 Gen2","price":109.99,"stockQuantity":70,"category":"storage","createdAt":"2026-08-13T09:45:59.441796Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.86475443Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=storage \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-9.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-9.yaml new file mode 100644 index 00000000..bdce039e --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-9.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-9 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products?category=computers + url_params: + category: computers + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.876746263Z + resp: + status_code: 200 + header: + Content-Length: "171" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '[{"id":12,"name":"14-inch Laptop","description":"16GB RAM, 512GB SSD","price":1099.00,"stockQuantity":15,"category":"computers","createdAt":"2026-08-13T09:45:59.498331Z"}]' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.883312346Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products?category=computers \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-1.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-1.yaml new file mode 100644 index 00000000..bf1a102f --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-1.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-1 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/1 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.534145096Z + resp: + status_code: 200 + header: + Content-Length: "172" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":1,"name":"Mechanical Keyboard","description":"65% hot-swappable","price":129.99,"stockQuantity":40,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.546138971Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/1 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-10.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-10.yaml new file mode 100644 index 00000000..8783121b --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-10.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-10 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/10 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.685192388Z + resp: + status_code: 200 + header: + Content-Length: "157" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":10,"name":"Desk Mat XL","description":"900x400mm","price":19.99,"stockQuantity":200,"category":"accessories","createdAt":"2026-08-13T09:45:59.461761Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.690895554Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/10 \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-11.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-11.yaml new file mode 100644 index 00000000..5de628d9 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-11.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-11 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/11 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.701376263Z + resp: + status_code: 200 + header: + Content-Length: "167" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":11,"name":"USB Microphone","description":"cardioid, plug-and-play","price":89.00,"stockQuantity":35,"category":"audio","createdAt":"2026-08-13T09:45:59.480029Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.705104138Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/11 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-12.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-12.yaml new file mode 100644 index 00000000..45527dd6 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-12.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-12 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/12 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.715407804Z + resp: + status_code: 200 + header: + Content-Length: "169" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":12,"name":"14-inch Laptop","description":"16GB RAM, 512GB SSD","price":1099.00,"stockQuantity":15,"category":"computers","createdAt":"2026-08-13T09:45:59.498331Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.719879013Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/12 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-13.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-13.yaml new file mode 100644 index 00000000..9086c0aa --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-13.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-13 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/1 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.933068096Z + resp: + status_code: 200 + header: + Content-Length: "173" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":1,"name":"Mechanical Keyboard v2","description":"75% layout, RGB","price":149.99,"stockQuantity":35,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.937145888Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/1 \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-14.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-14.yaml new file mode 100644 index 00000000..cdf7c64b --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-14.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-14 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/4 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.962275346Z + resp: + status_code: 200 + header: + Content-Length: "168" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":4,"name":"27-inch 4K Monitor","description":"IPS, 60Hz, HDR400","price":299.00,"stockQuantity":30,"category":"monitors","createdAt":"2026-08-13T09:45:59.329465Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.96618193Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/4 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-15.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-15.yaml new file mode 100644 index 00000000..86829ae2 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-15.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-15 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/7 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.992347055Z + resp: + status_code: 200 + header: + Content-Length: "183" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":7,"name":"Noise-Cancelling Headphones Pro","description":"over-ear, BT 5.3, ANC+","price":249.99,"stockQuantity":50,"category":"audio","createdAt":"2026-08-13T09:45:59.399209Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.996277763Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/7 \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-16.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-16.yaml new file mode 100644 index 00000000..73ef9023 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-16.yaml @@ -0,0 +1,39 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-16 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/99999 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.084461596Z + resp: + status_code: 404 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":404,"error":"Not Found","message":"Product 99999 not found"}' + status_message: Not Found + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.095372888Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/99999 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-17.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-17.yaml new file mode 100644 index 00000000..3477f8d7 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-17.yaml @@ -0,0 +1,39 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-17 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/3 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.113740346Z + resp: + status_code: 404 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":404,"error":"Not Found","message":"Product 3 not found"}' + status_message: Not Found + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.117790346Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/3 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-2.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-2.yaml new file mode 100644 index 00000000..f5002fa3 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-2.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-2 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/2 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.556217138Z + resp: + status_code: 200 + header: + Content-Length: "161" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":2,"name":"USB-C Hub","description":"7-in-1 aluminium","price":39.50,"stockQuantity":100,"category":"peripherals","createdAt":"2026-08-13T09:45:59.284298Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.560162804Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/2 \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-3.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-3.yaml new file mode 100644 index 00000000..46a53e25 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-3.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-3 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/3 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.570290804Z + resp: + status_code: 200 + header: + Content-Length: "167" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":3,"name":"Wireless Mouse","description":"ergonomic, 2.4GHz","price":24.99,"stockQuantity":150,"category":"peripherals","createdAt":"2026-08-13T09:45:59.307213Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.575119971Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/3 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-4.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-4.yaml new file mode 100644 index 00000000..767d77c3 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-4.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-4 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/4 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.585763096Z + resp: + status_code: 200 + header: + Content-Length: "160" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":4,"name":"27-inch 4K Monitor","description":"IPS, 60Hz","price":329.00,"stockQuantity":25,"category":"monitors","createdAt":"2026-08-13T09:45:59.329465Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.591937513Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/4 \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-5.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-5.yaml new file mode 100644 index 00000000..ebc286fe --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-5.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-5 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/5 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.603063054Z + resp: + status_code: 200 + header: + Content-Length: "171" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":5,"name":"34-inch Ultrawide Monitor","description":"curved, 144Hz","price":599.00,"stockQuantity":12,"category":"monitors","createdAt":"2026-08-13T09:45:59.354492Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.608060096Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/5 \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-6.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-6.yaml new file mode 100644 index 00000000..0c2721fd --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-6.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-6 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/6 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.618740179Z + resp: + status_code: 200 + header: + Content-Length: "168" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":6,"name":"Laptop Stand","description":"aluminium, adjustable","price":34.95,"stockQuantity":80,"category":"accessories","createdAt":"2026-08-13T09:45:59.376546Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.626343763Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/6 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-7.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-7.yaml new file mode 100644 index 00000000..d805ca8f --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-7.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-7 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/7 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.635955388Z + resp: + status_code: 200 + header: + Content-Length: "173" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":7,"name":"Noise-Cancelling Headphones","description":"over-ear, BT 5.3","price":199.99,"stockQuantity":60,"category":"audio","createdAt":"2026-08-13T09:45:59.399209Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.639838513Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/7 \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-8.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-8.yaml new file mode 100644 index 00000000..56adb1e9 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-8.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-8 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/8 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.650170513Z + resp: + status_code: 200 + header: + Content-Length: "157" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":8,"name":"1080p Webcam","description":"auto-focus","price":59.00,"stockQuantity":45,"category":"peripherals","createdAt":"2026-08-13T09:45:59.420404Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.654396721Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/8 \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-9.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-9.yaml new file mode 100644 index 00000000..041e9270 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-by-id-9.yaml @@ -0,0 +1,41 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-by-id-9 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/9 + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:45:59.665269638Z + resp: + status_code: 200 + header: + Content-Length: "160" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":9,"name":"External SSD 1TB","description":"USB 3.2 Gen2","price":109.99,"stockQuantity":70,"category":"storage","createdAt":"2026-08-13T09:45:59.441796Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.671888888Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/9 \ + --header 'Accept: */*' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-summary-1.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-summary-1.yaml new file mode 100644 index 00000000..03de02d4 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-summary-1.yaml @@ -0,0 +1,40 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-summary-1 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/summary + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.37699143Z + resp: + status_code: 200 + header: + Content-Length: "632" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"totalProducts":10,"totalStockUnits":472,"totalInventoryValue":70607.45,"lowStockThreshold":5,"lowStockProducts":[],"categories":[{"category":"computers","productCount":1,"stockUnits":15,"inventoryValue":16485.00},{"category":"monitors","productCount":2,"stockUnits":42,"inventoryValue":16158.00},{"category":"audio","productCount":2,"stockUnits":85,"inventoryValue":15614.50},{"category":"peripherals","productCount":3,"stockUnits":180,"inventoryValue":11854.65},{"category":"storage","productCount":1,"stockUnits":70,"inventoryValue":7699.30},{"category":"accessories","productCount":1,"stockUnits":80,"inventoryValue":2796.00}]}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.392971555Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/summary \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-summary-2.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-summary-2.yaml new file mode 100644 index 00000000..576276e5 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/get-api-products-summary-2.yaml @@ -0,0 +1,42 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: get-api-products-summary-2 +spec: + metadata: {} + req: + method: GET + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/summary?lowStockThreshold=15 + url_params: + lowStockThreshold: "15" + header: + Accept: '*/*' + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: "" + timestamp: 2026-08-13T09:46:00.410088513Z + resp: + status_code: 200 + header: + Content-Length: "677" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"totalProducts":10,"totalStockUnits":472,"totalInventoryValue":70607.45,"lowStockThreshold":15,"lowStockProducts":["34-inch Ultrawide Monitor","14-inch Laptop"],"categories":[{"category":"computers","productCount":1,"stockUnits":15,"inventoryValue":16485.00},{"category":"monitors","productCount":2,"stockUnits":42,"inventoryValue":16158.00},{"category":"audio","productCount":2,"stockUnits":85,"inventoryValue":15614.50},{"category":"peripherals","productCount":3,"stockUnits":180,"inventoryValue":11854.65},{"category":"storage","productCount":1,"stockUnits":70,"inventoryValue":7699.30},{"category":"accessories","productCount":1,"stockUnits":80,"inventoryValue":2796.00}]}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.416176638Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: | + curl --request GET \ + --url http://localhost:8080/api/products/summary?lowStockThreshold=15 \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-1.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-1.yaml new file mode 100644 index 00000000..5974ad02 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-1.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: patch-api-products-by-id-stock-1 +spec: + metadata: {} + req: + method: PATCH + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/1/stock + header: + Accept: '*/*' + Content-Length: "12" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"delta":-5}' + timestamp: 2026-08-13T09:46:00.42716218Z + resp: + status_code: 200 + header: + Content-Length: "173" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"id":1,"name":"Mechanical Keyboard v2","description":"75% layout, RGB","price":149.99,"stockQuantity":30,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.449570805Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request PATCH \ + --url http://localhost:8080/api/products/1/stock \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"delta\":-5}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-2.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-2.yaml new file mode 100644 index 00000000..abf4c5fa --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-2.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: patch-api-products-by-id-stock-2 +spec: + metadata: {} + req: + method: PATCH + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/1/stock + header: + Accept: '*/*' + Content-Length: "13" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"delta":100}' + timestamp: 2026-08-13T09:46:00.45932843Z + resp: + status_code: 200 + header: + Content-Length: "174" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"id":1,"name":"Mechanical Keyboard v2","description":"75% layout, RGB","price":149.99,"stockQuantity":130,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.466155471Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request PATCH \ + --url http://localhost:8080/api/products/1/stock \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"delta\":100}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-3.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-3.yaml new file mode 100644 index 00000000..9b42a215 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-3.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: patch-api-products-by-id-stock-3 +spec: + metadata: {} + req: + method: PATCH + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/1/stock + header: + Accept: '*/*' + Content-Length: "16" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"delta":-99999}' + timestamp: 2026-08-13T09:46:00.476814138Z + resp: + status_code: 409 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":409,"error":"Conflict","message":"Cannot adjust stock of product 1 by -99999: only 130 in stock"}' + status_message: Conflict + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.500331555Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request PATCH \ + --url http://localhost:8080/api/products/1/stock \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"delta\":-99999}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-4.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-4.yaml new file mode 100644 index 00000000..16b4a90e --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/patch-api-products-by-id-stock-4.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: patch-api-products-by-id-stock-4 +spec: + metadata: {} + req: + method: PATCH + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/99999/stock + header: + Accept: '*/*' + Content-Length: "11" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"delta":1}' + timestamp: 2026-08-13T09:46:00.518180263Z + resp: + status_code: 404 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":404,"error":"Not Found","message":"Product 99999 not found"}' + status_message: Not Found + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.523323388Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request PATCH \ + --url http://localhost:8080/api/products/99999/stock \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"delta\":1}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-1.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-1.yaml new file mode 100644 index 00000000..2d305300 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-1.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-1 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "123" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Mechanical Keyboard","description":"65% hot-swappable","price":129.99,"stockQuantity":40,"category":"peripherals"}' + timestamp: 2026-08-13T09:45:59.153460179Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/1 + body: '{"id":1,"name":"Mechanical Keyboard","description":"65% hot-swappable","price":129.99,"stockQuantity":40,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230083679Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.264043263Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --data "{\"name\":\"Mechanical Keyboard\",\"description\":\"65% hot-swappable\",\"price\":129.99,\"stockQuantity\":40,\"category\":\"peripherals\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-10.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-10.yaml new file mode 100644 index 00000000..17ee924f --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-10.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-10 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "107" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Desk Mat XL","description":"900x400mm","price":19.99,"stockQuantity":200,"category":"accessories"}' + timestamp: 2026-08-13T09:45:59.459791054Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/10 + body: '{"id":10,"name":"Desk Mat XL","description":"900x400mm","price":19.99,"stockQuantity":200,"category":"accessories","createdAt":"2026-08-13T09:45:59.461760679Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.464792721Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"name\":\"Desk Mat XL\",\"description\":\"900x400mm\",\"price\":19.99,\"stockQuantity\":200,\"category\":\"accessories\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-11.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-11.yaml new file mode 100644 index 00000000..76bd48bd --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-11.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-11 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "117" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"USB Microphone","description":"cardioid, plug-and-play","price":89.00,"stockQuantity":35,"category":"audio"}' + timestamp: 2026-08-13T09:45:59.478350721Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/11 + body: '{"id":11,"name":"USB Microphone","description":"cardioid, plug-and-play","price":89.00,"stockQuantity":35,"category":"audio","createdAt":"2026-08-13T09:45:59.480029138Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.483107179Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"name\":\"USB Microphone\",\"description\":\"cardioid, plug-and-play\",\"price\":89.00,\"stockQuantity\":35,\"category\":\"audio\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-12.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-12.yaml new file mode 100644 index 00000000..eaed7ea3 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-12.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-12 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "119" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"14-inch Laptop","description":"16GB RAM, 512GB SSD","price":1099.00,"stockQuantity":15,"category":"computers"}' + timestamp: 2026-08-13T09:45:59.496611138Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/12 + body: '{"id":12,"name":"14-inch Laptop","description":"16GB RAM, 512GB SSD","price":1099.00,"stockQuantity":15,"category":"computers","createdAt":"2026-08-13T09:45:59.498330804Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.501281888Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"name\":\"14-inch Laptop\",\"description\":\"16GB RAM, 512GB SSD\",\"price\":1099.00,\"stockQuantity\":15,\"category\":\"computers\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-13.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-13.yaml new file mode 100644 index 00000000..71fb3974 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-13.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-13 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "58" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"","price":10.00,"stockQuantity":5,"category":"x"}' + timestamp: 2026-08-13T09:46:00.177821971Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"name":"name is required"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.186976388Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --data "{\"name\":\"\",\"price\":10.00,\"stockQuantity\":5,\"category\":\"x\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-14.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-14.yaml new file mode 100644 index 00000000..dee6023b --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-14.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-14 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "48" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"price":10.00,"stockQuantity":5,"category":"x"}' + timestamp: 2026-08-13T09:46:00.20438493Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"name":"name is required"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.207385638Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --data "{\"price\":10.00,\"stockQuantity\":5,\"category\":\"x\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-15.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-15.yaml new file mode 100644 index 00000000..bf9a79a8 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-15.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-15 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "61" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Bad","price":-5.00,"stockQuantity":5,"category":"x"}' + timestamp: 2026-08-13T09:46:00.223426888Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"price":"price must be greater than 0"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.226115846Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --data "{\"name\":\"Bad\",\"price\":-5.00,\"stockQuantity\":5,\"category\":\"x\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-16.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-16.yaml new file mode 100644 index 00000000..a9e4854e --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-16.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-16 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "57" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Bad","price":0,"stockQuantity":5,"category":"x"}' + timestamp: 2026-08-13T09:46:00.246215763Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"price":"price must be greater than 0"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.250559763Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --data "{\"name\":\"Bad\",\"price\":0,\"stockQuantity\":5,\"category\":\"x\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-17.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-17.yaml new file mode 100644 index 00000000..89944be2 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-17.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-17 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "47" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Bad","stockQuantity":5,"category":"x"}' + timestamp: 2026-08-13T09:46:00.27361768Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"price":"price is required"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.277011138Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"Bad\",\"stockQuantity\":5,\"category\":\"x\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-18.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-18.yaml new file mode 100644 index 00000000..b5cfec10 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-18.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-18 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "43" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Bad","price":10.00,"category":"x"}' + timestamp: 2026-08-13T09:46:00.301164305Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"stockQuantity":"stockQuantity is required"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.304566596Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"Bad\",\"price\":10.00,\"category\":\"x\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-19.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-19.yaml new file mode 100644 index 00000000..d2573bc2 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-19.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-19 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "62" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Bad","price":10.00,"stockQuantity":-3,"category":"x"}' + timestamp: 2026-08-13T09:46:00.32082993Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"stockQuantity":"stockQuantity cannot be negative"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.324059388Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"Bad\",\"price\":10.00,\"stockQuantity\":-3,\"category\":\"x\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-2.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-2.yaml new file mode 100644 index 00000000..e7c2eec3 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-2.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-2 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "112" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"USB-C Hub","description":"7-in-1 aluminium","price":39.50,"stockQuantity":100,"category":"peripherals"}' + timestamp: 2026-08-13T09:45:59.281913221Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/2 + body: '{"id":2,"name":"USB-C Hub","description":"7-in-1 aluminium","price":39.50,"stockQuantity":100,"category":"peripherals","createdAt":"2026-08-13T09:45:59.284298263Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.288404679Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"USB-C Hub\",\"description\":\"7-in-1 aluminium\",\"price\":39.50,\"stockQuantity\":100,\"category\":\"peripherals\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-20.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-20.yaml new file mode 100644 index 00000000..506e958d --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-20.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-20 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "22" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"","price":-1}' + timestamp: 2026-08-13T09:46:00.339305555Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"name":"name is required","price":"price must be greater than 0","stockQuantity":"stockQuantity is required"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.341798096Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"\",\"price\":-1}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-3.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-3.yaml new file mode 100644 index 00000000..89de93cd --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-3.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-3 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "118" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Wireless Mouse","description":"ergonomic, 2.4GHz","price":24.99,"stockQuantity":150,"category":"peripherals"}' + timestamp: 2026-08-13T09:45:59.304616554Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/3 + body: '{"id":3,"name":"Wireless Mouse","description":"ergonomic, 2.4GHz","price":24.99,"stockQuantity":150,"category":"peripherals","createdAt":"2026-08-13T09:45:59.307212554Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.311768888Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"Wireless Mouse\",\"description\":\"ergonomic, 2.4GHz\",\"price\":24.99,\"stockQuantity\":150,\"category\":\"peripherals\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-4.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-4.yaml new file mode 100644 index 00000000..a2f26ec1 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-4.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-4 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "111" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"27-inch 4K Monitor","description":"IPS, 60Hz","price":329.00,"stockQuantity":25,"category":"monitors"}' + timestamp: 2026-08-13T09:45:59.327379846Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/4 + body: '{"id":4,"name":"27-inch 4K Monitor","description":"IPS, 60Hz","price":329.00,"stockQuantity":25,"category":"monitors","createdAt":"2026-08-13T09:45:59.329465221Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.333671013Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"name\":\"27-inch 4K Monitor\",\"description\":\"IPS, 60Hz\",\"price\":329.00,\"stockQuantity\":25,\"category\":\"monitors\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-5.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-5.yaml new file mode 100644 index 00000000..343cee9e --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-5.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-5 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "122" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"34-inch Ultrawide Monitor","description":"curved, 144Hz","price":599.00,"stockQuantity":12,"category":"monitors"}' + timestamp: 2026-08-13T09:45:59.351684471Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/5 + body: '{"id":5,"name":"34-inch Ultrawide Monitor","description":"curved, 144Hz","price":599.00,"stockQuantity":12,"category":"monitors","createdAt":"2026-08-13T09:45:59.354492221Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.359127971Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --data "{\"name\":\"34-inch Ultrawide Monitor\",\"description\":\"curved, 144Hz\",\"price\":599.00,\"stockQuantity\":12,\"category\":\"monitors\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-6.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-6.yaml new file mode 100644 index 00000000..a7360b04 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-6.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-6 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "119" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Laptop Stand","description":"aluminium, adjustable","price":34.95,"stockQuantity":80,"category":"accessories"}' + timestamp: 2026-08-13T09:45:59.374416929Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/6 + body: '{"id":6,"name":"Laptop Stand","description":"aluminium, adjustable","price":34.95,"stockQuantity":80,"category":"accessories","createdAt":"2026-08-13T09:45:59.376546263Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.382022388Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"Laptop Stand\",\"description\":\"aluminium, adjustable\",\"price\":34.95,\"stockQuantity\":80,\"category\":\"accessories\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-7.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-7.yaml new file mode 100644 index 00000000..a3738578 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-7.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-7 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "124" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Noise-Cancelling Headphones","description":"over-ear, BT 5.3","price":199.99,"stockQuantity":60,"category":"audio"}' + timestamp: 2026-08-13T09:45:59.397159513Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/7 + body: '{"id":7,"name":"Noise-Cancelling Headphones","description":"over-ear, BT 5.3","price":199.99,"stockQuantity":60,"category":"audio","createdAt":"2026-08-13T09:45:59.399209471Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.403686679Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"name\":\"Noise-Cancelling Headphones\",\"description\":\"over-ear, BT 5.3\",\"price\":199.99,\"stockQuantity\":60,\"category\":\"audio\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-8.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-8.yaml new file mode 100644 index 00000000..47c88ce2 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-8.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-8 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "108" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"1080p Webcam","description":"auto-focus","price":59.00,"stockQuantity":45,"category":"peripherals"}' + timestamp: 2026-08-13T09:45:59.418272221Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/8 + body: '{"id":8,"name":"1080p Webcam","description":"auto-focus","price":59.00,"stockQuantity":45,"category":"peripherals","createdAt":"2026-08-13T09:45:59.420404096Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.425402096Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --data "{\"name\":\"1080p Webcam\",\"description\":\"auto-focus\",\"price\":59.00,\"stockQuantity\":45,\"category\":\"peripherals\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-9.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-9.yaml new file mode 100644 index 00000000..7fee7695 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/post-api-products-9.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: post-api-products-9 +spec: + metadata: {} + req: + method: POST + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products + header: + Accept: '*/*' + Content-Length: "111" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"External SSD 1TB","description":"USB 3.2 Gen2","price":109.99,"stockQuantity":70,"category":"storage"}' + timestamp: 2026-08-13T09:45:59.439828471Z + resp: + status_code: 201 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + Location: http://localhost:8080/api/products/9 + body: '{"id":9,"name":"External SSD 1TB","description":"USB 3.2 Gen2","price":109.99,"stockQuantity":70,"category":"storage","createdAt":"2026-08-13T09:45:59.441795846Z"}' + status_message: Created + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.445536054Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request POST \ + --url http://localhost:8080/api/products \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"External SSD 1TB\",\"description\":\"USB 3.2 Gen2\",\"price\":109.99,\"stockQuantity\":70,\"category\":\"storage\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-1.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-1.yaml new file mode 100644 index 00000000..b41f5f10 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-1.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: put-api-products-by-id-1 +spec: + metadata: {} + req: + method: PUT + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/1 + header: + Accept: '*/*' + Content-Length: "124" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Mechanical Keyboard v2","description":"75% layout, RGB","price":149.99,"stockQuantity":35,"category":"peripherals"}' + timestamp: 2026-08-13T09:45:59.911332221Z + resp: + status_code: 200 + header: + Content-Length: "173" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":1,"name":"Mechanical Keyboard v2","description":"75% layout, RGB","price":149.99,"stockQuantity":35,"category":"peripherals","createdAt":"2026-08-13T09:45:59.230084Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.923781471Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request PUT \ + --url http://localhost:8080/api/products/1 \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"name\":\"Mechanical Keyboard v2\",\"description\":\"75% layout, RGB\",\"price\":149.99,\"stockQuantity\":35,\"category\":\"peripherals\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-2.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-2.yaml new file mode 100644 index 00000000..63cbf691 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-2.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: put-api-products-by-id-2 +spec: + metadata: {} + req: + method: PUT + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/4 + header: + Accept: '*/*' + Content-Length: "119" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"27-inch 4K Monitor","description":"IPS, 60Hz, HDR400","price":299.00,"stockQuantity":30,"category":"monitors"}' + timestamp: 2026-08-13T09:45:59.946764596Z + resp: + status_code: 200 + header: + Content-Length: "168" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":4,"name":"27-inch 4K Monitor","description":"IPS, 60Hz, HDR400","price":299.00,"stockQuantity":30,"category":"monitors","createdAt":"2026-08-13T09:45:59.329465Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.952565471Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request PUT \ + --url http://localhost:8080/api/products/4 \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --data "{\"name\":\"27-inch 4K Monitor\",\"description\":\"IPS, 60Hz, HDR400\",\"price\":299.00,\"stockQuantity\":30,\"category\":\"monitors\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-3.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-3.yaml new file mode 100644 index 00000000..15e8cef9 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-3.yaml @@ -0,0 +1,45 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: put-api-products-by-id-3 +spec: + metadata: {} + req: + method: PUT + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/7 + header: + Accept: '*/*' + Content-Length: "134" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"Noise-Cancelling Headphones Pro","description":"over-ear, BT 5.3, ANC+","price":249.99,"stockQuantity":50,"category":"audio"}' + timestamp: 2026-08-13T09:45:59.975931638Z + resp: + status_code: 200 + header: + Content-Length: "183" + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:45:59 GMT + body: '{"id":7,"name":"Noise-Cancelling Headphones Pro","description":"over-ear, BT 5.3, ANC+","price":249.99,"stockQuantity":50,"category":"audio","createdAt":"2026-08-13T09:45:59.399209Z"}' + status_message: OK + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:45:59.982355638Z + objects: [] + assertions: + noise: + body.createdAt: [] + header.Date: [] + created: 1786614359 + app_port: 8080 +curl: |- + curl --request PUT \ + --url http://localhost:8080/api/products/7 \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --data "{\"name\":\"Noise-Cancelling Headphones Pro\",\"description\":\"over-ear, BT 5.3, ANC+\",\"price\":249.99,\"stockQuantity\":50,\"category\":\"audio\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-4.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-4.yaml new file mode 100644 index 00000000..e3908cfd --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-4.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: put-api-products-by-id-4 +spec: + metadata: {} + req: + method: PUT + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/99999 + header: + Accept: '*/*' + Content-Length: "65" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"ghost","price":1.00,"stockQuantity":1,"category":"none"}' + timestamp: 2026-08-13T09:46:00.135012221Z + resp: + status_code: 404 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":404,"error":"Not Found","message":"Product 99999 not found"}' + status_message: Not Found + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.14096393Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request PUT \ + --url http://localhost:8080/api/products/99999 \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"ghost\",\"price\":1.00,\"stockQuantity\":1,\"category\":\"none\"}" diff --git a/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-5.yaml b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-5.yaml new file mode 100644 index 00000000..a48cdd79 --- /dev/null +++ b/spring-boot-product-catalog/keploy/products-crud/tests/put-api-products-by-id-5.yaml @@ -0,0 +1,43 @@ +# Generated by Keploy (3.5.95) +version: api.keploy.io/v1beta1 +kind: Http +name: put-api-products-by-id-5 +spec: + metadata: {} + req: + method: PUT + proto_major: 1 + proto_minor: 1 + url: http://localhost:8080/api/products/1 + header: + Accept: '*/*' + Content-Length: "41" + Content-Type: application/json + Host: localhost:8080 + User-Agent: curl/8.7.1 + body: '{"name":"","price":-9,"stockQuantity":-1}' + timestamp: 2026-08-13T09:46:00.35755493Z + resp: + status_code: 400 + header: + Content-Type: application/json + Date: Thu, 13 Aug 2026 09:46:00 GMT + body: '{"status":400,"error":"Bad Request","message":"Validation failed","fieldErrors":{"name":"name is required","price":"price must be greater than 0","stockQuantity":"stockQuantity cannot be negative"}}' + status_message: Bad Request + proto_major: 0 + proto_minor: 0 + timestamp: 2026-08-13T09:46:00.360385638Z + objects: [] + assertions: + noise: + header.Date: [] + created: 1786614360 + app_port: 8080 +curl: |- + curl --request PUT \ + --url http://localhost:8080/api/products/1 \ + --header 'Content-Type: application/json' \ + --header 'Host: localhost:8080' \ + --header 'User-Agent: curl/8.7.1' \ + --header 'Accept: */*' \ + --data "{\"name\":\"\",\"price\":-9,\"stockQuantity\":-1}" diff --git a/spring-boot-product-catalog/mvnw b/spring-boot-product-catalog/mvnw new file mode 100755 index 00000000..bd8896bf --- /dev/null +++ b/spring-boot-product-catalog/mvnw @@ -0,0 +1,295 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.4 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +scriptDir="$(dirname "$0")" +scriptName="$(basename "$0")" + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +actualDistributionDir="" + +# First try the expected directory name (for regular distributions) +if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then + if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then + actualDistributionDir="$distributionUrlNameMain" + fi +fi + +# If not found, search for any directory with the Maven executable (for snapshots) +if [ -z "$actualDistributionDir" ]; then + # enable globbing to iterate over items + set +f + for dir in "$TMP_DOWNLOAD_DIR"/*; do + if [ -d "$dir" ]; then + if [ -f "$dir/bin/$MVN_CMD" ]; then + actualDistributionDir="$(basename "$dir")" + break + fi + fi + done + set -f +fi + +if [ -z "$actualDistributionDir" ]; then + verbose "Contents of $TMP_DOWNLOAD_DIR:" + verbose "$(ls -la "$TMP_DOWNLOAD_DIR")" + die "Could not find Maven distribution directory in extracted archive" +fi + +verbose "Found extracted Maven distribution directory: $actualDistributionDir" +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/spring-boot-product-catalog/mvnw.cmd b/spring-boot-product-catalog/mvnw.cmd new file mode 100644 index 00000000..92450f93 --- /dev/null +++ b/spring-boot-product-catalog/mvnw.cmd @@ -0,0 +1,189 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.4 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' + +$MAVEN_M2_PATH = "$HOME/.m2" +if ($env:MAVEN_USER_HOME) { + $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME" +} + +if (-not (Test-Path -Path $MAVEN_M2_PATH)) { + New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null +} + +$MAVEN_WRAPPER_DISTS = $null +if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) { + $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists" +} else { + $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists" +} + +$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain" +$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +$actualDistributionDir = "" + +# First try the expected directory name (for regular distributions) +$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain" +$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD" +if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) { + $actualDistributionDir = $distributionUrlNameMain +} + +# If not found, search for any directory with the Maven executable (for snapshots) +if (!$actualDistributionDir) { + Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object { + $testPath = Join-Path $_.FullName "bin/$MVN_CMD" + if (Test-Path -Path $testPath -PathType Leaf) { + $actualDistributionDir = $_.Name + } + } +} + +if (!$actualDistributionDir) { + Write-Error "Could not find Maven distribution directory in extracted archive" +} + +Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir" +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/spring-boot-product-catalog/pom.xml b/spring-boot-product-catalog/pom.xml new file mode 100644 index 00000000..beaa2048 --- /dev/null +++ b/spring-boot-product-catalog/pom.xml @@ -0,0 +1,53 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 4.1.0 + + + io.keploy + product-catalog + 0.0.1-SNAPSHOT + product-catalog + Spring Boot + PostgreSQL product catalog REST API, used as a Keploy record-and-replay sample + + 21 + + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + + org.postgresql + postgresql + runtime + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/spring-boot-product-catalog/seed.sh b/spring-boot-product-catalog/seed.sh new file mode 100755 index 00000000..576c5d63 --- /dev/null +++ b/spring-boot-product-catalog/seed.sh @@ -0,0 +1,130 @@ +#!/usr/bin/env bash +# Traffic generator for Keploy recording. +# +# Drives the Product Catalog API through a rich, realistic workload so the recorded +# Keploy suite is broad: ~50 test cases covering the full CRUD lifecycle across several +# categories, filtering, and a wide range of 400 (validation) and 404 (not-found) paths. +# Ids returned by POST are chained into later GET/PUT/DELETE calls so the suite is coherent. +set -euo pipefail + +BASE="${BASE:-http://localhost:8080}" + +# --- helpers ----------------------------------------------------------------- +# grep -m1 stops after the first match and exits 0 (no SIGPIPE from a downstream `head`), +# so it stays well-behaved under `set -e` + `pipefail`. +id_of() { grep -m1 -o '"id":[0-9]*' | cut -d: -f2; } + +CREATED=() # ids of products created, in order + +# create '' -> prints response, appends new id to CREATED +create() { + local json="$1" body id + if ! body=$(curl -fsS -X POST "$BASE/api/products" -H 'Content-Type: application/json' -d "$json"); then + echo " ERROR: create request failed for: $json" >&2 + exit 1 + fi + echo " created: $body" + id=$(printf '%s' "$body" | id_of || true) + if [ -z "$id" ]; then + echo " ERROR: no id in create response: $body" >&2 + exit 1 + fi + CREATED+=("$id") +} + +# expect '