Exemplo n.º 1
0
        public void ShouldCheckpointWrite()
        {
            stateManager.Initialize();

            var offsets = new Dictionary <TopicPartition, long>();

            offsets.AddOrUpdate(new TopicPartition("kv-store-topic", 0), 30);
            offsets.AddOrUpdate(new TopicPartition("kv-store-topic", 1), 12);
            stateManager.UpdateChangelogOffsets(offsets);

            Directory.CreateDirectory(Path.Combine(streamConfigMock.Object.StateDir,
                                                   streamConfigMock.Object.ApplicationId, "global"));

            stateManager.Checkpoint();

            var lines = File.ReadAllLines(Path.Combine(streamConfigMock.Object.StateDir,
                                                       streamConfigMock.Object.ApplicationId, "global", ".checkpoint"));

            Directory.Delete(Path.Combine(streamConfigMock.Object.StateDir), true);

            Assert.AreEqual(4, lines.Length);
            Assert.AreEqual("0", lines[0]);
            Assert.AreEqual("2", lines[1]);
            Assert.AreEqual("kv-store-topic 0 30", lines[2]);
            Assert.AreEqual("kv-store-topic 1 12", lines[3]);
        }