@@ -69,6 +69,51 @@ public void ComponentFactoryCreatesExpectedComponentsFromAnExecutionProfile(stri
6969 }
7070 }
7171
72+ [ Test ]
73+ [ TestCase ( "TEST-PROFILE-1.json" ) ]
74+ public void ComponentFactorySetsComponentPropertiesToExpectedDefaults ( string profileName )
75+ {
76+ ExecutionProfile profile = File . ReadAllText ( Path . Combine ( MockFixture . TestAssemblyDirectory , "Resources" , profileName ) )
77+ . FromJson < ExecutionProfile > ( ) ;
78+
79+ foreach ( ExecutionProfileElement action in profile . Actions )
80+ {
81+ VirtualClientComponent component = ComponentFactory . CreateComponent ( action , this . mockFixture . Dependencies ) ;
82+ Assert . IsNotNull ( component ) ;
83+ Assert . IsNotNull ( component . Parameters ) ;
84+ Assert . IsFalse ( component . LogToFile ) ;
85+ Assert . IsTrue ( component . LogTimestamped ) ;
86+ Assert . IsNull ( component . ContentPathTemplate ) ;
87+ Assert . IsNull ( component . LogFileName ) ;
88+ Assert . IsNull ( component . LogFolderName ) ;
89+ }
90+ }
91+
92+ [ Test ]
93+ [ TestCase ( "TEST-PROFILE-5.json" ) ]
94+ public void ComponentFactoryDoesNotInadvertentlyOverwriteComponentLevelProperties ( string profileName )
95+ {
96+ ExecutionProfile profile = File . ReadAllText ( Path . Combine ( MockFixture . TestAssemblyDirectory , "Resources" , profileName ) )
97+ . FromJson < ExecutionProfile > ( ) ;
98+
99+ ComponentSettings settings = new ComponentSettings
100+ {
101+ ContentPathTemplate = "content/path/template/A" ,
102+ LogToFile = false
103+ } ;
104+
105+ foreach ( ExecutionProfileElement action in profile . Actions )
106+ {
107+ VirtualClientComponent component = ComponentFactory . CreateComponent ( action , this . mockFixture . Dependencies , settings ) ;
108+ Assert . IsNotNull ( component ) ;
109+ Assert . IsNotNull ( component . Parameters ) ;
110+ Assert . IsTrue ( component . LogToFile ) ;
111+ Assert . IsFalse ( component . LogTimestamped ) ;
112+ Assert . AreEqual ( "test.log" , component . LogFileName ) ;
113+ Assert . AreEqual ( "test" , component . LogFolderName ) ;
114+ }
115+ }
116+
72117 [ Test ]
73118 [ TestCase ( "TEST-PROFILE-3-PARALLEL.json" ) ]
74119 public void ComponentFactoryCreatesExpectedParallelExecutionComponentsFromAnExecutionProfile ( string profileName )
0 commit comments