mirror of
https://github.com/bitwarden/server.git
synced 2024-11-30 13:33:24 +01:00
edf30974dc
* Add last updated validation to cipher replacements * Add AutoFixture scaffolding. AutoDataAttributes and ICustomizations are meant to automatically produce valid test input. Examples are the Cipher customizations, which enforce the model's mutual exclusivity of UserId and OrganizationId. FixtureExtensions create a fluent way to generate SUTs. We currently use parameter injection to fascilitate service testing, which is nicely handled by AutoNSubstitute. However, in order to gain access to the substitutions, we need to Freeze them onto the Fixture. The For fluent method allows specifying a Freeze to a specific type's constructor and optionally to a parameter name in that constructor. * Unit tests for single Cipher update version checks * Fix test runner Test runner requires Microsoft.NET.Test.Sdk * Move to provider model for SUT generation This model differs from previous in that you no longer need to specify which dependencies you would like access to. Instead, all are remembered and can be queried through the sutProvider. * User cipher provided by Put method reads Every put method already reads all relevant ciphers from database, there's no need to re-read them. JSON serialization of datetimes seems to leave truncate at second precision. Verify last known date time is within one second rather than exact. * validate revision date for share many requests * Update build script to use Github environment path Co-authored-by: Matt Gibson <mdgibson@Matts-MBP.lan>
26 lines
730 B
C#
26 lines
730 B
C#
using System;
|
|
using System.Linq;
|
|
using AutoFixture;
|
|
using AutoFixture.Xunit2;
|
|
|
|
namespace Bit.Core.Test.AutoFixture.Attributes
|
|
{
|
|
internal class CustomAutoDataAttribute : AutoDataAttribute
|
|
{
|
|
public CustomAutoDataAttribute(params Type[] iCustomizationTypes) : this(iCustomizationTypes
|
|
.Select(t => (ICustomization)Activator.CreateInstance(t)).ToArray())
|
|
{ }
|
|
|
|
public CustomAutoDataAttribute(params ICustomization[] customizations) : base(() =>
|
|
{
|
|
var fixture = new Fixture();
|
|
foreach (var customization in customizations)
|
|
{
|
|
fixture.Customize(customization);
|
|
}
|
|
return fixture;
|
|
})
|
|
{ }
|
|
}
|
|
}
|