Example #1
0
        private void BusinessLogicModel_Reports_Invalid_Assembly(string assemblyFileName, string[] assemblyPaths, string[] referenceAssemblyPaths)
        {
            string logMessage = null;
            using (BusinessLogicModel model = new BusinessLogicModel(s => logMessage = s))
            {
                BusinessLogicData bld = new BusinessLogicData()
                {
                    AssemblyPaths = assemblyPaths,
                    ReferenceAssemblyPaths = referenceAssemblyPaths,
                    ContextTypeNames = new string[0],
                    Language = "C#"
                };

                // Format the expected message by duplicating the failure path
                string expectedMessage = null;
                try
                {
                    AssemblyName.GetAssemblyName(assemblyFileName);
                }
                catch (Exception ex)
                {
                    expectedMessage = string.Format(CultureInfo.CurrentCulture, Resources.BusinessLogicClass_Failed_Load, assemblyFileName, ex.Message);
                }

                model.Initialize(bld);

                // Asking for context should attempt to load assembly and log the result
                ContextData[] contextDataItems = model.GetContextDataItems();
                Assert.AreEqual(1, contextDataItems.Length, "Expected default context");
                Assert.AreEqual(expectedMessage, logMessage, "logger was not called");
            }
        }
Example #2
0
 public SamuraiController(ILogger <SamuraiController> logger, BusinessLogicData businessLogicData, ICacheService <SamuraiDto> samuraiCacheService, ICacheService <IEnumerable <SamuraiDto> > samuraiCacheListService)
 {
     _logger                  = logger;
     _businessLogicData       = businessLogicData;
     _samuraiCacheService     = samuraiCacheService as SamuraiCacheService;
     _samuraiCacheListService = samuraiCacheListService as SamuraiCacheListService;
 }
Example #3
0
        public void BizDataGetSamuraiReturnsSamurai()
        {
            var builder = new DbContextOptionsBuilder <SamuraiContext>();

            builder.UseInMemoryDatabase("GetSamurai");
            int samuraiId = SeedWithOneSamurai(builder.Options);

            using (var context = new SamuraiContext(builder.Options))
            {
                var bizzlogic       = new BusinessLogicData(context);
                var samuraiRetrived = bizzlogic.GetSamuraiById(samuraiId);

                Assert.AreEqual(samuraiId, samuraiRetrived.Result.Id);
            }
        }
Example #4
0
        public void BizDataGetSamuraiReturnsSamurai()
        {
            //Arrange (set up builder & seed data)
            var builder = new DbContextOptionsBuilder <SamuraiContext>();

            builder.UseInMemoryDatabase("GetSamurai");
            int samuraiId = SeedWithOneSamurai(builder.Options);

            //Act (call the method)
            using (var context = new SamuraiContext(builder.Options))
            {
                var bizlogic         = new BusinessLogicData(context);
                var samuraiRetrieved = bizlogic.GetSamuraiById(samuraiId);
                //Assert (check the results)
                Assert.AreEqual(samuraiId, samuraiRetrieved.Result.Id);
            };
        }
Example #5
0
        public void BusinessLogicData_Properties()
        {
            string []         assemblyPaths = new string[] { "x", "y", "z" };
            string[]          contextTypes  = new string[] { typeof(NorthwindEntities).AssemblyQualifiedName, typeof(AdventureWorksEntities).AssemblyQualifiedName };
            BusinessLogicData d             = new BusinessLogicData()
            {
                AssemblyPaths    = assemblyPaths,
                ContextTypeNames = contextTypes,
                Language         = "C#",
                LinqToSqlPath    = "ltsPath"
            };

            Assert.AreEqual(assemblyPaths, d.AssemblyPaths, "AssemblyPaths failed");
            Assert.AreEqual(contextTypes, d.ContextTypeNames, "ContextTypeNames failed");
            Assert.AreEqual("C#", d.Language, "Language failed");
            Assert.AreEqual("ltsPath", d.LinqToSqlPath, "LTSPath failed");
        }
        public void BusinessLogicData_Properties()
        {
            string [] assemblyPaths = new string[] { "x", "y", "z" };
            string[] contextTypes = new string[] { typeof(NorthwindEntities).AssemblyQualifiedName, typeof(AdventureWorksEntities).AssemblyQualifiedName };
            BusinessLogicData d = new BusinessLogicData()
            {
                AssemblyPaths = assemblyPaths,
                ContextTypeNames = contextTypes,
                Language = "C#",
                LinqToSqlPath = "ltsPath"
            };

            Assert.AreEqual(assemblyPaths, d.AssemblyPaths, "AssemblyPaths failed");
            Assert.AreEqual(contextTypes, d.ContextTypeNames, "ContextTypeNames failed");
            Assert.AreEqual("C#", d.Language, "Language failed");
            Assert.AreEqual("ltsPath", d.LinqToSqlPath, "LTSPath failed");
        }
Example #7
0
        public void BusinessLogicModel_Reports_Invalid_Context()
        {
            string logMessage = null;
            using (BusinessLogicModel model = new BusinessLogicModel(s => logMessage = s))
            {
                BusinessLogicData bld = new BusinessLogicData()
                {
                    AssemblyPaths = new string[0],
                    ReferenceAssemblyPaths = new string[0],
                    ContextTypeNames = new string[] { typeof(string).AssemblyQualifiedName },
                    Language = "C#"
                };

                model.Initialize(bld);

                ContextData[] contextDataItems = model.GetContextDataItems();
                Assert.AreEqual(1, contextDataItems.Length, "Expected default context");

                string expectedMessage = string.Format(CultureInfo.CurrentCulture, Resources.BusinessLogicClass_InvalidContextType, typeof(string).FullName);
                Assert.AreEqual(expectedMessage, logMessage, "logger was not called");
            }
        }
        public void BusinessLogicModel_Reports_Invalid_Context()
        {
            string logMessage = null;
            using (BusinessLogicModel model = new BusinessLogicModel(s => logMessage = s))
            {
                BusinessLogicData bld = new BusinessLogicData()
                {
                    AssemblyPaths = new string[0],
                    ReferenceAssemblyPaths = new string[0],
                    ContextTypeNames = new string[] { typeof(string).AssemblyQualifiedName },
                    Language = "C#"
                };

                model.Initialize(bld);

                ContextData[] contextDataItems = model.GetContextDataItems();
                Assert.AreEqual(1, contextDataItems.Length, "Expected default context");

                string expectedMessage = string.Format(CultureInfo.CurrentCulture, Resources.BusinessLogicClass_InvalidContextType, typeof(string).FullName);
                Assert.AreEqual(expectedMessage, logMessage, "logger was not called");
            }
        }
 public SamuraiSocController(BusinessLogicData bizdata)
 {
     _bizdata = bizdata;
 }
        private void BusinessLogicModel_Reports_Invalid_Assembly(string assemblyFileName, string[] assemblyPaths, string[] referenceAssemblyPaths)
        {
            string logMessage = null;
            using (BusinessLogicModel model = new BusinessLogicModel(s => logMessage = s))
            {
                BusinessLogicData bld = new BusinessLogicData()
                {
                    AssemblyPaths = assemblyPaths,
                    ReferenceAssemblyPaths = referenceAssemblyPaths,
                    ContextTypeNames = new string[0],
                    Language = "C#"
                };

                // Format the expected message by duplicating the failure path
                string expectedMessage = null;
                try
                {
                    AssemblyName.GetAssemblyName(assemblyFileName);
                }
                catch (Exception ex)
                {
                    expectedMessage = string.Format(CultureInfo.CurrentCulture, Resources.BusinessLogicClass_Failed_Load, assemblyFileName, ex.Message);
                }

                model.Initialize(bld);

                // Asking for context should attempt to load assembly and log the result
                ContextData[] contextDataItems = model.GetContextDataItems();
                Assert.AreEqual(1, contextDataItems.Length, "Expected default context");
                Assert.AreEqual(expectedMessage, logMessage, "logger was not called");
            }
        }