code.oscarkilo.com/klex-git/api/fake.go

..
api.go
datasets.go
embed.go
f.go
fake.go
fake_test.go
funcs.go
funcs_test.go
klex.go
messages.go
messages_test.go
pipelines.go
stream.go
worker.go
package api

import "fmt"

// Fake is a configurable test double for Klex. Set the handler fields
// for the methods the test exercises; unset methods return an error.
//
// Example:
//
//   var k Klex = &Fake{
//     FFunc: func(name, in string) (string, error) {
//       return "canned response", nil
//     },
//   }
type Fake struct {
  FFunc        func(name, in string) (string, error)
  MessagesFunc func(req MessagesRequest) (*MessagesResponse, error)
  EmbedFunc    func(req EmbedRequest) ([][]float32, error)
}

func (f *Fake) F(name, in string) (string, error) {
  if f.FFunc == nil {
    return "", fmt.Errorf("Fake.F: no handler set")
  }
  return f.FFunc(name, in)
}

func (f *Fake) Messages(
  req MessagesRequest,
) (*MessagesResponse, error) {
  if f.MessagesFunc == nil {
    return nil, fmt.Errorf("Fake.Messages: no handler set")
  }
  return f.MessagesFunc(req)
}

func (f *Fake) Embed(req EmbedRequest) ([][]float32, error) {
  if f.EmbedFunc == nil {
    return nil, fmt.Errorf("Fake.Embed: no handler set")
  }
  return f.EmbedFunc(req)
}