public static void ResetBlogs(SampleWebAppDb context, TestDataSelection selection)
        {
            try
            {
                context.Posts.ToList().ForEach(x => context.Posts.Remove(x));
                context.Tags.ToList().ForEach(x => context.Tags.Remove(x));
                context.Blogs.ToList().ForEach(x => context.Blogs.Remove(x));
                context.SaveChanges();
            }
            catch (Exception ex)
            {
                _logger.Critical("Exception when resetting the blogs", ex);
                throw;
            }

            var bloggers = LoadDbDataFromXml.FormBlogsWithPosts(XmlBlogsDataFileManifestPath[selection]);

            context.Blogs.AddRange(bloggers);
            var status = context.SaveChangesWithChecking();

            if (!status.IsValid)
            {
                _logger.CriticalFormat("Error when resetting courses data. Error:\n{0}",
                                       string.Join(",", status.Errors));
                throw new FormatException("problem writing to database. See log.");
            }
        }
        public void Check10LogExceptionOk()
        {
            //SETUP

            //ATTEMPT
            try
            {
                throw new InvalidOperationException("This is the exception message.");
            }
            catch (Exception ex)
            {
                _loggerA.Critical("an exception", ex);
            }


            //VERIFY
            Trace.Flush();
            var logs = _loggedData.ToString().Split('\n').Where(x => x != string.Empty).Select(x => x.Trim()).ToArray();

            logs.Length.ShouldEqual(2);
            logs[0].ShouldEndWith("A, expection InvalidOperationException: an exception");
        }
示例#3
0
        public void Check10LogExceptionOk()
        {
            //SETUP

            //ATTEMPT
            try
            {
                throw new InvalidOperationException("This is the exception message.");
            }
            catch (Exception ex)
            {
                _loggerA.Critical("an exception", ex);
            }


            //VERIFY
            var logs = _log4NetMemoryLog.GetEvents();

            logs.Length.ShouldEqual(1);
            logs[0].LoggerName.ShouldEqual("A");
            logs[0].RenderedMessage.ShouldEqual("an exception");
            logs[0].ExceptionObject.Message.ShouldEqual("This is the exception message.");
            logs[0].ExceptionObject.IsA <InvalidOperationException>();
        }