Exemple #1
0
 /// <inheritdoc />
 internal ValidKeyValueClaimExtractionConfig(KeyValueClaimExtractionConfig.KeyValueExtractionAsync func, string key, ClaimLocation location, string claimName)
 {
     _extract      = func;
     _keyName      = key;
     ClaimLocation = location;
     _claimName    = claimName;
 }
        public void KeyValuePairExtraction_Theory(string key, string data, string extractionFunction)
        {
            const string claimName = "PityTheFoolClaim";

            KeyValueClaimExtractionConfig.KeyValueExtractionAsync extractionFunc = null;
            if (extractionFunction?.Equals(nameof(ExtractionFunctions.KeyValueFunc)) ?? false)
            {
                extractionFunc = ExtractionFunctions.KeyValueFunc;
            }
            var config = new ValidKeyValueClaimExtractionConfig(extractionFunc, key, ClaimLocation.Body, claimName);

            Assert.True(config.ClaimLocation.Equals(ClaimLocation.Body));
            Assert.True(config.ExtractionType.Equals(ExtractionType.KeyValue));
            var result = config.GetClaimAsync(data).Result;

            switch (key)
            {
            case "1":
            {
                Assert.Equal(claimName, result.Type);
                Assert.Equal("one", result.Value);
                break;
            }

            case "2":
            {
                Assert.Equal(claimName, result.Type);
                Assert.Equal("two", result.Value);
                break;
            }

            case "fourSeventyFive":
            {
                Assert.Equal(string.Empty, result.Value);
                break;
            }
            }
        }