wasabi

package module
v0.0.0-...-b44ee91 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2021 License: MIT Imports: 5 Imported by: 0

README

go-wasabi

CircleCI GoDoc

Intuit Wasabi API Client written in Go

Instantiating a client

client := NewHttpClient(
  "https://your-wasabi-host",
  "application_name",
  "username",
  "password",
)

API doc

http://wasabi-for-apps.ubee.in/swagger/swaggerui/#/

Generate an assignment
assignment, err := client.GenerateAssignment(
  context.Background(),
  "ExperimentLabel",
  "userID",
)

Check for assignment.Status, and use the assignment.Payload on your application :)

Creating an experiment

See the file examples/experiment.go

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	GenerateAssignment(ctx context.Context, experimentLabel string, userID string) (*assignments.Assignment, error)
	CreateExperiment(ctx context.Context, experiment *experiments.Experiment) (*experiments.Experiment, error)
	UpdateExperimentState(ctx context.Context, id string, state experiments.ExperimentState) (*experiments.Experiment, error)
	CreateBucket(ctx context.Context, bucket *experiments.Bucket) (*experiments.Bucket, error)
	GetExperimentByID(ctx context.Context, experimentID string) (*experiments.Experiment, error)
	GetExperimentBuckets(ctx context.Context, experimentID string) ([]*experiments.Bucket, error)
	UpdateExperiment(ctx context.Context, id string, experiment *experiments.Experiment) (*experiments.Experiment, error)
}

Client is a (mockable) interface for our Wasabi client. Each method is 1:1 to the routes exposed by the Wasabi application.

func NewHttpClient

func NewHttpClient(address, applicationName, login, password string) Client

type MockedClient

type MockedClient struct {
	mock.Mock
}

func NewMockedClient

func NewMockedClient() (*MockedClient, error)

func (*MockedClient) CreateBucket

func (m *MockedClient) CreateBucket(ctx context.Context, bucket *experiments.Bucket) (*experiments.Bucket, error)

func (*MockedClient) CreateExperiment

func (m *MockedClient) CreateExperiment(ctx context.Context, experiment *experiments.Experiment) (*experiments.Experiment, error)

func (*MockedClient) GenerateAssignment

func (m *MockedClient) GenerateAssignment(ctx context.Context, experimentLabel string, userID string) (*assignments.Assignment, error)

func (*MockedClient) GetExperimentBuckets

func (m *MockedClient) GetExperimentBuckets(ctx context.Context, experimentID string) ([]*experiments.Bucket, error)

func (*MockedClient) GetExperimentByID

func (m *MockedClient) GetExperimentByID(ctx context.Context, experimentID string) (*experiments.Experiment, error)

func (*MockedClient) UpdateExperiment

func (m *MockedClient) UpdateExperiment(ctx context.Context, id string, experiment *experiments.Experiment) (*experiments.Experiment, error)

func (*MockedClient) UpdateExperimentState

func (m *MockedClient) UpdateExperimentState(ctx context.Context, id string, state experiments.ExperimentState) (*experiments.Experiment, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL