Skip to content

Extends Verify to enable scrubbing of Universally Unique Lexicographically Sortable Identifiers via Ulid the https://github.com/Cysharp/Ulid package

License

Notifications You must be signed in to change notification settings

VerifyTests/Verify.Ulid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verify.Ulid

Discussions Build status NuGet Status

Extends Verify to enable scrubbing of Universally Unique Lexicographically Sortable Identifiers via Ulid package.

See Milestones for release notes.

NuGet package

https://nuget.org/packages/Verify.Ulid/

Usage

Call VerifyUlid.Initialize() once at assembly load time.

[ModuleInitializer]
public static void Init() =>
    VerifyUlid.Initialize();

snippet source | anchor

ULIDs will then be scrubbed:

[Test]
public Task UlidScrubbing()
{
    var id = Ulid.NewUlid();
    var target = new Person
    {
        Id = id,
        Name = "Sarah",
        Description = $"Sarah ({id})"
    };
    return Verify(target);
}

snippet source | anchor

Result:

{
  Id: Ulid_1,
  Name: Sarah,
  Description: Sarah (Ulid_1)
}

snippet source | anchor

Disabling Scrubbing

To disable scrubbing use DontScrubUlids()

[Test]
public Task DontScrubFluent()
{
    var id = Ulid.Parse("01JGXG0GDGQEP47CBQ65E50HYH");
    var target = new Person
    {
        Id = id,
        Name = "Sarah",
        Description = $"Sarah ({id})"
    };
    return Verify(target)
        .DontScrubUlids();
}

[Test]
public Task DontScrubInstance()
{
    var id = Ulid.Parse("01JGXG0GDGQEP47CBQ65E50HYH");
    var target = new Person
    {
        Id = id,
        Name = "Sarah",
        Description = $"Sarah ({id})"
    };
    var settings = new VerifySettings();
    settings.DontScrubUlids();
    return Verify(target, settings);
}

snippet source | anchor

Result:

{
  Id: 01JGXG0GDGQEP47CBQ65E50HYH,
  Name: Sarah,
  Description: Sarah (01JGXG0GDGQEP47CBQ65E50HYH)
}

snippet source | anchor

Icon

Pattern designed by Mohamed Salah Hajji from The Noun Project.

About

Extends Verify to enable scrubbing of Universally Unique Lexicographically Sortable Identifiers via Ulid the https://github.com/Cysharp/Ulid package

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Languages