Example #1
0
 public DynamicScenario(string callbackEndpoint, DynamicPolicy dynamicPolicy, List <BaseExtension> extensions = null, object subject = null)
 {
     _callbackEndpoint = callbackEndpoint;
     _dynamicPolicy    = dynamicPolicy;
     _extensions       = extensions ?? new List <BaseExtension>();
     _subject          = subject;
 }
Example #2
0
        public void ShouldBuildADynamicScenario()
        {
            DynamicPolicy somePolicy  = TestTools.ShareUrl.CreateStandardPolicy();
            object        someSubject = IdentityProfiles.CreateStandardSubject();

            DynamicScenario result = new DynamicScenarioBuilder()
                                     .WithCallbackEndpoint(_someEndpoint)
                                     .WithPolicy(somePolicy)
                                     .WithExtension(extension1)
                                     .WithExtension(extension2)
                                     .WithSubject(someSubject)
                                     .Build();

            var expectedExtensions = new List <BaseExtension> {
                extension1, extension2
            };

            Assert.AreEqual(_someEndpoint, result.CallbackEndpoint);
            Assert.AreEqual(somePolicy, result.DynamicPolicy);
            CollectionAssert.AreEqual(expectedExtensions, result.Extensions);
            Assert.AreEqual(someSubject, result.Subject);

            string serializedScenario = JsonConvert.SerializeObject(
                result,

                new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            });

            object deserializedObject;

            using (StreamReader r = File.OpenText("TestData/DynamicPolicy.json"))
            {
                string json = r.ReadToEnd();
                deserializedObject = JsonConvert.DeserializeObject(json);
            }

            string expectedJson = JsonConvert.SerializeObject(deserializedObject);

            Assert.AreEqual(expectedJson, serializedScenario);
        }
 /// <summary>
 /// The customisable <see cref="DynamicPolicy"/> to use in the share
 /// </summary>
 /// <param name="dynamicPolicy"></param>
 /// <returns><see cref="DynamicScenarioBuilder"/> with a Dynamic Policy added</returns>
 public DynamicScenarioBuilder WithPolicy(DynamicPolicy dynamicPolicy)
 {
     _dynamicPolicy = dynamicPolicy;
     return(this);
 }