/// <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; } } }