Documentation
¶
Index ¶
- Constants
- Variables
- func EventList() string
- func EventNames() []string
- func Trigger(ctx context.Context, event string, stripeAccount string, baseURL string, ...) ([]string, error)
- type Fixture
- func BuildFromFixtureFile(fs afero.Fs, apiKey, stripeAccount, apiBaseURL, jsonFile string, ...) (*Fixture, error)
- func BuildFromFixtureString(fs afero.Fs, apiKey, stripeAccount, apiBaseURL, raw string) (*Fixture, error)
- func NewFixtureFromFile(fs afero.Fs, apiKey, stripeAccount, baseURL, file string, ...) (*Fixture, error)
- func NewFixtureFromRawString(fs afero.Fs, apiKey, stripeAccount, baseURL, raw string) (*Fixture, error)
- func (fxt *Fixture) Add(additions []string) error
- func (fxt *Fixture) Edit(path string, filedata []byte) ([]byte, error)
- func (fxt *Fixture) Execute(ctx context.Context, apiVersion string) ([]string, error)
- func (fxt *Fixture) GetFixtureFileContent() string
- func (fxt *Fixture) Override(overrides []string) error
- func (fxt *Fixture) Remove(removals []string) error
- func (fxt *Fixture) UpdateEnv() error
- type FixtureData
- type FixtureRequest
- type MetaFixture
Constants ¶
const SupportedVersions = 0
SupportedVersions is the version number of the fixture template the CLI supports
Variables ¶
var Edit = func(path string, filedata []byte) ([]byte, error) { filename := getFixtureFilenameWithWildcard(path) editor, err := git.NewTemporaryFileEditor(filename, filedata) if err != nil { return nil, err } return editor.EditContent() }
Edit is separated into a var so we can mock this in fixtures_test
var Events = map[string]string{
"account.application.deauthorized": "triggers/account.application.deauthorized.json",
"account.updated": "triggers/account.updated.json",
"balance.available": "triggers/balance.available.json",
"charge.captured": "triggers/charge.captured.json",
"charge.dispute.created": "triggers/charge.disputed.created.json",
"charge.failed": "triggers/charge.failed.json",
"charge.refunded": "triggers/charge.refunded.json",
"charge.refund.updated": "triggers/charge.refund.updated.json",
"charge.succeeded": "triggers/charge.succeeded.json",
"checkout.session.async_payment_failed": "triggers/checkout.session.async_payment_failed.json",
"checkout.session.async_payment_succeeded": "triggers/checkout.session.async_payment_succeeded.json",
"checkout.session.completed": "triggers/checkout.session.completed.json",
"customer.created": "triggers/customer.created.json",
"customer.deleted": "triggers/customer.deleted.json",
"customer.updated": "triggers/customer.updated.json",
"customer.source.created": "triggers/customer.source.created.json",
"customer.source.updated": "triggers/customer.source.updated.json",
"customer.subscription.created": "triggers/customer.subscription.created.json",
"customer.subscription.deleted": "triggers/customer.subscription.deleted.json",
"customer.subscription.updated": "triggers/customer.subscription.updated.json",
"identity.verification_session.canceled": "triggers/identity.verification_session.canceled.json",
"identity.verification_session.created": "triggers/identity.verification_session.created.json",
"identity.verification_session.redacted": "triggers/identity.verification_session.redacted.json",
"invoice.created": "triggers/invoice.created.json",
"invoice.finalized": "triggers/invoice.finalized.json",
"invoice.paid": "triggers/invoice.paid.json",
"invoice.payment_action_required": "triggers/invoice.payment_action_required.json",
"invoice.payment_failed": "triggers/invoice.payment_failed.json",
"invoice.payment_succeeded": "triggers/invoice.payment_succeeded.json",
"invoice.updated": "triggers/invoice.updated.json",
"issuing_authorization.request": "triggers/issuing_authorization.request.json",
"issuing_authorization.request.eu": "triggers/issuing_authorization.request.eu.json",
"issuing_authorization.request.gb": "triggers/issuing_authorization.request.gb.json",
"issuing_card.created": "triggers/issuing_card.created.json",
"issuing_card.created.eu": "triggers/issuing_card.created.eu.json",
"issuing_card.created.gb": "triggers/issuing_card.created.gb.json",
"issuing_cardholder.created": "triggers/issuing_cardholder.created.json",
"issuing_cardholder.created.eu": "triggers/issuing_cardholder.created.eu.json",
"issuing_cardholder.created.gb": "triggers/issuing_cardholder.created.gb.json",
"payment_intent.amount_capturable_updated": "triggers/payment_intent.amount_capturable_updated.json",
"payment_intent.created": "triggers/payment_intent.created.json",
"payment_intent.payment_failed": "triggers/payment_intent.payment_failed.json",
"payment_intent.succeeded": "triggers/payment_intent.succeeded.json",
"payment_intent.canceled": "triggers/payment_intent.canceled.json",
"payment_link.created": "triggers/payment_link.created.json",
"payment_link.updated": "triggers/payment_link.updated.json",
"payment_intent.partially_funded": "triggers/payment_intent.partially_funded.json",
"payment_intent.requires_action": "triggers/payment_intent.requires_action.json",
"payment_method.attached": "triggers/payment_method.attached.json",
"payment_method.detached": "triggers/payment_method.detached.json",
"payout.created": "triggers/payout.created.json",
"payout.updated": "triggers/payout.updated.json",
"plan.created": "triggers/plan.created.json",
"plan.deleted": "triggers/plan.deleted.json",
"plan.updated": "triggers/plan.updated.json",
"price.created": "triggers/price.created.json",
"price.updated": "triggers/price.updated.json",
"product.created": "triggers/product.created.json",
"product.deleted": "triggers/product.deleted.json",
"product.updated": "triggers/product.updated.json",
"reporting.report_run.succeeded": "triggers/reporting.report_run.succeeded.json",
"setup_intent.canceled": "triggers/setup_intent.canceled.json",
"setup_intent.created": "triggers/setup_intent.created.json",
"setup_intent.setup_failed": "triggers/setup_intent.setup_failed.json",
"setup_intent.succeeded": "triggers/setup_intent.succeeded.json",
"subscription_schedule.canceled": "triggers/subscription_schedule.canceled.json",
"subscription_schedule.created": "triggers/subscription_schedule.created.json",
"subscription_schedule.released": "triggers/subscription_schedule.released.json",
"subscription_schedule.updated": "triggers/subscription_schedule.updated.json",
"subscription.payment_succeeded": "triggers/subscription.payment_succeeded.json",
"subscription.payment_failed": "triggers/subscription.payment_failed.json",
"quote.created": "triggers/quote.created.json",
"quote.canceled": "triggers/quote.canceled.json",
"quote.finalized": "triggers/quote.finalized.json",
"quote.accepted": "triggers/quote.accepted.json",
}
Events is a mapping of pre-built trigger events and the corresponding json file
Functions ¶
Types ¶
type Fixture ¶
type Fixture struct { Fs afero.Fs APIKey string StripeAccount string Skip []string Overrides map[string]interface{} Additions map[string]interface{} Removals map[string]interface{} BaseURL string Responses map[string]gjson.Result FixtureData FixtureData }
Fixture contains a mapping of an individual fixtures responses for querying
func BuildFromFixtureFile ¶ added in v1.7.5
func BuildFromFixtureFile(fs afero.Fs, apiKey, stripeAccount, apiBaseURL, jsonFile string, skip, override, add, remove []string, edit bool) (*Fixture, error)
BuildFromFixtureFile creates a new fixture struct for a file
func BuildFromFixtureString ¶ added in v1.7.5
func BuildFromFixtureString(fs afero.Fs, apiKey, stripeAccount, apiBaseURL, raw string) (*Fixture, error)
BuildFromFixtureString creates a new fixture from a string
func NewFixtureFromFile ¶ added in v1.7.5
func NewFixtureFromFile(fs afero.Fs, apiKey, stripeAccount, baseURL, file string, skip, override, add, remove []string, edit bool) (*Fixture, error)
NewFixtureFromFile creates a to later run steps for populating test data
func NewFixtureFromRawString ¶ added in v1.7.5
func NewFixtureFromRawString(fs afero.Fs, apiKey, stripeAccount, baseURL, raw string) (*Fixture, error)
NewFixtureFromRawString creates fixtures from user inputted string
func (*Fixture) Add ¶ added in v1.7.2
Add safely only adds any missing fields that do not already exist. If the field is already on the fixture, it does not get copied over. For that, `Override` should be used
func (*Fixture) Edit ¶ added in v1.13.9
Edit opens the fixture in the git's default IDE to edit directly
func (*Fixture) Execute ¶
Execute takes the parsed fixture file and runs through all the requests defined to populate the user's account
func (*Fixture) GetFixtureFileContent ¶ added in v1.7.5
GetFixtureFileContent returns the file content of the given fixture file name
func (*Fixture) Override ¶ added in v1.7.2
Override forcefully overrides fields with existing data on a fixture
type FixtureData ¶ added in v1.13.0
type FixtureData struct { Meta MetaFixture `json:"_meta"` Requests []FixtureRequest `json:"fixtures"` Env map[string]string `json:"env"` }
FixtureData contains the whole fixture file
type FixtureRequest ¶ added in v1.13.0
type FixtureRequest struct { Name string `json:"name"` ExpectedErrorType string `json:"expected_error_type"` Path string `json:"path"` Method string `json:"method"` Params map[string]interface{} `json:"params"` IdempotencyKey string `json:"idempotency_key,omitempty"` Context string `json:"context,omitempty"` }
FixtureRequest is the individual request payload
type MetaFixture ¶ added in v1.13.0
type MetaFixture struct { Version int `json:"template_version"` ExcludeMetadata bool `json:"exclude_metadata"` }
MetaFixture contains fixture metadata