Skip to content

fixes logic in fullname transformer with tests #3537

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 11, 2025
Merged

Conversation

nickzelei
Copy link
Member

@nickzelei nickzelei commented Jun 11, 2025

Fixes #3536

Copy link

vercel bot commented Jun 11, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
neosync-docs ⬜️ Ignored (Inspect) Jun 11, 2025 5:09pm

@nickzelei nickzelei added the bug Something isn't working label Jun 11, 2025
@nickzelei nickzelei marked this pull request as ready for review June 11, 2025 17:11
Copy link

codecov bot commented Jun 11, 2025

Codecov Report

Attention: Patch coverage is 50.00000% with 18 lines in your changes missing coverage. Please review.

Project coverage is 24.09%. Comparing base (f1704d4) to head (3af8b64).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...er/pkg/benthos/transformers/transform_full_name.go 50.00% 14 Missing and 4 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3537      +/-   ##
==========================================
+ Coverage   24.05%   24.09%   +0.04%     
==========================================
  Files         421      421              
  Lines       56449    56482      +33     
==========================================
+ Hits        13576    13610      +34     
+ Misses      41690    41688       -2     
- Partials     1183     1184       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link

Benchstat Geomean Results

-5.92% sec/op, -0.01% B/op, 0.00% allocs/op

Benchstat results
                                                                 │ main-benchmark.txt │        branch-benchmark.txt         │
                                                                 │       sec/op       │    sec/op     vs base               │
CleanPostgresType-4                                                      42.66n ±  9%   43.90n ±  7%        ~ (p=0.223 n=6)
CleanMysqlType-4                                                         53.94n ±  0%   54.21n ±  0%   +0.50% (p=0.009 n=6)
Runner_Single-4                                                          7.701µ ±  3%   7.644µ ±  2%        ~ (p=0.937 n=6)
GenerateBool-4                                                           11.54n ±  1%   11.62n ±  1%   +0.74% (p=0.039 n=6)
GenerateBusinessName-4                                                   304.1n ±  9%   314.7n ±  9%        ~ (p=0.310 n=6)
GenerateCardNumber-4                                                     28.96n ±  6%   28.92n ±  0%        ~ (p=0.234 n=6)
GenerateCategorical-4                                                    93.68n ±  1%   95.94n ±  1%   +2.41% (p=0.002 n=6)
GenerateCity-4                                                           173.3n ±  2%   175.5n ±  1%        ~ (p=0.065 n=6)
GenerateCountry-4                                                        95.17n ±  2%   95.40n ±  1%        ~ (p=0.310 n=6)
GenerateEmail-4                                                         1308.5n ±  2%   687.2n ±  0%  -47.48% (p=0.002 n=6)
GenerateFirstName-4                                                      203.3n ±  0%   203.8n ±  1%        ~ (p=0.193 n=6)
GenerateFloat64-4                                                        26.39n ±  1%   26.68n ±  1%        ~ (p=0.065 n=6)
GenerateFullAddress-4                                                    1.411µ ±  0%   1.417µ ±  1%   +0.50% (p=0.009 n=6)
GenerateFullName-4                                                       1.204µ ±  2%   1.255µ ±  4%   +4.24% (p=0.002 n=6)
GenerateGender-4                                                         36.69n ±  0%   37.22n ±  1%   +1.44% (p=0.002 n=6)
GenerateInt64-4                                                          27.02n ±  0%   27.12n ±  0%   +0.37% (p=0.006 n=6)
GenerateInt64PhoneNumber-4                                               51.15n ±  0%   51.50n ±  0%   +0.67% (p=0.002 n=6)
GenerateInternationalPhoneNumber-4                                       174.2n ±  0%   168.3n ±  0%   -3.36% (p=0.002 n=6)
GenerateIpAddress-4                                                      560.0n ±  2%   521.5n ±  1%   -6.89% (p=0.002 n=6)
GenerateLastName-4                                                       189.2n ±  1%   191.2n ±  2%   +1.08% (p=0.013 n=6)
GenerateRandomString-4                                                   264.9n ± 24%   266.9n ±  1%        ~ (p=0.331 n=6)
GenerateSHA256Hash-4                                                    1003.5n ±  1%   430.4n ±  1%  -57.12% (p=0.002 n=6)
GenerateSSN-4                                                            265.8n ±  3%   268.7n ±  1%        ~ (p=0.240 n=6)
GenerateState-4                                                          94.77n ±  2%   95.65n ±  0%        ~ (p=0.394 n=6)
GenerateStreetAddress-4                                                  207.5n ±  1%   211.7n ±  0%   +2.00% (p=0.002 n=6)
GenerateStringPhoneNumber-4                                              171.1n ±  0%   164.6n ±  0%   -3.80% (p=0.002 n=6)
GenerateUnixTimestamp-4                                                  77.04n ±  1%   76.18n ±  6%        ~ (p=0.132 n=6)
GenerateUsername-4                                                       346.1n ±  2%   352.6n ±  1%   +1.89% (p=0.024 n=6)
GenerateUTCTimestamp-4                                                  105.80n ±  1%   98.29n ±  0%   -7.10% (p=0.002 n=6)
GenerateUUID-4                                                           732.1n ±  1%   190.2n ±  0%  -74.01% (p=0.002 n=6)
GenerateZipcode-4                                                        93.42n ±  1%   93.96n ±  1%        ~ (p=0.065 n=6)
TransformCharacterScramble-4                                             159.9n ±  3%   164.7n ±  1%   +3.03% (p=0.004 n=6)
TransformE164PhoneNumber-4                                               171.6n ±  0%   169.7n ±  1%   -1.11% (p=0.022 n=6)
TransformEmail-4                                                         1.774µ ±  1%   1.119µ ±  0%  -36.90% (p=0.002 n=6)
TransformFirstName-4                                                     233.9n ±  1%   236.2n ±  2%   +0.96% (p=0.004 n=6)
TransformFloat64-4                                                       101.2n ±  1%   101.5n ± 17%        ~ (p=0.149 n=6)
TransformFullName-4                                                      1.236µ ±  2%   1.241µ ±  1%        ~ (p=0.394 n=6)
TransformInt64-4                                                         31.92n ±  2%   31.81n ±  0%   -0.31% (p=0.017 n=6)
TransformInt64PhoneNumber-4                                              57.88n ±  3%   58.48n ±  0%        ~ (p=0.394 n=6)
TransformLastName-4                                                      194.8n ±  1%   195.5n ±  1%        ~ (p=0.052 n=6)
TransformString-4                                                        291.5n ±  1%   292.8n ±  1%   +0.43% (p=0.009 n=6)
TransformStringPhoneNumber-4                                             198.8n ±  1%   187.1n ±  0%   -5.93% (p=0.002 n=6)
TransformUuid-4                                                          32.34n ±  0%   32.79n ±  1%   +1.41% (p=0.002 n=6)
GenerateRandomStringWithInclusiveBounds/SmallRange_1_10-4                82.86n ±  0%   82.31n ±  1%        ~ (p=0.063 n=6)
GenerateRandomStringWithInclusiveBounds/MediumRange_10_100-4             259.2n ±  3%   256.3n ±  0%   -1.14% (p=0.002 n=6)
GenerateRandomStringWithInclusiveBounds/LargeRange_100_1000-4            1.882µ ±  0%   1.870µ ±  0%   -0.64% (p=0.002 n=6)
GenerateRandomStringWithInclusiveBounds/FixedLength_50_50-4              199.7n ±  0%   198.0n ±  0%   -0.85% (p=0.002 n=6)
GenerateRandomStringWithInclusiveBounds/ZeroLength_0_0-4                 3.736n ±  2%   3.740n ±  1%        ~ (p=0.199 n=6)
GenerateRandomStringWithInclusiveBounds/Text_1_65535-4                   14.95µ ±  0%   14.98µ ±  1%        ~ (p=0.937 n=6)
GenerateRandomStringWithInclusiveBounds/AboveLimit_1_100000-4            14.95µ ±  2%   15.47µ ±  4%        ~ (p=0.485 n=6)
GenerateRandomStringWithInclusiveBounds/FixedAboveLimit_100000-4         26.66µ ±  1%   27.60µ ±  1%   +3.55% (p=0.002 n=6)
GenerateRandomStringWithInclusiveBounds/MaxTextSize_65535-4              26.59µ ±  1%   27.71µ ±  1%   +4.21% (p=0.002 n=6)
geomean                                                                  240.5n         226.2n         -5.92%

                                                                 │ main-benchmark.txt │         branch-benchmark.txt         │
                                                                 │        B/op        │     B/op      vs base                │
CleanPostgresType-4                                                      0.000 ± 0%       0.000 ± 0%       ~ (p=1.000 n=6) ¹
CleanMysqlType-4                                                         0.000 ± 0%       0.000 ± 0%       ~ (p=1.000 n=6) ¹
Runner_Single-4                                                        2.290Ki ± 1%     2.284Ki ± 1%       ~ (p=0.411 n=6)
GenerateBool-4                                                           0.000 ± 0%       0.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateBusinessName-4                                                   304.0 ± 0%       304.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCardNumber-4                                                     8.000 ± 0%       8.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCategorical-4                                                    64.00 ± 0%       64.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCity-4                                                           160.0 ± 0%       160.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCountry-4                                                        24.00 ± 0%       24.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateEmail-4                                                          385.0 ± 0%       385.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFirstName-4                                                      208.0 ± 0%       208.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFloat64-4                                                        8.000 ± 0%       8.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFullAddress-4                                                    512.0 ± 0%       512.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFullName-4                                                       418.0 ± 0%       418.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateGender-4                                                         16.00 ± 0%       16.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateInt64-4                                                          7.000 ± 0%       7.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateInt64PhoneNumber-4                                               8.000 ± 0%       8.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateInternationalPhoneNumber-4                                       40.00 ± 0%       40.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateIpAddress-4                                                      31.00 ± 0%       31.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateLastName-4                                                       176.0 ± 0%       176.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomString-4                                                   72.00 ± 0%       72.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateSHA256Hash-4                                                     288.0 ± 0%       288.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateSSN-4                                                            46.00 ± 0%       46.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateState-4                                                          24.00 ± 0%       24.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateStreetAddress-4                                                  240.0 ± 0%       240.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateStringPhoneNumber-4                                              40.00 ± 0%       40.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUnixTimestamp-4                                                  8.000 ± 0%       8.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUsername-4                                                       205.0 ± 0%       205.0 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUTCTimestamp-4                                                   24.00 ± 0%       24.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUUID-4                                                           80.00 ± 0%       80.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateZipcode-4                                                        24.00 ± 0%       24.00 ± 0%       ~ (p=1.000 n=6) ¹
TransformCharacterScramble-4                                             40.00 ± 0%       40.00 ± 0%       ~ (p=1.000 n=6) ¹
TransformE164PhoneNumber-4                                               40.00 ± 0%       40.00 ± 0%       ~ (p=1.000 n=6) ¹
TransformEmail-4                                                         489.0 ± 0%       489.0 ± 0%       ~ (p=1.000 n=6) ¹
TransformFirstName-4                                                     224.0 ± 0%       224.0 ± 0%       ~ (p=1.000 n=6) ¹
TransformFloat64-4                                                       88.00 ± 0%       88.00 ± 0%       ~ (p=1.000 n=6) ¹
TransformFullName-4                                                      418.0 ± 0%       418.0 ± 0%       ~ (p=1.000 n=6) ¹
TransformInt64-4                                                         8.000 ± 0%       8.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformInt64PhoneNumber-4                                              8.000 ± 0%       8.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformLastName-4                                                      176.0 ± 0%       176.0 ± 0%       ~ (p=1.000 n=6) ¹
TransformString-4                                                        88.00 ± 0%       88.00 ± 0%       ~ (p=1.000 n=6) ¹
TransformStringPhoneNumber-4                                             56.00 ± 0%       56.00 ± 0%       ~ (p=1.000 n=6) ¹
TransformUuid-4                                                          16.00 ± 0%       16.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/SmallRange_1_10-4                6.000 ± 0%       6.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/MediumRange_10_100-4             61.00 ± 0%       61.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/LargeRange_100_1000-4            582.0 ± 0%       582.0 ± 0%       ~ (p=1.000 n=6)
GenerateRandomStringWithInclusiveBounds/FixedLength_50_50-4              64.00 ± 0%       64.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/ZeroLength_0_0-4                 0.000 ± 0%       0.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/Text_1_65535-4                 34.43Ki ± 0%     34.40Ki ± 1%       ~ (p=1.000 n=6)
GenerateRandomStringWithInclusiveBounds/AboveLimit_1_100000-4          34.44Ki ± 0%     34.44Ki ± 0%       ~ (p=0.786 n=6)
GenerateRandomStringWithInclusiveBounds/FixedAboveLimit_100000-4       64.00Ki ± 0%     64.00Ki ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/MaxTextSize_65535-4            64.00Ki ± 0%     64.00Ki ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                                             ²                 -0.01%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                                                 │ main-benchmark.txt │        branch-benchmark.txt        │
                                                                 │     allocs/op      │ allocs/op   vs base                │
CleanPostgresType-4                                                     0.000 ±  0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
CleanMysqlType-4                                                        0.000 ±  0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
Runner_Single-4                                                         24.00 ±  0%     24.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateBool-4                                                          0.000 ±  0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateBusinessName-4                                                  2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCardNumber-4                                                    1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCategorical-4                                                   2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCity-4                                                          2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateCountry-4                                                       2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateEmail-4                                                         8.000 ±  0%     8.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFirstName-4                                                     2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFloat64-4                                                       1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFullAddress-4                                                   10.00 ±  0%     10.00 ± 0%       ~ (p=1.000 n=6) ¹
GenerateFullName-4                                                      6.000 ±  0%     6.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateGender-4                                                        1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateInt64-4                                                         0.000 ±  0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateInt64PhoneNumber-4                                              1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateInternationalPhoneNumber-4                                      3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateIpAddress-4                                                     2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateLastName-4                                                      2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomString-4                                                  2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateSHA256Hash-4                                                    7.000 ±  0%     7.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateSSN-4                                                           3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateState-4                                                         2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateStreetAddress-4                                                 2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateStringPhoneNumber-4                                             3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUnixTimestamp-4                                                 1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUsername-4                                                      6.000 ±  0%     6.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUTCTimestamp-4                                                  1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateUUID-4                                                          3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateZipcode-4                                                       2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformCharacterScramble-4                                            3.000 ± 33%     3.000 ± 0%       ~ (p=1.000 n=6)
TransformE164PhoneNumber-4                                              3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformEmail-4                                                        14.00 ±  0%     14.00 ± 0%       ~ (p=1.000 n=6) ¹
TransformFirstName-4                                                    3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformFloat64-4                                                      3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformFullName-4                                                     6.000 ±  0%     6.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformInt64-4                                                        1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformInt64PhoneNumber-4                                             1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformLastName-4                                                     2.000 ±  0%     2.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformString-4                                                       3.000 ±  0%     3.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformStringPhoneNumber-4                                            4.000 ±  0%     4.000 ± 0%       ~ (p=1.000 n=6) ¹
TransformUuid-4                                                         1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/SmallRange_1_10-4               1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/MediumRange_10_100-4            1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/LargeRange_100_1000-4           1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/FixedLength_50_50-4             1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/ZeroLength_0_0-4                0.000 ±  0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/Text_1_65535-4                  1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/AboveLimit_1_100000-4           1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/FixedAboveLimit_100000-4        1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
GenerateRandomStringWithInclusiveBounds/MaxTextSize_65535-4             1.000 ±  0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                                             ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

@nickzelei nickzelei merged commit 469ba92 into main Jun 11, 2025
14 of 16 checks passed
@nickzelei nickzelei deleted the nick/fullname-fixes branch June 11, 2025 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fullname transformer doesn't work as expected with preserve_length = true
2 participants