public void JsonBackChannelConfigurationTest()
        {
            //ARRANGE
            var     configurations = new List <object>();
            var     inlineProvider = new InlineMetadataContextProvider.Security.CertificateValidationConfigurationProvider();
            var     jsonSerialiser = new NSJsonSerializer(new DefaultSettingsProvider());
            var     config1        = inlineProvider.GetConfiguration("atlasCopco");
            dynamic expando1       = new ExpandoObject();

            expando1.Id            = "atlasCopco";
            expando1.Configuration = config1;
            configurations.Add(expando1);

            var     config2  = inlineProvider.GetConfiguration("testshib");
            dynamic expando2 = new ExpandoObject();

            expando2.Id            = "testshib";
            expando2.Configuration = config2;
            configurations.Add(expando2);


            var config3 = inlineProvider.GeBackchannelConfiguration("atlasCopco");

            dynamic expando3 = new ExpandoObject();

            expando3.Id = "atlasCopco";
            expando3.MetadataAddress = new Uri(@"file://*****:*****@"file://D:\Dan\Software\ECA-Interenational\Metadata\atlasCopco\federation_metadata.xml"));
            var found2 = jsonProvider.GeBackchannelConfiguration(new Uri("https://www.testshib.org/metadata/testshib-providers.xml"));

            //ASSERT
            Assert.IsNotNull(found1);
            Assert.False(found1.UsePinningValidation);
            Assert.False(found2.UsePinningValidation);
        }
        public void JsonCertificateValidationConfigurationTest()
        {
            //ARRANGE
            var     configurations = new List <object>();
            var     inlineProvider = new InlineMetadataContextProvider.Security.CertificateValidationConfigurationProvider();
            var     jsonSerialiser = new NSJsonSerializer(new DefaultSettingsProvider());
            var     config1        = inlineProvider.GetConfiguration("atlasCopco");
            dynamic expando1       = new ExpandoObject();

            expando1.Id            = "atlasCopco";
            expando1.Configuration = config1;
            configurations.Add(expando1);

            var     config2  = inlineProvider.GetConfiguration("testshib");
            dynamic expando2 = new ExpandoObject();

            expando2.Id            = "testshib";
            expando2.Configuration = config2;
            configurations.Add(expando2);


            var config3 = inlineProvider.GeBackchannelConfiguration("atlasCopco");

            dynamic expando3 = new ExpandoObject();

            expando3.Id            = "atlasCopco";
            expando3.Metadata      = "";
            expando3.Configuration = config3;
            configurations.Add(expando3);

            var     config4  = inlineProvider.GeBackchannelConfiguration("testshib");
            dynamic expando4 = new ExpandoObject();

            expando4.Id = "testshib";
            expando4.MetadataAddress = "https://www.testshib.org/metadata/testshib-providers.xml";
            expando4.Configuration   = config4;
            configurations.Add(expando4);


            var serialised = jsonSerialiser.Serialize(configurations);

            var cache        = new MockCacheProvider();
            var jsonProvider = new JsonMetadataContextProvider.Security.CertificateValidationConfigurationProvider(jsonSerialiser, cache, t => serialised);
            //ACT

            var found1 = jsonProvider.GetConfiguration("atlasCopco");
            var found2 = jsonProvider.GetConfiguration("testshib");

            //ASSERT
            Assert.IsNotNull(found1);
            Assert.AreEqual(X509CertificateValidationMode.Custom, found1.X509CertificateValidationMode);
            Assert.AreEqual(X509CertificateValidationMode.Custom, found2.X509CertificateValidationMode);
        }