Leon4gr45's picture
Upload folder using huggingface_hub (part 7)
16cdcb7 verified
Raw
History Blame Contribute Delete
5.52 kB
package subscriptiontestutils
import (
"context"
"errors"
"github.com/openmeterio/openmeter/openmeter/subscription"
subscriptionworkflow "github.com/openmeterio/openmeter/openmeter/subscription/workflow"
"github.com/openmeterio/openmeter/pkg/models"
"github.com/openmeterio/openmeter/pkg/timeutil"
)
type MockService struct {
CreateFn func(ctx context.Context, namespace string, spec subscription.SubscriptionSpec) (subscription.Subscription, error)
UpdateFn func(ctx context.Context, subscriptionID models.NamespacedID, target subscription.SubscriptionSpec) (subscription.Subscription, error)
DeleteFn func(ctx context.Context, subscriptionID models.NamespacedID) error
CancelFn func(ctx context.Context, subscriptionID models.NamespacedID, at subscription.Timing) (subscription.Subscription, error)
ContinueFn func(ctx context.Context, subscriptionID models.NamespacedID) (subscription.Subscription, error)
UpdateAnnotationsFn func(ctx context.Context, subscriptionID models.NamespacedID, annotations models.Annotations) (*subscription.Subscription, error)
GetFn func(ctx context.Context, subscriptionID models.NamespacedID) (subscription.Subscription, error)
GetViewFn func(ctx context.Context, subscriptionID models.NamespacedID) (subscription.SubscriptionView, error)
ListFn func(ctx context.Context, params subscription.ListSubscriptionsInput) (subscription.SubscriptionList, error)
ExpandViewsFn func(ctx context.Context, subs []subscription.Subscription) ([]subscription.SubscriptionView, error)
GetAllForCustomerFn func(ctx context.Context, customerID models.NamespacedID, period timeutil.StartBoundedPeriod) ([]subscription.Subscription, error)
Hooks []subscription.SubscriptionCommandHook
}
func (s *MockService) RegisterHook(hook subscription.SubscriptionCommandHook) error {
if hook == nil {
return errors.New("invalid subscription hook: nil")
}
s.Hooks = append(s.Hooks, hook)
return nil
}
var _ subscription.Service = &MockService{}
func (s *MockService) Create(ctx context.Context, namespace string, spec subscription.SubscriptionSpec) (subscription.Subscription, error) {
return s.CreateFn(ctx, namespace, spec)
}
func (s *MockService) Update(ctx context.Context, subscriptionID models.NamespacedID, target subscription.SubscriptionSpec) (subscription.Subscription, error) {
return s.UpdateFn(ctx, subscriptionID, target)
}
func (s *MockService) Delete(ctx context.Context, subscriptionID models.NamespacedID) error {
return s.DeleteFn(ctx, subscriptionID)
}
func (s *MockService) Cancel(ctx context.Context, subscriptionID models.NamespacedID, at subscription.Timing) (subscription.Subscription, error) {
return s.CancelFn(ctx, subscriptionID, at)
}
func (s *MockService) Continue(ctx context.Context, subscriptionID models.NamespacedID) (subscription.Subscription, error) {
return s.ContinueFn(ctx, subscriptionID)
}
func (s *MockService) UpdateAnnotations(ctx context.Context, subscriptionID models.NamespacedID, annotations models.Annotations) (*subscription.Subscription, error) {
return s.UpdateAnnotationsFn(ctx, subscriptionID, annotations)
}
func (s *MockService) Get(ctx context.Context, subscriptionID models.NamespacedID) (subscription.Subscription, error) {
return s.GetFn(ctx, subscriptionID)
}
func (s *MockService) GetView(ctx context.Context, subscriptionID models.NamespacedID) (subscription.SubscriptionView, error) {
return s.GetViewFn(ctx, subscriptionID)
}
func (s *MockService) List(ctx context.Context, params subscription.ListSubscriptionsInput) (subscription.SubscriptionList, error) {
return s.ListFn(ctx, params)
}
func (s *MockService) ExpandViews(ctx context.Context, subs []subscription.Subscription) ([]subscription.SubscriptionView, error) {
return s.ExpandViewsFn(ctx, subs)
}
func (s *MockService) GetAllForCustomer(ctx context.Context, customerID models.NamespacedID, period timeutil.StartBoundedPeriod) ([]subscription.Subscription, error) {
return s.GetAllForCustomerFn(ctx, customerID, period)
}
type MockWorkflowService struct {
CreateFromPlanFn func(ctx context.Context, inp subscriptionworkflow.CreateSubscriptionWorkflowInput, plan subscription.Plan) (subscription.SubscriptionView, error)
EditRunningFn func(ctx context.Context, subscriptionID models.NamespacedID, customizations []subscription.Patch) (subscription.SubscriptionView, error)
ChangeToPlanFn func(ctx context.Context, subscriptionID models.NamespacedID, inp subscriptionworkflow.ChangeSubscriptionWorkflowInput, plan subscription.Plan) (current subscription.Subscription, new subscription.SubscriptionView, err error)
}
func (s *MockWorkflowService) CreateFromPlan(ctx context.Context, inp subscriptionworkflow.CreateSubscriptionWorkflowInput, plan subscription.Plan) (subscription.SubscriptionView, error) {
return s.CreateFromPlanFn(ctx, inp, plan)
}
func (s *MockWorkflowService) EditRunning(ctx context.Context, subscriptionID models.NamespacedID, customizations []subscription.Patch) (subscription.SubscriptionView, error) {
return s.EditRunningFn(ctx, subscriptionID, customizations)
}
func (s *MockWorkflowService) ChangeToPlan(ctx context.Context, subscriptionID models.NamespacedID, inp subscriptionworkflow.ChangeSubscriptionWorkflowInput, plan subscription.Plan) (current subscription.Subscription, new subscription.SubscriptionView, err error) {
return s.ChangeToPlanFn(ctx, subscriptionID, inp, plan)
}