private LeveldbTimelineStateStore InitAndStartTimelineServiceStateStoreService() { store = new LeveldbTimelineStateStore(); store.Init(conf); store.Start(); return((LeveldbTimelineStateStore)store); }
public virtual void TestCheckVersion() { LeveldbTimelineStateStore store = InitAndStartTimelineServiceStateStoreService(); // default version Version defaultVersion = store.GetCurrentVersion(); NUnit.Framework.Assert.AreEqual(defaultVersion, store.LoadVersion()); // compatible version Version compatibleVersion = Version.NewInstance(defaultVersion.GetMajorVersion(), defaultVersion.GetMinorVersion() + 2); store.StoreVersion(compatibleVersion); NUnit.Framework.Assert.AreEqual(compatibleVersion, store.LoadVersion()); store.Stop(); // overwrite the compatible version store = InitAndStartTimelineServiceStateStoreService(); NUnit.Framework.Assert.AreEqual(defaultVersion, store.LoadVersion()); // incompatible version Version incompatibleVersion = Version.NewInstance(defaultVersion.GetMajorVersion( ) + 1, defaultVersion.GetMinorVersion()); store.StoreVersion(incompatibleVersion); store.Stop(); try { InitAndStartTimelineServiceStateStoreService(); NUnit.Framework.Assert.Fail("Incompatible version, should expect fail here."); } catch (ServiceStateException e) { NUnit.Framework.Assert.IsTrue("Exception message mismatch", e.Message.Contains("Incompatible version for timeline state store" )); } }