|
29 | 29 | using OptimizelySDK.Notifications; |
30 | 30 | using OptimizelySDK.Tests.NotificationTests; |
31 | 31 | using OptimizelySDK.Utils; |
| 32 | +using Newtonsoft.Json; |
32 | 33 |
|
33 | 34 | namespace OptimizelySDK.Tests |
34 | 35 | { |
@@ -185,7 +186,31 @@ public void TestValidateInputsInvalidFileJsonValidationSkipped() |
185 | 186 | { |
186 | 187 | string datafile = "{\"name\":\"optimizely\"}"; |
187 | 188 | Optimizely optimizely = new Optimizely(datafile, null, null, null, skipJsonValidation: true); |
188 | | - Assert.IsTrue(optimizely.IsValid); |
| 189 | + Assert.IsFalse(optimizely.IsValid); |
| 190 | + } |
| 191 | + |
| 192 | + [Test] |
| 193 | + public void TestErrorHandlingWithNullDatafile() |
| 194 | + { |
| 195 | + var optimizelyNullDatafile = new Optimizely(null, null, LoggerMock.Object, ErrorHandlerMock.Object, null, true); |
| 196 | + LoggerMock.Verify(l => l.Log(LogLevel.ERROR, "Unable to parse null datafile."), Times.Once); |
| 197 | + ErrorHandlerMock.Verify(e => e.HandleError(It.Is<ConfigParseException>(ex => ex.Message == "Unable to parse null datafile.")), Times.Once); |
| 198 | + } |
| 199 | + |
| 200 | + [Test] |
| 201 | + public void TestErrorHandlingWithEmptyDatafile() |
| 202 | + { |
| 203 | + var optimizelyEmptyDatafile = new Optimizely("", null, LoggerMock.Object, ErrorHandlerMock.Object, null, true); |
| 204 | + LoggerMock.Verify(l => l.Log(LogLevel.ERROR, "Unable to parse empty datafile."), Times.Once); |
| 205 | + ErrorHandlerMock.Verify(e => e.HandleError(It.Is<ConfigParseException>(ex => ex.Message == "Unable to parse empty datafile.")), Times.Once); |
| 206 | + } |
| 207 | + |
| 208 | + [Test] |
| 209 | + public void TestErrorHandlingWithUnsupportedConfigVersion() |
| 210 | + { |
| 211 | + var optimizelyUnsupportedVersion = new Optimizely(TestData.UnsupportedVersionDatafile, null, LoggerMock.Object, ErrorHandlerMock.Object, null, true); |
| 212 | + LoggerMock.Verify(l => l.Log(LogLevel.ERROR, $"This version of the C# SDK does not support the given datafile version: 5"), Times.Once); |
| 213 | + ErrorHandlerMock.Verify(e => e.HandleError(It.Is<ConfigParseException>(ex => ex.Message == $"This version of the C# SDK does not support the given datafile version: 5")), Times.Once); |
189 | 214 | } |
190 | 215 |
|
191 | 216 | [Test] |
|
0 commit comments