← all adapters

gcalendar-style

simulates Google Calendar API v3

restadapter v0.1.010 routes

verification

SDKverified with google-api-go-client v0.293.0· surface 10 · not implemented 4 · differs 2

use it

# add to stunt.yaml
services:
  gcalendar:
    adapter: embedded:gcalendar-style

# then
$ stunt up

The embedded: source extracts this adapter from the binary — no git clone, fully offline.

how to mock the Google Calendar API locally

Install stunt, paste the service block above into stunt.yaml, run stunt up — then point your client at localhost instead of Google Calendar API. It works offline, keeps state across requests and restarts, and every response is synthetic: the route shapes, status codes, pagination, and webhook delivery follow the real Google Calendar API v3 surface — the data is fake, the behavior is real.

backing stores

calendarsevents

api surface (10)

generated from the adapter manifest — exactly what boots, nothing more · covers 23% of the real API's 38 routes (derived from sdk google-api-go-client @ v0.293.0)

10 routes
GET/calendar/v3/users/me/calendarList
GET/calendar/v3/calendars/primary
POST/calendar/v3/calendars/{calendarId}/events/quickAdd
POST/calendar/v3/calendars/{calendarId}/events/import
GET/calendar/v3/calendars/{calendarId}/events
POST/calendar/v3/calendars/{calendarId}/events
GET/calendar/v3/calendars/{calendarId}/events/{eventId}/instances
GET/calendar/v3/calendars/{calendarId}/events/{eventId}
PATCH/calendar/v3/calendars/{calendarId}/events/{eventId}
DELETE/calendar/v3/calendars/{calendarId}/events/{eventId}

SDK-verified behaviors (8)

  • Calendars.Get resolves the primary calendar
  • CalendarList.List returns the seeded primary entry
  • Events.Insert + Events.Get round-trip the event body
  • Events.List Q matches summary/description text
  • Events.List MaxResults + PageToken walk pages
  • Events.Patch updates fields and bumps sequence + etag
  • Events.Instances expands an RRULE into per-occurrence events
  • Events.Delete then Get -> googleapi 404

Not implemented (4)

  • No RRULE MONTHLY/YEARLY frequencies or BY* parts (BYDAY, BYSETPOS)
  • No calendars CRUD or calendarList/ACL write endpoints
  • No events watch, move, or freebusy.query endpoints
  • No colors or users.settings endpoints

Differs from the real API (2)

  • Event create without start/end defaults them (now+30m, +90m); real API requires both
  • quickAdd uses the text verbatim as the summary with a now+30m slot; real Calendar parses natural-language dates
want more of the Google Calendar API surface? adapters are YAML + Starlark — the authoring guide covers adding routes, fixtures, and state machines. Open an issue for anything big first, or just file a PR — merged routes ship in the next release.