public override async Task TestFixtureSetUp()
        {
            await base.TestFixtureSetUp();

            Db = new TFChunkDb(CreateDbConfig());
            Db.Open();
            Chaser = new TFChunkChaser(Db, _writerChk, _chaserChk, false);
            Chaser.Open();
            Writer = new TFChunkWriter(Db);
            Writer.Open();

            IndexCommitter = new FakeIndexCommitterService();
            EpochManager   = new FakeEpochManager();

            Service = new StorageChaser(
                Publisher,
                _writerChk,
                Chaser,
                IndexCommitter,
                EpochManager,
                new QueueStatsManager());

            Service.Handle(new SystemMessage.SystemStart());
            Service.Handle(new SystemMessage.SystemInit());

            Publisher.Subscribe(new AdHocHandler <StorageMessage.CommitAck>(CommitAcks.Enqueue));
            Publisher.Subscribe(new AdHocHandler <StorageMessage.PrepareAck>(PrepareAcks.Enqueue));

            When();
        }
        public override async Task TestFixtureTearDown()
        {
            await base.TestFixtureTearDown();

            Service.Handle(new SystemMessage.BecomeShuttingDown(Guid.NewGuid(), true, true));
        }