1package fakes
2
3import (
4	"fmt"
5)
6
7type FakeGenerator struct {
8	GeneratedUUID string
9	NextUUID      int
10	GenerateError error
11}
12
13func NewFakeGenerator() *FakeGenerator {
14	return &FakeGenerator{}
15}
16
17func (gen *FakeGenerator) Generate() (uuid string, err error) {
18	if gen.GeneratedUUID == "" && gen.GenerateError == nil {
19		uuidString := fmt.Sprintf("fake-uuid-%d", gen.NextUUID)
20		gen.NextUUID++
21		return uuidString, nil
22	}
23	return gen.GeneratedUUID, gen.GenerateError
24}
25