public void CallSingle_Exception_PassedAndNoOutput() { BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), ""); var facade = new FacadeStub(); var prov = new FacadeStub.ProviderStub() { _GetOne = (s) => { throw new Exception(); } }; FacadeStub.Element[] ret; var elements = new FacadeStub.ElementStub[] { new FacadeStub.ElementStub() { Input = "DDD", Succeeded = true, Updatable = true }, new FacadeStub.ElementStub() { Input = "SSS", Succeeded = true, Updatable = true } }; facade.CallSingle(prov, elements, out ret); Assert.AreEqual("DDD", elements[0].Input); Assert.Null(elements[0].Output); Assert.AreEqual("SSS", elements[1].Input); Assert.Null(elements[1].Output); }
public void CallDataProviders_FirstProviderException_ProvidersCascaded() { BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), ""); var facade = new FacadeStub(); bool called = false; var provs = new ISingleDataProvider <string, string>[] { new FacadeStub.ProviderStub() { _GetBatch = (i) => { called = true; throw new Exception(); } }, new FacadeStub.ProviderStub() { _GetBatch = (i) => new string[] { null, "DDD" } } }; Assert.False(called); var ret = facade.CallDataProviders(provs, new string[] { "SSS", "DDD" }); Assert.True(called); Assert.AreEqual(2, ret.Length); Assert.AreEqual("SSS", ret[0].Input); Assert.Null(ret[0].Output); Assert.AreEqual("DDD", ret[1].Input); Assert.AreEqual("DDD", ret[1].Output); }
public void CreateDataProviders_FunkyType_None() { BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), ""); var facade = new FacadeStub(); IEnumerable <FunkyDataProvider> provs; var ret = facade.CreateDataProviders(out provs); Assert.IsEmpty(provs.ToArray()); Assert.AreEqual("503", ret.StatusKode); }
public void Aggregate_AllFailed_503() { var facade = new FacadeStub(); var elements = new FacadeStub.Element[] { new FacadeStub.ElementSub() { Succeeded = false } }; var ret = facade.Aggregate <BasicOutputType <string[]> >(elements); Assert.AreEqual("503", ret.StandardRetur.StatusKode); }
public void BaseUpdateDatabase_Normal_InOutPassed() { var facade = new FacadeStub(); facade.BaseUpdateDatabase(new FacadeStub.Element[] { new FacadeStub.Element() { Input = "Inp", Output = "Out" } }); Assert.AreEqual("Inp", facade.inputs[0]); Assert.AreEqual("Out", facade.outputs[0]); }
public void CallDataProviders_NoProv_Fail() { var facade = new FacadeStub(); var provs = new ISingleDataProvider <string, string>[] { }; var ret = facade.CallDataProviders(provs, new string[] { "SSS", "DDD" }); Assert.AreEqual(2, ret.Length); Assert.AreEqual("SSS", ret[0].Input); Assert.Null(ret[0].Output); Assert.AreEqual("DDD", ret[1].Input); Assert.Null(ret[1].Output); }
public void CallSingle_Normal_CorrectOuput() { var facade = new FacadeStub(); var prov = new FacadeStub.ProviderStub() { _GetOne = (s) => "ddd" + s, _ImmediateUpdatePreferred = false }; FacadeStub.Element[] ret; facade.CallSingle(prov, new FacadeStub.ElementStub[] { new FacadeStub.ElementStub() { Input = "DDD", Succeeded = true, Updatable = true } }, out ret); Assert.AreEqual("dddDDD", ret[0].Output); }
public void Aggregate_Mixed_CorrectReasonAndInput() { var facade = new FacadeStub(); var elements = new FacadeStub.Element[] { new FacadeStub.ElementSub() { Input = "0Inp", Output = "0", Succeeded = false, PossibleErrorReason = "SSSSS" }, new FacadeStub.ElementSub() { Output = "1", Succeeded = true } }; var ret = facade.Aggregate <BasicOutputType <string[]> >(elements); Assert.Greater(ret.StandardRetur.FejlbeskedTekst.IndexOf("SSSSS"), -1); Assert.Greater(ret.StandardRetur.FejlbeskedTekst.IndexOf("0Inp"), -1); }
public void Aggregate_Mixed_ResultPropagatedOnlyForSuccess() { var facade = new FacadeStub(); var elements = new FacadeStub.Element[] { new FacadeStub.ElementSub() { Output = "0", Succeeded = false }, new FacadeStub.ElementSub() { Output = "1", Succeeded = true } }; var ret = facade.Aggregate <BasicOutputType <string[]> >(elements); Assert.Null(ret.Item[0]); Assert.AreEqual("1", ret.Item[1]); }
public void CallSingle_Normal_Success() { var facade = new FacadeStub(); var prov = new FacadeStub.ProviderStub() { _GetOne = (s) => "ddd" + s }; FacadeStub.Element[] ret; facade.CallSingle(prov, new FacadeStub.ElementStub[] { new FacadeStub.ElementStub() { Input = "DDD", Succeeded = true, Updatable = true } }, out ret); Assert.AreEqual(1, facade.updatedInputs.Count + ret.Length); Assert.AreEqual(1, facade.updatedOutputs.Count + ret.Length); }
public void CallSingle_Failed_ResultPropagated() { var facade = new FacadeStub(); var prov = new FacadeStub.ProviderStub() { _GetOne = (s) => s, _ImmediateUpdatePreferred = false }; FacadeStub.Element[] ret; var elements = new FacadeStub.ElementStub[] { new FacadeStub.ElementStub() { Input = "DDD", Succeeded = false, Updatable = false } }; facade.CallSingle(prov, elements, out ret); Assert.AreEqual("DDD", elements[0].Output); }
public void CallSingle_SucceededImmediateUpdateNotPreferred_UpdatePostponed() { var facade = new FacadeStub(); var prov = new FacadeStub.ProviderStub() { _GetOne = (s) => "ddd" + s, _ImmediateUpdatePreferred = false }; FacadeStub.Element[] ret; facade.CallSingle(prov, new FacadeStub.ElementStub[] { new FacadeStub.ElementStub() { Input = "DDD", Succeeded = true, Updatable = true } }, out ret); Assert.AreEqual(1, ret.Length); Assert.AreEqual(0, facade.updatedInputs.Count); Assert.AreEqual(0, facade.updatedOutputs.Count); }
public void CallDataProviders_ProvWithPartial_ProvidersCascaded() { var facade = new FacadeStub(); var provs = new ISingleDataProvider <string, string>[] { new FacadeStub.ProviderStub() { _GetBatch = (i) => new string[] { "SSS", null } }, new FacadeStub.ProviderStub() { _GetBatch = (i) => new string[] { "DDD" } } }; var ret = facade.CallDataProviders(provs, new string[] { "SSS", "DDD" }); Assert.AreEqual(2, ret.Length); Assert.AreEqual("SSS", ret[0].Input); Assert.AreEqual("SSS", ret[0].Output); Assert.AreEqual("DDD", ret[1].Input); Assert.AreEqual("DDD", ret[1].Output); }
public void Aggregate_Null_Exception() { var facade = new FacadeStub(); facade.Aggregate <BasicOutputType <string[]> >(null); }