예제 #1
0
            public string GetLoggerName()
            {
                MockLoggingService service = new MockLoggingService();
                var log = service.GetCurrentClassLogger() as MockLogger;

                return(log.LoggerName);
            }
예제 #2
0
        public void TestGetCurrentClassLogger()
        {
            MockLoggingService service = new MockLoggingService();
            var log = service.GetCurrentClassLogger() as MockLogger;

            Assert.AreEqual(typeof(HelperTests).FullName, log.LoggerName);
        }
        public SdkResolution_Tests()
        {
            _log = new StringBuilder();

            var logger = new MockLoggingService(message => _log.AppendLine(message));
            var bec    = new BuildEventContext(0, 0, 0, 0, 0);

            _loggingContext = new MockLoggingContext(logger, bec);
        }
예제 #4
0
        public void AssertDefaultLoaderReturnsDefaultResolver()
        {
            var loader = new SdkResolverLoader();
            var log    = new StringBuilder();
            var logger = new MockLoggingService(message => log.AppendLine(message));
            var bec    = new BuildEventContext(0, 0, 0, 0, 0);

            var resolvers = loader.LoadResolvers(logger, bec, new MockElementLocation("file"));

            Assert.Equal(1, resolvers.Count);
            Assert.Equal(typeof(DefaultSdkResolver), resolvers[0].GetType());
        }
예제 #5
0
        public void TestGetCurrentClassLoggerAction()
        {
            HelperTestSub sub = new HelperTestSub();

            sub.theAction = () =>
            {
                MockLoggingService service = new MockLoggingService();
                var log = service.GetCurrentClassLogger() as MockLogger;
                Assert.AreEqual(typeof(HelperTests).FullName, log.LoggerName);
            };
            sub.CallTheAction();
        }
        public void AssertErrorLoggedWhenResolverThrows()
        {
            var log    = new StringBuilder();
            var sdk    = new SdkReference("1sdkName", "referencedVersion", "minimumVersion");
            var logger = new MockLoggingService(message => log.AppendLine(message));
            var bec    = new BuildEventContext(0, 0, 0, 0, 0);

            SdkResolution resolution = new SdkResolution(new MockLoaderStrategy(true));
            var           result     = resolution.GetSdkPath(sdk, _loggingContext, new MockElementLocation("file"), "sln", "projectPath");

            Assert.Equal("resolverpath1", result);
            Assert.Contains("EXMESSAGE", _log.ToString());
        }
예제 #7
0
        public void AssertFirstResolverCanResolve()
        {
            var log    = new StringBuilder();
            var sdk    = new SdkReference("1sdkName", "referencedVersion", "minimumVersion");
            var logger = new MockLoggingService(message => log.AppendLine(message));
            var bec    = new BuildEventContext(0, 0, 0, 0, 0);

            SdkResolution resolution = new SdkResolution(new MockLoaderStrategy());
            var           result     = resolution.GetSdkPath(sdk, logger, bec, new MockElementLocation("file"), "sln", "projectPath");

            Assert.Equal("resolverpath1", result);
            Assert.Equal("MockSdkResolver1 running", log.ToString().Trim());
        }
        public void AssertAllResolverErrorsLoggedWhenSdkNotResolved()
        {
            var log    = new StringBuilder();
            var sdk    = new SdkReference("notfound", "referencedVersion", "minimumVersion");
            var logger = new MockLoggingService(message => log.AppendLine(message));
            var bec    = new BuildEventContext(0, 0, 0, 0, 0);

            SdkResolution resolution = new SdkResolution(new MockLoaderStrategy());
            var           result     = resolution.GetSdkPath(sdk, _loggingContext, new MockElementLocation("file"), "sln", "projectPath");

            var logResult = _log.ToString();

            Assert.Null(result);
            Assert.Contains("MockSdkResolver1 running", logResult);
            Assert.Contains("MockSdkResolver2 running", logResult);
            Assert.Contains("ERROR1", logResult);
            Assert.Contains("ERROR2", logResult);
            Assert.Contains("WARNING2", logResult);
        }
        public void AssertFirstResolverErrorsSupressedWhenResolved()
        {
            // 2sdkName will cause MockSdkResolver1 to fail with an error reason. The error will not
            // be logged because MockSdkResolver2 will succeed.
            var log    = new StringBuilder();
            var sdk    = new SdkReference("2sdkName", "referencedVersion", "minimumVersion");
            var logger = new MockLoggingService(message => log.AppendLine(message));
            var bec    = new BuildEventContext(0, 0, 0, 0, 0);

            SdkResolution resolution = new SdkResolution(new MockLoaderStrategy());
            var           result     = resolution.GetSdkPath(sdk, _loggingContext, new MockElementLocation("file"), "sln", "projectPath");

            var logResult = _log.ToString();

            Assert.Equal("resolverpath2", result);

            // Both resolvers should run, and no ERROR string.
            Assert.Contains("MockSdkResolver1 running", logResult);
            Assert.Contains("MockSdkResolver2 running", logResult);

            // Resolver2 gives a warning on success or failure.
            Assert.Contains("WARNING2", logResult);
            Assert.DoesNotContain("ERROR", logResult);
        }
예제 #10
0
        private static ILoggingService CreateLoggingService()
        {
            ILoggingService service = new MockLoggingService();

            return(service);
        }