@@ -55,6 +55,7 @@ public class OptimizelyTest
55
55
private Mock < EventProcessor > EventProcessorMock ;
56
56
private NotificationCenter NotificationCenter ;
57
57
private Mock < TestNotificationCallbacks > NotificationCallbackMock ;
58
+ private Mock < IOdpManager > OdpManagerMock ;
58
59
private Variation VariationWithKeyControl ;
59
60
private Variation VariationWithKeyVariation ;
60
61
private Variation GroupVariation ;
@@ -109,6 +110,8 @@ public void Initialize()
109
110
CallBase = true ,
110
111
} ;
111
112
113
+ OdpManagerMock = new Mock < IOdpManager > ( ) ;
114
+
112
115
DecisionServiceMock = new Mock < DecisionService > ( new Bucketer ( LoggerMock . Object ) ,
113
116
ErrorHandlerMock . Object ,
114
117
null , LoggerMock . Object ) ;
@@ -6166,5 +6169,62 @@ public static void SetCulture(string culture)
6166
6169
}
6167
6170
6168
6171
#endregion Test Culture
6172
+
6173
+ #region Test SendOdpEvent
6174
+
6175
+ [ Test ]
6176
+ public void TestSendOdpEventNullAction ( )
6177
+ {
6178
+ var optly = new Optimizely ( TestData . OdpIntegrationDatafile , logger : LoggerMock . Object , odpManager : OdpManagerMock . Object ) ;
6179
+ optly . SendOdpEvent ( action : null , identifiers : new Dictionary < string , string > ( ) , type : "type" ) ;
6180
+ LoggerMock . Verify ( l => l . Log ( LogLevel . ERROR , Constants . ODP_INVALID_ACTION_MESSAGE ) ,
6181
+ Times . Exactly ( 1 ) ) ;
6182
+
6183
+ optly . Dispose ( ) ;
6184
+ }
6185
+
6186
+ [ Test ]
6187
+ public void TestSendOdpEventEmptyStringAction ( )
6188
+ {
6189
+ var optly = new Optimizely ( TestData . OdpIntegrationDatafile , logger : LoggerMock . Object , odpManager : OdpManagerMock . Object ) ;
6190
+ optly . SendOdpEvent ( action : "" , identifiers : new Dictionary < string , string > ( ) , type : "type" ) ;
6191
+ LoggerMock . Verify ( l => l . Log ( LogLevel . ERROR , Constants . ODP_INVALID_ACTION_MESSAGE ) ,
6192
+ Times . Exactly ( 1 ) ) ;
6193
+
6194
+ optly . Dispose ( ) ;
6195
+ }
6196
+ [ Test ]
6197
+ public void TestSendOdpEventNullType ( )
6198
+ {
6199
+ var identifiers = new Dictionary < string , string > ( ) ;
6200
+ var optly = new Optimizely ( TestData . OdpIntegrationDatafile , logger : LoggerMock . Object , odpManager : OdpManagerMock . Object ) ;
6201
+
6202
+ optly . SendOdpEvent ( action : "action" , identifiers : identifiers , type : null ) ;
6203
+
6204
+ LoggerMock . Verify ( l => l . Log ( LogLevel . ERROR , It . IsAny < string > ( ) ) ,
6205
+ Times . Never ) ;
6206
+ OdpManagerMock . Verify ( e => e . SendEvent ( "fullstack" , "action" , identifiers , null ) ,
6207
+ Times . Once ) ;
6208
+
6209
+ optly . Dispose ( ) ;
6210
+ }
6211
+
6212
+ [ Test ]
6213
+ public void TestSendOdpEventEmptyStringType ( )
6214
+ {
6215
+ var identifiers = new Dictionary < string , string > ( ) ;
6216
+ var optly = new Optimizely ( TestData . OdpIntegrationDatafile , logger : LoggerMock . Object , odpManager : OdpManagerMock . Object ) ;
6217
+
6218
+ optly . SendOdpEvent ( action : "action" , identifiers : identifiers , type : "" ) ;
6219
+
6220
+ LoggerMock . Verify ( l => l . Log ( LogLevel . ERROR , It . IsAny < string > ( ) ) ,
6221
+ Times . Never ) ;
6222
+ OdpManagerMock . Verify ( e => e . SendEvent ( "fullstack" , "action" , identifiers , null ) ,
6223
+ Times . Once ) ;
6224
+
6225
+ optly . Dispose ( ) ;
6226
+ }
6227
+
6228
+ #endregion Test SendOdpEvent
6169
6229
}
6170
6230
}
0 commit comments