public void CopiesAllValues()
            {
                var minimalClaim = new Claim("t1", "v1", "vt", "i", "oi");

                ClaimDataRecord actual = null;
                Action          act    = () => actual = ClaimDataRecord.FromClaim(minimalClaim);

                act.Should().NotThrow();

                var expected = new ClaimDataRecord {
                    Type           = "t1",
                    Value          = "v1",
                    OriginalIssuer = "oi",
                    Issuer         = "i",
                    ValueType      = "vt"
                };

                actual.Should().BeEquivalentTo(expected);
            }
            public void GivenMinimalClaim_DoesNotThrow()
            {
                var minimalClaim = new Claim("t1", "v1");

                ClaimDataRecord actual = null;
                Action          act    = () => actual = ClaimDataRecord.FromClaim(minimalClaim);

                act.Should().NotThrow();

                var expected = new ClaimDataRecord {
                    Type           = "t1",
                    Value          = "v1",
                    OriginalIssuer = "LOCAL AUTHORITY",
                    Issuer         = "LOCAL AUTHORITY",
                    ValueType      = "http://www.w3.org/2001/XMLSchema#string"
                };

                actual.Should().BeEquivalentTo(expected);
            }
        public Task Register(Client client)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            var record = new ClientDataRecord {
                Id                 = client.Id,
                Name               = client.Name,
                NonceExpiration    = client.NonceLifetime.TotalSeconds,
                Claims             = client.Claims?.Select(c => ClaimDataRecord.FromClaim(c))?.ToArray(),
                SignatureAlgorithm = SignatureAlgorithmDataRecord.FromSignatureAlgorithm(client.SignatureAlgorithm)
            };

            var collection = _lazyCollection.Value;

            return(collection.ReplaceOneAsync(r => r.Id == record.Id, record, new ReplaceOptions {
                IsUpsert = true
            }));
        }
 public ClaimDataRecordTests()
 {
     _sut = new ClaimDataRecord();
 }
            public void GivenNullClaim_ThrowsArgumentNullException()
            {
                Action act = () => ClaimDataRecord.FromClaim(null);

                act.Should().Throw <ArgumentNullException>();
            }