public void VerifyPersistenceThrowsInnerExceptions() { // Arrange var stringListener = new TraceStringListener(); var actualLogger = new TraceSourceLogger(_logger); var cacheAccessor = Substitute.For <ICacheAccessor>(); cacheAccessor.CreateForPersistenceValidation().Returns(cacheAccessor); var exception = new InvalidOperationException("some error"); var storage = new MsalCacheStorage(s_storageCreationProperties, cacheAccessor, actualLogger); cacheAccessor.Read().Throws(exception); // Act var ex = AssertException.Throws <MsalCachePersistenceException>( () => storage.VerifyPersistence()); // Assert Assert.AreEqual(ex.InnerException, exception); }
public void MsalTestClear() { var store = MsalCacheStorage.Create(s_storageCreationProperties, logger: _logger); var tempData = store.ReadData(); var store2 = MsalCacheStorage.Create(s_storageCreationProperties, logger: _logger); AssertException.Throws <ArgumentNullException>(() => store.WriteData(null)); byte[] data = { 2, 2, 3 }; store.WriteData(data); store2.ReadData(); Assert.IsTrue(Enumerable.SequenceEqual(store.ReadData(), data)); Assert.IsTrue(File.Exists(CacheFilePath)); store.Clear(); Assert.IsFalse(store.ReadData().Any()); Assert.IsFalse(store2.ReadData().Any()); Assert.IsFalse(File.Exists(CacheFilePath)); }
public void ImportExport_ThrowException() { // Arrange var cacheAccessor = NSubstitute.Substitute.For <ICacheAccessor>(); var cache = new MockTokenCache(); var storage = new Storage( _storageCreationPropertiesBuilder.Build(), cacheAccessor, new TraceSourceLogger(new TraceSource("ts"))); var helper = new MsalCacheHelper(cache, storage, _logger); var ex = new InvalidCastException(); cacheAccessor.Read().Throws(ex); // Act var actualEx = AssertException.Throws <InvalidCastException>( () => helper.LoadUnencryptedTokenCache()); // Assert Assert.AreEqual(ex, actualEx); // Arrange cacheAccessor.WhenForAnyArgs(c => c.Write(default)).Throw(ex);