Beispiel #1
0
        public void GetInsightTest()
        {
            string file = @"../../../test-claims/claim1.json";
            string Json = System.IO.File.ReadAllText(file);

            Schema.Common.Claim claim = JsonConvert.DeserializeObject <Schema.Common.Claim>(Json);
            Schema.InsightRequest.InsightEngineRequest req = new Schema.InsightRequest.InsightEngineRequest()
            {
                Claim         = claim,
                TransactionId = Guid.NewGuid().ToString()
            };
            Schema.InsightResponse.InsightEngineResponse resp = new OIMEngine.OIMEngine().GetInsights(req);
            Assert.IsNotNull(resp);
            Assert.AreEqual(resp.Insights.Count, 1);
            Assert.AreEqual(resp.Insights[0].Id, claim.Id);
            Assert.AreEqual(resp.Insights[0].Type, Schema.Common.InsightType.ClaimLineValid);
            Assert.AreEqual(resp.Insights[0].Description, "Claim is valid according to this policy");
        }
        public Schema.InsightResponse.InsightEngineResponse GetInsights(Schema.InsightRequest.InsightEngineRequest req)
        {
            var retval = new Schema.InsightResponse.InsightEngineResponse();

            retval.Insights = new List <Schema.Common.Insight>();
            if (req.Claim.Id.StartsWith("for") && req.Claim.Id != "forDotNet")
            {
                return(retval);
            }

            var message = new Schema.Common.TranslatedMessage()
            {
                Lang    = "en",
                Message = "This policy does not perform any actual checks."
            };

            var script = new Schema.Common.MessageBundle();

            script.Uuid     = Guid.NewGuid().ToString();
            script.Messages = new List <Schema.Common.TranslatedMessage>()
            {
                message
            };

            retval.Insights.Add(new Schema.Common.Insight()
            {
                Id          = req.Claim.Id,
                Type        = Schema.Common.InsightType.ClaimLineValid,
                Description = "Claim is valid according to this policy",
                Defense     = new Schema.Common.Defense()
                {
                    Script = script
                }
            });

            return(retval);
        }