public DynamicScenario(string callbackEndpoint, DynamicPolicy dynamicPolicy, List <BaseExtension> extensions = null, object subject = null) { _callbackEndpoint = callbackEndpoint; _dynamicPolicy = dynamicPolicy; _extensions = extensions ?? new List <BaseExtension>(); _subject = subject; }
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); }