mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 23:52:50 -05:00
[SM-151] Move EF Dapper tests to Infrastructure.EFIntegration.Test (#2204)
This commit is contained in:
@ -0,0 +1,41 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Reflection;
|
||||
using AutoFixture.Kernel;
|
||||
|
||||
namespace Bit.Infrastructure.EFIntegration.Test.AutoFixture.Relays
|
||||
{
|
||||
// Creates a string the same length as any availible MaxLength data annotation
|
||||
// Modified version of the StringLenfthRelay provided by AutoFixture
|
||||
// https://github.com/AutoFixture/AutoFixture/blob/master/Src/AutoFixture/DataAnnotations/StringLengthAttributeRelay.cs
|
||||
public class MaxLengthStringRelay : ISpecimenBuilder
|
||||
{
|
||||
public object Create(object request, ISpecimenContext context)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
return new NoSpecimen();
|
||||
}
|
||||
|
||||
if (context == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(context));
|
||||
}
|
||||
|
||||
var p = request as PropertyInfo;
|
||||
if (p == null)
|
||||
{
|
||||
return new NoSpecimen();
|
||||
}
|
||||
|
||||
var a = (MaxLengthAttribute)p.GetCustomAttributes(typeof(MaxLengthAttribute), false).SingleOrDefault();
|
||||
|
||||
if (a == null)
|
||||
{
|
||||
return new NoSpecimen();
|
||||
}
|
||||
|
||||
return context.Resolve(new ConstrainedStringRequest(a.Length, a.Length));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user