private async Task TestPageWriteAndRead(PagesCluster clusterPage, long pageId, Dictionary <long, byte[]> cache) { var messagePageId = new MessagePageId(pageId); var hasPage = await clusterPage.HasPageAsync(messagePageId); Assert.IsFalse(hasPage); var msg = new MessageContentGrpcModel { Created = DateTime.UtcNow, Data = new [] { (byte)pageId, (byte)pageId, (byte)pageId }, MessageId = pageId, }; var content = new CompressedPage(new MessagePageId(pageId), new [] { msg }); cache.Add(pageId, content.ZippedContent.ToArray()); await clusterPage.WriteAsync(messagePageId, content); hasPage = await clusterPage.HasPageAsync(messagePageId); Assert.IsTrue(hasPage); var resultContent = await clusterPage.ReadAsync(messagePageId); resultContent.ZippedContent.AssertAllBytesAreEqualWith(content.ZippedContent); }
private async Task DoubleCheck(PagesCluster clusterPage, long pageId, byte[] srcContent) { var messagePageId = new MessagePageId(pageId); var resultContent = await clusterPage.ReadAsync(messagePageId); Assert.AreEqual(resultContent.Messages[0].MessageId, pageId); resultContent.ZippedContent.AssertAllBytesAreEqualWith(srcContent); }