@@ -75,14 +75,35 @@ public void Build_ShouldHandleMissingVariant()
7575 { "flagSetId" , "flagSetId" } , { "contextId" , "contextId" } , { "version" , "version" }
7676 } ;
7777 var flagMetadata = new ImmutableMetadata ( metadata ) ;
78+ var details = new FlagEvaluationDetails < Value > ( "flagKey" , new Value ( "value" ) , ErrorType . None ,
79+ reason : "reason" , variant : null , flagMetadata : flagMetadata ) ;
80+
81+ // Act
82+ var evaluationEvent = EvaluationEventBuilder . Build ( hookContext , details ) ;
83+
84+ // Assert
85+ Assert . Null ( evaluationEvent . Attributes [ TelemetryConstants . Variant ] ) ;
86+ }
87+
88+ [ Fact ]
89+ public void Build_ShouldHandleMissingFlagMetadata ( )
90+ {
91+ // Arrange
92+ var clientMetadata = new ClientMetadata ( "client" , "1.0.0" ) ;
93+ var providerMetadata = new Metadata ( "provider" ) ;
94+ var hookContext = new HookContext < Value > ( "flagKey" , new Value ( "value" ) , FlagValueType . Object , clientMetadata ,
95+ providerMetadata , EvaluationContext . Empty ) ;
96+ var flagMetadata = new ImmutableMetadata ( ) ;
7897 var details = new FlagEvaluationDetails < Value > ( "flagKey" , new Value ( "value" ) , ErrorType . None ,
7998 reason : "reason" , variant : "" , flagMetadata : flagMetadata ) ;
8099
81100 // Act
82101 var evaluationEvent = EvaluationEventBuilder . Build ( hookContext , details ) ;
83102
84103 // Assert
85- Assert . Throws < KeyNotFoundException > ( ( ) => evaluationEvent . Attributes [ TelemetryConstants . Variant ] ) ;
104+ Assert . Null ( evaluationEvent . Attributes [ TelemetryFlagMetadata . ContextId ] ) ;
105+ Assert . Null ( evaluationEvent . Attributes [ TelemetryFlagMetadata . FlagSetId ] ) ;
106+ Assert . Null ( evaluationEvent . Attributes [ TelemetryFlagMetadata . Version ] ) ;
86107 }
87108 }
88109}
0 commit comments