Skip to content

Latest commit

 

History

History
125 lines (99 loc) · 3.64 KB

readme.md

File metadata and controls

125 lines (99 loc) · 3.64 KB

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.