add lorem fakers

This commit is contained in:
Simon Vieille 2024-07-18 10:02:33 +02:00
commit 802118fbd2
Signed by: deblan
GPG key ID: 579388D585F70417
6 changed files with 40 additions and 0 deletions

View file

@ -1,5 +1,14 @@
## [Unreleased]
## v1.2.0
### Added
- add "lorem_word" faker
- add "lorem_sentence" faker
- add "lorem_paragraph" faker
- add "lorem_words_2" to "lorem_words_10" fakers
- add "lorem_sentences_2" to "lorem_sentences_10" fakers
- add "lorem_paragraphs_2" to "lorem_paragraphs_10" fakers
## v1.1.0
### Added
- PostgreSQL: manage all number types

View file

@ -61,6 +61,12 @@ database-anonymizer --dsn "postgres://postgres:postgres@localhost:5432/test" --s
#### Les autres
- `"lorem_word"`
- `"lorem_sentence"`
- `"lorem_paragraph"`
- `"lorem_words_2"` to `"lorem_words_10"`
- `"lorem_sentences_2"` to `"lorem_sentences_10"`
- `"lorem_paragraphs_2"` to `"lorem_paragraphs_10"`
- `"address"`
- `"address_buildingnumber"`
- `"address_city"`

View file

@ -61,6 +61,12 @@ database-anonymizer --dsn "postgres://postgres:postgres@localhost:5432/test" --s
#### Others
- `"lorem_word"`
- `"lorem_sentence"`
- `"lorem_paragraph"`
- `"lorem_words_2"` to `"lorem_words_10"`
- `"lorem_sentences_2"` to `"lorem_sentences_10"`
- `"lorem_paragraphs_2"` to `"lorem_paragraphs_10"`
- `"address"`
- `"address_buildingnumber"`
- `"address_city"`

View file

@ -2,7 +2,9 @@ package faker
import (
"fmt"
"github.com/go-loremipsum/loremipsum"
base_faker "github.com/jaswdr/faker"
"math/rand"
"strconv"
)
@ -10,12 +12,26 @@ type FakeManager struct {
Fakers map[string]func() string
}
func NewLoremFaker() *loremipsum.LoremIpsum {
return loremipsum.NewWithSeed(rand.Int63())
}
func NewFakeManager() FakeManager {
manager := FakeManager{}
datas := make(map[string]func() string)
fake := base_faker.New()
datas["lorem_word"] = func() string { return NewLoremFaker().Word() }
datas["lorem_sentence"] = func() string { return NewLoremFaker().Sentence() }
datas["lorem_paragraph"] = func() string { return NewLoremFaker().Paragraph() }
for i := 2; i <= 10; i++ {
datas[fmt.Sprintf("lorem_words_%d", i)] = func() string { return NewLoremFaker().Words(i) }
datas[fmt.Sprintf("lorem_sentences_%d", i)] = func() string { return NewLoremFaker().Sentences(i) }
datas[fmt.Sprintf("lorem_paragraphs_%d", i)] = func() string { return NewLoremFaker().Paragraphs(i) }
}
datas["address"] = func() string { return fake.Address().Address() }
datas["address_buildingnumber"] = func() string { return fake.Address().BuildingNumber() }
datas["address_city"] = func() string { return fake.Address().City() }

1
go.mod
View file

@ -15,6 +15,7 @@ require (
require (
filippo.io/edwards25519 v1.1.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
github.com/go-loremipsum/loremipsum v1.1.3 // indirect
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect

2
go.sum
View file

@ -5,6 +5,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-loremipsum/loremipsum v1.1.3 h1:ZRhA0ZmJ49lGe5HhWeMONr+iGftWDsHfrYBl5ktDXso=
github.com/go-loremipsum/loremipsum v1.1.3/go.mod h1:OJQjXdvwlG9hsyhmMQoT4HOm4DG4l62CYywebw0XBoo=
github.com/go-sql-driver/mysql v1.8.0 h1:UtktXaU2Nb64z/pLiGIxY4431SJ4/dR5cjMmlVHgnT4=
github.com/go-sql-driver/mysql v1.8.0/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/jaswdr/faker v1.19.1 h1:xBoz8/O6r0QAR8eEvKJZMdofxiRH+F0M/7MU9eNKhsM=