8
8
using Microsoft . Azure . WebJobs . Script . Config ;
9
9
using Microsoft . Azure . WebJobs . Script . Eventing ;
10
10
using Microsoft . Azure . WebJobs . Script . WebHost ;
11
+ using Microsoft . Azure . WebJobs . Script . WebHost . Properties ;
11
12
using Moq ;
12
13
using Xunit ;
13
14
@@ -87,6 +88,48 @@ public void GetWebScriptHostManager_ReturnsExpectedValue()
87
88
TestGetter ( _webHostResolver . GetWebScriptHostManager ) ;
88
89
}
89
90
91
+ [ Fact ]
92
+ public void EnsureInitialized_NonPlaceholderMode ( )
93
+ {
94
+ using ( new TestEnvironment ( ) )
95
+ {
96
+ _traceWriter . Traces . Clear ( ) ;
97
+
98
+ var settings = GetWebHostSettings ( ) ;
99
+ _settingsManager . SetSetting ( EnvironmentSettingNames . AzureWebsitePlaceholderMode , "0" ) ;
100
+ Assert . False ( WebScriptHostManager . InStandbyMode ) ;
101
+ _webHostResolver . EnsureInitialized ( settings ) ;
102
+
103
+ // ensure specialization message is NOT written
104
+ var traces = _traceWriter . Traces . ToArray ( ) ;
105
+ var traceEvent = traces . SingleOrDefault ( p => p . Message . Contains ( Resources . HostSpecializationTrace ) ) ;
106
+ Assert . Null ( traceEvent ) ;
107
+ }
108
+ }
109
+
110
+ [ Fact ]
111
+ public void EnsureInitialized_PlaceholderMode ( )
112
+ {
113
+ using ( new TestEnvironment ( ) )
114
+ {
115
+ _traceWriter . Traces . Clear ( ) ;
116
+
117
+ var settings = GetWebHostSettings ( ) ;
118
+ _settingsManager . SetSetting ( EnvironmentSettingNames . AzureWebsitePlaceholderMode , "1" ) ;
119
+ Assert . True ( WebScriptHostManager . InStandbyMode ) ;
120
+ _webHostResolver . EnsureInitialized ( settings ) ;
121
+
122
+ _settingsManager . SetSetting ( EnvironmentSettingNames . AzureWebsitePlaceholderMode , "0" ) ;
123
+ Assert . False ( WebScriptHostManager . InStandbyMode ) ;
124
+ _webHostResolver . EnsureInitialized ( settings ) ;
125
+
126
+ var traces = _traceWriter . Traces . ToArray ( ) ;
127
+ var traceEvent = traces . Last ( ) ;
128
+ Assert . Equal ( Resources . HostSpecializationTrace , traceEvent . Message ) ;
129
+ Assert . Equal ( TraceLevel . Info , traceEvent . Level ) ;
130
+ }
131
+ }
132
+
90
133
private void TestGetter < T > ( Func < WebHostSettings , T > func )
91
134
{
92
135
using ( new TestEnvironment ( ) )
@@ -96,8 +139,6 @@ private void TestGetter<T>(Func<WebHostSettings, T> func)
96
139
T next = default ( T ) ;
97
140
try
98
141
{
99
- _traceWriter . Traces . Clear ( ) ;
100
-
101
142
_settingsManager . SetSetting ( EnvironmentSettingNames . AzureWebsitePlaceholderMode , "1" ) ;
102
143
103
144
var settings = GetWebHostSettings ( ) ;
@@ -109,11 +150,6 @@ private void TestGetter<T>(Func<WebHostSettings, T> func)
109
150
Assert . NotNull ( current ) ;
110
151
Assert . NotSame ( prev , current ) ;
111
152
112
- var traces = _traceWriter . Traces . ToArray ( ) ;
113
- var traceEvent = traces . Last ( ) ;
114
- Assert . Equal ( "Host has been specialized" , traceEvent . Message ) ;
115
- Assert . Equal ( TraceLevel . Info , traceEvent . Level ) ;
116
-
117
153
// test only set one way
118
154
_settingsManager . SetSetting ( EnvironmentSettingNames . AzureWebsitePlaceholderMode , "1" ) ;
119
155
next = func ( settings ) ;
0 commit comments