Documentation
¶
Index ¶
- Constants
- Variables
- func AutoProvision(ctx context.Context, input AutoProvisionInput) (app.App, error)
- type App
- func (a App) DeleteCustomerData(ctx context.Context, input app.DeleteAppInstanceCustomerDataInput) error
- func (a App) DeleteInvoice(ctx context.Context, invoice billing.Invoice) error
- func (a App) FinalizeInvoice(ctx context.Context, invoice billing.Invoice) (*billing.FinalizeInvoiceResult, error)
- func (a App) GetCustomerData(ctx context.Context, input app.GetAppInstanceCustomerDataInput) (app.CustomerData, error)
- func (a App) PostAdvanceInvoiceHook(ctx context.Context, invoice billing.Invoice) (*billing.PostAdvanceHookResult, error)
- func (a App) UpsertCustomerData(ctx context.Context, input app.UpsertAppInstanceCustomerDataInput) error
- func (a App) UpsertInvoice(ctx context.Context, invoice billing.Invoice) (*billing.UpsertInvoiceResult, error)
- func (a App) ValidateCustomer(ctx context.Context, customer *customer.Customer, ...) error
- func (a App) ValidateInvoice(ctx context.Context, invoice billing.Invoice) error
- type AppFactory
- type AutoProvisionInput
- type Config
- type CustomerData
- type Factory
- type InvoiceUpsertCallback
- type MockApp
- func (m *MockApp) AssertExpectations(t *testing.T)
- func (m *MockApp) DeleteCustomerData(ctx context.Context, input app.DeleteAppInstanceCustomerDataInput) error
- func (m *MockApp) DeleteInvoice(ctx context.Context, invoice billing.Invoice) error
- func (m *MockApp) FinalizeInvoice(ctx context.Context, invoice billing.Invoice) (*billing.FinalizeInvoiceResult, 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) OnDeleteInvoice(err error)
- func (m *MockApp) OnFinalizeInvoice(result *billing.FinalizeInvoiceResult)
- func (m *MockApp) OnUpsertInvoice(cb InvoiceUpsertCallback)
- func (m *MockApp) OnValidateCustomer(err error)
- func (m *MockApp) OnValidateInvoice(err error)
- func (m *MockApp) Reset(t *testing.T)
- func (m *MockApp) UpsertCustomerData(ctx context.Context, input app.UpsertAppInstanceCustomerDataInput) error
- func (m *MockApp) UpsertInvoice(ctx context.Context, invoice billing.Invoice) (*billing.UpsertInvoiceResult, error)
- func (m *MockApp) ValidateCustomer(appID string, customer *customer.Customer, capabilities []app.CapabilityType) error
- func (m *MockApp) ValidateInvoice(appID string, invoice billing.Invoice) 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, }, } 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{
Template: "OM-SANDBOX-{{.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.
Types ¶
type App ¶
func (App) DeleteCustomerData ¶
func (App) DeleteInvoice ¶
func (App) FinalizeInvoice ¶
func (App) GetCustomerData ¶
func (a App) GetCustomerData(ctx context.Context, input app.GetAppInstanceCustomerDataInput) (app.CustomerData, error)
func (App) PostAdvanceInvoiceHook ¶
func (App) UpsertCustomerData ¶
func (App) UpsertInvoice ¶
func (App) ValidateCustomer ¶
type AppFactory ¶
type AutoProvisionInput ¶
func (AutoProvisionInput) Validate ¶
func (a AutoProvisionInput) 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.Invoice) *billing.UpsertInvoiceResult
type MockApp ¶
type MockApp struct {
// contains filtered or unexported fields
}
func NewMockApp ¶
func (*MockApp) AssertExpectations ¶
func (*MockApp) DeleteCustomerData ¶
func (*MockApp) DeleteInvoice ¶
func (*MockApp) FinalizeInvoice ¶
func (*MockApp) GetCustomerData ¶
func (m *MockApp) GetCustomerData(ctx context.Context, input app.GetAppInstanceCustomerDataInput) (app.CustomerData, error)
func (*MockApp) OnDeleteInvoice ¶
func (*MockApp) OnFinalizeInvoice ¶
func (m *MockApp) OnFinalizeInvoice(result *billing.FinalizeInvoiceResult)
func (*MockApp) OnUpsertInvoice ¶
func (m *MockApp) OnUpsertInvoice(cb InvoiceUpsertCallback)
func (*MockApp) OnValidateCustomer ¶
func (*MockApp) OnValidateInvoice ¶
func (*MockApp) UpsertCustomerData ¶
func (*MockApp) UpsertInvoice ¶
func (*MockApp) ValidateCustomer ¶
type MockableFactory ¶
type MockableFactory struct {
*Factory
// contains filtered or unexported fields
}
func NewMockableFactory ¶
func NewMockableFactory(_ *testing.T, config Config) (*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.