2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
										 
							
							
								 // Copyright (c) .NET Foundation and contributors. All rights reserved.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// Licensed under the MIT license. See LICENSE file in the project root for full license information.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								using  FluentAssertions ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								using  Microsoft.DotNet.Cli.Utils ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								using  Microsoft.DotNet.Configurer ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								using  Microsoft.DotNet.Tools.Test ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								using  Microsoft.Extensions.DependencyModel.Tests ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								using  Moq ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								using  Xunit ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								namespace  Microsoft.DotNet.Configurer.UnitTests  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    public  class  GivenADotnetFirstTimeUseConfigurer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  const  string  CliFallbackFolderPath  =  "some path" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < INuGetCachePrimer >  _nugetCachePrimerMock ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-06 10:39:05 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < INuGetCacheSentinel >  _nugetCacheSentinelMock ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < IFirstTimeUseNoticeSentinel >  _firstTimeUseNoticeSentinelMock ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < IAspNetCertificateSentinel >  _aspNetCertificateSentinelMock ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < IAspNetCoreCertificateGenerator >  _aspNetCoreCertificateGeneratorMock ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 13:02:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < IEnvironmentProvider >  _environmentProviderMock ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < IReporter >  _reporterMock ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  Mock < IEnvironmentPath >  _pathAdder ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  GivenADotnetFirstTimeUseConfigurer ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock  =  new  Mock < INuGetCachePrimer > ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-06 10:39:05 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock  =  new  Mock < INuGetCacheSentinel > ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock  =  new  Mock < IFirstTimeUseNoticeSentinel > ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCertificateSentinelMock  =  new  Mock < IAspNetCertificateSentinel > ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCoreCertificateGeneratorMock  =  new  Mock < IAspNetCoreCertificateGenerator > ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 13:02:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock  =  new  Mock < IEnvironmentProvider > ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock  =  new  Mock < IReporter > ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _pathAdder  =  new  Mock < IEnvironmentPath > ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 13:02:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_SKIP_FIRST_TIME_EXPERIENCE" ,  false ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_PRINT_TELEMETRY_MESSAGE" ,  true ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_print_the_first_time_use_notice_if_the_sentinel_exists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-06-21 12:44:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . Write ( It . IsAny < string > ( ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_print_the_first_time_use_notice_when_the_user_has_set_the_DOTNET_SKIP_FIRST_TIME_EXPERIENCE_environemnt_variable ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_SKIP_FIRST_TIME_EXPERIENCE" ,  false ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-06-21 12:44:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . Write ( It . IsAny < string > ( ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_print_the_first_time_use_notice_when_the_user_has_set_the_DOTNET_PRINT_TELEMETRY_MESSAGE_environemnt_variable ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_PRINT_TELEMETRY_MESSAGE" ,  true ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-06-21 12:44:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . Write ( It . IsAny < string > ( ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_prints_the_telemetry_if_the_sentinel_does_not_exist ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-06-21 12:44:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . Write ( It . IsAny < string > ( ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_prime_the_cache_if_the_sentinel_exists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-06 10:39:05 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 13:02:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 13:02:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Verify ( r  = >  r . PrimeCache ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 15:06:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_prime_the_cache_if_first_run_experience_is_already_happening ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . InProgressSentinelAlreadyExists ( ) ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Verify ( r  = >  r . PrimeCache ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_prime_the_cache_if_cache_is_missing ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Setup ( n  = >  n . SkipPrimingTheCache ( ) ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 15:06:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Verify ( r  = >  r . PrimeCache ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 13:02:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_prime_the_cache_if_the_sentinel_exists_but_the_user_has_set_the_DOTNET_SKIP_FIRST_TIME_EXPERIENCE_environemnt_variable ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_SKIP_FIRST_TIME_EXPERIENCE" ,  false ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Verify ( r  = >  r . PrimeCache ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_primes_the_cache_if_the_sentinel_does_not_exist ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-06 10:39:05 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 13:02:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Verify ( r  = >  r . PrimeCache ( ) ,  Times . Once ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 15:06:48 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        }         
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_prints_first_use_notice_and_primes_the_cache_if_the_sentinels_do_not_exist ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-31 13:44:03 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-06-21 12:44:17 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . NugetCachePrimeMessage ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-06-14 12:09:06 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Verify ( r  = >  r . PrimeCache ( ) ,  Times . Once ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . Write ( It . IsAny < string > ( ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_prints_the_first_time_use_notice_if_the_cache_sentinel_exists_but_the_first_notice_sentinel_does_not ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . NugetCachePrimeMessage ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . Write ( It . IsAny < string > ( ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_adds_executable_package_path_to_environment_path_when_the_first_notice_sentinel_does_not_exist ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _firstTimeUseNoticeSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                new  FakeCreateWillExistNuGetCacheSentinel ( false ,  true ) ,  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                new  FakeCreateWillExistFirstTimeUseNoticeSentinel ( false ) , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _pathAdder . Verify ( p  = >  p . AddPackageExecutablePathToUserPath ( ) ,  Times . AtLeastOnce ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_prints_the_unauthorized_notice_if_the_cache_sentinel_reports_Unauthorized ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . UnauthorizedAccess ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                r . WriteLine ( It . Is < string > ( str  = >  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                    str  = =  string . Format ( LocalizableStrings . UnauthorizedAccessMessage ,  CliFallbackFolderPath ) ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . NugetCachePrimeMessage ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . Write ( It . IsAny < string > ( ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_prime_the_cache_if_the_cache_sentinel_reports_Unauthorized ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCacheSentinelMock . Setup ( n  = >  n . UnauthorizedAccess ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-25 22:30:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _nugetCachePrimerMock . Verify ( r  = >  r . PrimeCache ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 14:47:05 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_generate_the_aspnet_https_development_certificate_if_the_sentinel_exists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCertificateSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . AspNetCertificateInstalled ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCoreCertificateGeneratorMock . Verify ( s  = >  s . GenerateAspNetCoreDevelopmentCertificate ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_generate_the_aspnet_https_development_certificate_when_the_user_has_set_the_DOTNET_SKIP_FIRST_TIME_EXPERIENCE_environment_variable ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCertificateSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_SKIP_FIRST_TIME_EXPERIENCE" ,  false ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . AspNetCertificateInstalled ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCoreCertificateGeneratorMock . Verify ( s  = >  s . GenerateAspNetCoreDevelopmentCertificate ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_does_not_generate_the_aspnet_https_development_certificate_when_the_user_has_set_the_DOTNET_GENERATE_ASPNET_CERTIFICATE_environment_variable ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCertificateSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_GENERATE_ASPNET_CERTIFICATE" ,  true ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . AspNetCertificateInstalled ) ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCoreCertificateGeneratorMock . Verify ( s  = >  s . GenerateAspNetCoreDevelopmentCertificate ( ) ,  Times . Never ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        [Fact]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        public  void  It_generates_the_aspnet_https_development_certificate_if_the_sentinel_does_not_exist ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCertificateSentinelMock . Setup ( n  = >  n . Exists ( ) ) . Returns ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _environmentProviderMock . Setup ( e  = >  e . GetEnvironmentVariableAsBool ( "DOTNET_GENERATE_ASPNET_CERTIFICATE" ,  true ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                . Returns ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            var  dotnetFirstTimeUseConfigurer  =  new  DotnetFirstTimeUseConfigurer ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCachePrimerMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _nugetCacheSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _firstTimeUseNoticeSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCertificateSentinelMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _aspNetCoreCertificateGeneratorMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _environmentProviderMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _reporterMock . Object , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                CliFallbackFolderPath , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _pathAdder . Object ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            dotnetFirstTimeUseConfigurer . Configure ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . FirstTimeWelcomeMessage ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . NugetCachePrimeMessage ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _reporterMock . Verify ( r  = >  r . WriteLine ( It . Is < string > ( str  = >  str  = =  LocalizableStrings . AspNetCertificateInstalled ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            _aspNetCoreCertificateGeneratorMock . Verify ( s  = >  s . GenerateAspNetCoreDevelopmentCertificate ( ) ,  Times . Once ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-27 10:45:43 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        private  class  FakeCreateWillExistFirstTimeUseNoticeSentinel  :  IFirstTimeUseNoticeSentinel 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            private  bool  _exists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  FakeCreateWillExistFirstTimeUseNoticeSentinel ( bool  exists ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _exists  =  exists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  void  Dispose ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  bool  Exists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                return  _exists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  void  CreateIfNotExists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _exists  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        private  class  FakeCreateWillExistNuGetCacheSentinel  :  INuGetCacheSentinel 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            private  bool  _inProgressSentinelAlreadyExists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            private  bool  _exists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  FakeCreateWillExistNuGetCacheSentinel ( bool  inProgressSentinelAlreadyExists ,  bool  exists ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _inProgressSentinelAlreadyExists  =  inProgressSentinelAlreadyExists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _exists  =  exists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  void  Dispose ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  bool  InProgressSentinelAlreadyExists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                return  _inProgressSentinelAlreadyExists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  bool  Exists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                return  _exists ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  void  CreateIfNotExists ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                _exists  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								            public  bool  UnauthorizedAccess  {  get ;  set ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 17:36:40 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}