Documentation
¶
Index ¶
- Constants
- Variables
- func AutoProvision(ctx context.Context, input AutoProvisionInput) (app.App, error)
- func MockWithAppType(t app.AppType) mockConfigOption
- type App
- func (a App) DeleteCustomerData(ctx context.Context, input app.DeleteAppInstanceCustomerDataInput) error
- func (a App) DeleteStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) error
- func (a App) FinalizeStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.FinalizeStandardInvoiceResult, error)
- func (a App) GetCustomerData(ctx context.Context, input app.GetAppInstanceCustomerDataInput) (app.CustomerData, error)
- func (a App) GetEventAppData() (app.EventAppData, error)
- func (a App) PostAdvanceStandardInvoiceHook(ctx context.Context, invoice billing.StandardInvoice) (*billing.PostAdvanceHookResult, error)
- func (a App) UpdateAppConfig(ctx context.Context, input app.AppConfigUpdate) error
- func (a App) UpsertCustomerData(ctx context.Context, input app.UpsertAppInstanceCustomerDataInput) error
- func (a App) UpsertStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.UpsertStandardInvoiceResult, error)
- func (a App) ValidateCustomer(ctx context.Context, customer *customer.Customer, ...) error
- func (a App) ValidateStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) error
- type AppFactory
- type AutoProvisionInput
- type Config
- type Configuration
- type CustomerData
- type Factory
- type InvoiceUpsertCallback
- type Meta
- type MockApp
- func (m *MockApp) AssertExpectations(t *testing.T)
- func (m *MockApp) DeleteCustomerData(ctx context.Context, input app.DeleteAppInstanceCustomerDataInput) error
- func (m *MockApp) DeleteStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) error
- func (m *MockApp) FinalizeStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.FinalizeStandardInvoiceResult, error)
- func (m *MockApp) GetCustomerData(ctx context.Context, input app.GetAppInstanceCustomerDataInput) (app.CustomerData, error)
- func (m *MockApp) NewApp(_ context.Context, app app.AppBase) (app.App, error)
- func (m *MockApp) OnDeleteStandardInvoice(err error)
- func (m *MockApp) OnFinalizeStandardInvoice(result *billing.FinalizeStandardInvoiceResult)
- func (m *MockApp) OnUpsertStandardInvoice(cb InvoiceUpsertCallback)
- func (m *MockApp) OnValidateCustomer(err error)
- func (m *MockApp) OnValidateStandardInvoice(err error)
- func (m *MockApp) Reset(t *testing.T)
- func (m *MockApp) UpdateAppConfig(ctx context.Context, input app.AppConfigUpdate) error
- func (m *MockApp) UpsertCustomerData(ctx context.Context, input app.UpsertAppInstanceCustomerDataInput) error
- func (m *MockApp) UpsertStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.UpsertStandardInvoiceResult, error)
- func (m *MockApp) ValidateCustomer(appID string, customer *customer.Customer, capabilities []app.CapabilityType) error
- func (m *MockApp) ValidateStandardInvoice(appID string, invoice billing.StandardInvoice) error
- type MockableFactory
Constants ¶
View Source
const ( TargetPaymentStatusMetadataKey = "openmeter.io/sandbox/target-payment-status" TargetPaymentStatusPaid = "paid" TargetPaymentStatusFailed = "failed" TargetPaymentStatusUncollectible = "uncollectible" TargetPaymentStatusActionRequired = "action_required" )
Variables ¶
View Source
var ( MarketplaceListing = app.MarketplaceListing{ Type: app.AppTypeSandbox, Name: "Sandbox", Description: "Sandbox can be used to test OpenMeter without external connections.", Capabilities: []app.Capability{ CollectPaymentCapability, CalculateTaxCapability, InvoiceCustomerCapability, }, InstallMethods: []app.InstallMethod{ app.InstallMethodNoCredentials, }, } CollectPaymentCapability = app.Capability{ Type: app.CapabilityTypeCollectPayments, Key: "sandbox_collect_payment", Name: "Payment", Description: "Process payments", } CalculateTaxCapability = app.Capability{ Type: app.CapabilityTypeCalculateTax, Key: "sandbox_calculate_tax", Name: "Calculate Tax", Description: "Calculate tax for a payment", } InvoiceCustomerCapability = app.Capability{ Type: app.CapabilityTypeInvoiceCustomers, Key: "sandbox_invoice_customer", Name: "Invoice Customer", Description: "Invoice a customer", } )
View Source
var ErrSimulatedPaymentFailure = billing.NewValidationError("simulated_payment_failure", "simulated payment failure")
View Source
var (
InvoiceSequenceNumber = billing.SequenceDefinition{
Prefix: "OM-SANDBOX",
SuffixTemplate: "{{.CustomerPrefix}}-{{.NextSequenceNumber}}",
Scope: "invoices/app/sandbox",
}
)
Functions ¶
func AutoProvision ¶
AutoProvision creates a new default sandbox app if it doesn't exist, otherwise returns the existing one.
We install the sandbox app by default in the system, so that the user can start trying out the system right away.
func MockWithAppType ¶
Types ¶
type App ¶
type App struct {
Meta
// contains filtered or unexported fields
}
func (App) DeleteCustomerData ¶
func (App) DeleteStandardInvoice ¶
func (App) FinalizeStandardInvoice ¶
func (a App) FinalizeStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.FinalizeStandardInvoiceResult, error)
func (App) GetCustomerData ¶
func (a App) GetCustomerData(ctx context.Context, input app.GetAppInstanceCustomerDataInput) (app.CustomerData, error)
func (App) GetEventAppData ¶
func (a App) GetEventAppData() (app.EventAppData, error)
func (App) PostAdvanceStandardInvoiceHook ¶
func (a App) PostAdvanceStandardInvoiceHook(ctx context.Context, invoice billing.StandardInvoice) (*billing.PostAdvanceHookResult, error)
func (App) UpdateAppConfig ¶
func (App) UpsertCustomerData ¶
func (App) UpsertStandardInvoice ¶
func (a App) UpsertStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.UpsertStandardInvoiceResult, error)
func (App) ValidateCustomer ¶
func (App) ValidateStandardInvoice ¶
type AppFactory ¶
type AutoProvisionInput ¶
func (AutoProvisionInput) Validate ¶
func (a AutoProvisionInput) Validate() error
type Configuration ¶
type Configuration struct{}
func (Configuration) Validate ¶
func (c Configuration) Validate() error
type CustomerData ¶
type CustomerData struct{}
func (CustomerData) Validate ¶
func (c CustomerData) Validate() error
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
func NewFactory ¶
func (*Factory) InstallAppWithAPIKey ¶
func (*Factory) UninstallApp ¶
type InvoiceUpsertCallback ¶
type InvoiceUpsertCallback func(billing.StandardInvoice) (*billing.UpsertStandardInvoiceResult, error)
type MockApp ¶
type MockApp struct {
// contains filtered or unexported fields
}
func NewMockApp ¶
func (*MockApp) AssertExpectations ¶
func (*MockApp) DeleteCustomerData ¶
func (*MockApp) DeleteStandardInvoice ¶
func (*MockApp) FinalizeStandardInvoice ¶
func (m *MockApp) FinalizeStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.FinalizeStandardInvoiceResult, error)
func (*MockApp) GetCustomerData ¶
func (m *MockApp) GetCustomerData(ctx context.Context, input app.GetAppInstanceCustomerDataInput) (app.CustomerData, error)
func (*MockApp) OnDeleteStandardInvoice ¶
func (*MockApp) OnFinalizeStandardInvoice ¶
func (m *MockApp) OnFinalizeStandardInvoice(result *billing.FinalizeStandardInvoiceResult)
func (*MockApp) OnUpsertStandardInvoice ¶
func (m *MockApp) OnUpsertStandardInvoice(cb InvoiceUpsertCallback)
func (*MockApp) OnValidateCustomer ¶
func (*MockApp) OnValidateStandardInvoice ¶
func (*MockApp) UpdateAppConfig ¶
func (*MockApp) UpsertCustomerData ¶
func (*MockApp) UpsertStandardInvoice ¶
func (m *MockApp) UpsertStandardInvoice(ctx context.Context, invoice billing.StandardInvoice) (*billing.UpsertStandardInvoiceResult, error)
func (*MockApp) ValidateCustomer ¶
func (*MockApp) ValidateStandardInvoice ¶
func (m *MockApp) ValidateStandardInvoice(appID string, invoice billing.StandardInvoice) error
type MockableFactory ¶
type MockableFactory struct {
*Factory
// contains filtered or unexported fields
}
func NewMockableFactory ¶
func NewMockableFactory(_ *testing.T, config Config, opts ...mockConfigOption) (*MockableFactory, error)
func (*MockableFactory) DisableMock ¶
func (m *MockableFactory) DisableMock()
func (*MockableFactory) EnableMock ¶
func (m *MockableFactory) EnableMock(t *testing.T) *MockApp
Click to show internal directories.
Click to hide internal directories.