Skip to content
This repository was archived by the owner on Aug 30, 2025. It is now read-only.

Commit 873f77f

Browse files
committed
updates
1 parent e1140e2 commit 873f77f

File tree

3 files changed

+39
-16
lines changed

3 files changed

+39
-16
lines changed

worker/internal/benthos/transformers/fullName.go

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,24 @@ import (
99

1010
func init() {
1111

12-
spec := bloblang.NewPluginSpec().
13-
Param(bloblang.NewBoolParam("preserve_length"))
12+
spec := bloblang.NewPluginSpec().Param(bloblang.NewStringParam(("name"))).Param(bloblang.NewBoolParam("preserve_length"))
1413

1514
// register the plugin
16-
err := bloblang.RegisterMethodV2("fullnametransformer", spec, func(args *bloblang.ParsedParams) (bloblang.Method, error) {
15+
err := bloblang.RegisterFunctionV2("fullnametransformer", spec, func(args *bloblang.ParsedParams) (bloblang.Function, error) {
16+
17+
name, err := args.GetString("name")
18+
if err != nil {
19+
return nil, err
20+
}
1721

1822
preserveLength, err := args.GetBool("preserve_length")
1923
if err != nil {
2024
return nil, err
2125
}
22-
return bloblang.StringMethod(func(s string) (any, error) {
23-
res, err := GenerateFullName(s, preserveLength)
26+
return func() (any, error) {
27+
res, err := GenerateFullName(name, preserveLength)
2428
return res, err
25-
}), nil
29+
}, nil
2630
})
2731

2832
if err != nil {
@@ -32,15 +36,21 @@ func init() {
3236
}
3337

3438
// generates a random full name
35-
func GenerateFullName(fn string, pl bool) (string, error) {
39+
func GenerateFullName(name string, pl bool) (string, error) {
3640

37-
if !pl {
38-
res, err := GenerateFullNameWithRandomLength()
39-
return res, err
41+
if name != "" {
42+
if !pl {
43+
res, err := GenerateFullNameWithRandomLength()
44+
return res, err
45+
} else {
46+
res, err := GenerateFullNameWithLength(name)
47+
return res, err
48+
}
4049
} else {
41-
res, err := GenerateFullNameWithLength(fn)
50+
res, err := GenerateFullNameWithRandomLength()
4251
return res, err
4352
}
53+
4454
}
4555

4656
// main transformer logic goes here

worker/internal/benthos/transformers/fullName_test.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package neosync_transformers
22

33
import (
4+
"fmt"
45
"strings"
56
"testing"
67

@@ -29,15 +30,27 @@ func TestProcessFullNamePreserveLengthFalse(t *testing.T) {
2930
assert.IsType(t, "", res, "The full name should be a string") // Check if the result is a string
3031
}
3132

32-
func TestFullNameTransformer(t *testing.T) {
33-
mapping := `root = this.fullnametransformer(true)`
33+
func TestFullNameTransformerWithValue(t *testing.T) {
34+
testVal := "john smith"
35+
mapping := fmt.Sprintf(`root = fullnametransformer(%q,true)`, testVal)
3436
ex, err := bloblang.Parse(mapping)
3537
assert.NoError(t, err, "failed to parse the full name transformer")
3638

37-
testVal := "john smith"
38-
3939
res, err := ex.Query(testVal)
4040
assert.NoError(t, err)
4141

4242
assert.Len(t, res.(string), len(testVal), "Generated full name must be as long as input full name")
4343
}
44+
45+
func TestFullNameTransformerWithNoValue(t *testing.T) {
46+
testVal := ""
47+
mapping := fmt.Sprintf(`root = fullnametransformer(%q,true)`, testVal)
48+
ex, err := bloblang.Parse(mapping)
49+
assert.NoError(t, err, "failed to parse the full name transformer")
50+
51+
res, err := ex.Query(testVal)
52+
assert.NoError(t, err)
53+
54+
assert.IsType(t, res.(string), "", "Generated first name must be a string")
55+
assert.NotEmpty(t, res.(string))
56+
}

worker/pkg/workflows/datasync/activities/activities.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ func computeMutationFunction(col *mgmtv1alpha1.JobMapping) (string, error) {
579579
return fmt.Sprintf("this.%s.lastnametransformer(%t)", col.Column, pl), nil
580580
case "full_name":
581581
pl := col.Transformer.Config.GetFullNameConfig().PreserveLength
582-
return fmt.Sprintf("this.%s.fullnametransformer(%t)", col.Column, pl), nil
582+
return fmt.Sprintf("fullnametransformer(%s,%t)", col.Column, pl), nil
583583
case "phone_number":
584584
pl := col.Transformer.Config.GetPhoneNumberConfig().PreserveLength
585585
ef := col.Transformer.Config.GetPhoneNumberConfig().E164Format

0 commit comments

Comments
 (0)