public void TestFilterRowsRowRangesKeyInMiddle() { BigtableByteString key1 = "row1"; BigtableByteString key2 = "row2"; BigtableByteString key3 = "row3"; BigtableByteString lastFoundKey = "row1a"; RowSet fullRowSet = RowSet.FromRowKeys(key1, key2, key3); fullRowSet.RowRanges.Add(new[] { RowRange.OpenClosed(null, key1), // should be filtered out RowRange.Open(null, key1), // should be filtered out RowRange.Open(key1, key2), // should be converted (lastFoundKey, key2) RowRange.ClosedOpen(key1, key2), // should be converted (lastFoundKey, key2) RowRange.Closed(key1, key2), // should be converted (lastFoundKey, key2] RowRange.Open(key2, key3), // should stay RowRange.ClosedOpen(key2, key3) // should stay }); RowSet filteredRowSet = RowSet.FromRowKeys(key2, key3); filteredRowSet.RowRanges.Add(new[] { RowRange.Open(lastFoundKey, key2), // should be converted (lastFoundKey, key2) RowRange.Open(lastFoundKey, key2), // should be converted (lastFoundKey, key2) RowRange.OpenClosed(lastFoundKey, key2), // should be converted (lastFoundKey, key2] RowRange.Open(key2, key3), // should stay RowRange.ClosedOpen(key2, key3) // should stay }); ReadRowsRequest originalRequest = new ReadRowsRequest { Rows = fullRowSet }; ReadRowsRequest filteredRequest = new ReadRowsRequest { Rows = filteredRowSet }; BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); underTest.LastFoundKey = lastFoundKey; ReadRowsRequest originalRequestClone = originalRequest.Clone(); // Assert that originalRequest and originalRequestClone are different objects. Assert.False(ReferenceEquals(originalRequest, originalRequestClone)); // Assert that originalRequest and originalRequestClone have same value before calling BuildUpdatedRequest. Assert.Equal(originalRequest, originalRequestClone); Assert.Equal(filteredRequest, underTest.BuildUpdatedRequest()); // Assert that BuildUpdatedRequest did not modify the original RowSet. Assert.Equal(originalRequest, originalRequestClone); }
public void TestFilterRowsTestAllRange() { BigtableByteString key1 = "row1"; ReadRowsRequest originalRequest = CreateRowRangeRequest(RowRange.ClosedOpen(null, null)); BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); underTest.LastFoundKey = key1; Assert.Equal(CreateRowRangeRequest(RowRange.Open(key1, null)), underTest.BuildUpdatedRequest()); }
public void TestAppProfileId() { var originalRequest = new ReadRowsRequest { Rows = RowSet.FromRowKey("a"), AppProfileId = "xyz" }; BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); }
public void TestFilterRowsUnsignedRows() { BigtableByteString key1 = new byte[] { 0x7f }; BigtableByteString key2 = new byte[] { 0x80 }; ReadRowsRequest originalRequest = CreateRowKeysRequest(key1, key2); BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); underTest.LastFoundKey = key1; Assert.Equal(CreateRowKeysRequest(key2), underTest.BuildUpdatedRequest()); }
public void TestRowFilter() { var rowFilter = RowFilters.Chain( RowFilters.CellsPerColumnLimit(1), RowFilters.CellsPerRowOffset(2), RowFilters.CellsPerRowLimit(10)); ReadRowsRequest originalRequest = CreateRowFilterRequest(rowFilter); BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); }
public void TestDefaultRequest() { BigtableByteString lastFoundKey = "row015"; ReadRowsRequest originalRequest = new ReadRowsRequest(); BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); underTest.LastFoundKey = lastFoundKey; Assert.Equal(CreateRowRangeRequest(RowRange.Open(lastFoundKey, null)), underTest.BuildUpdatedRequest()); }
public void TestFilterRowsUnsignedRange() { BigtableByteString key1 = new byte[] { 0x7f }; BigtableByteString key2 = new byte[] { 0x80 }; ReadRowsRequest originalRequest = CreateRowRangeRequest(RowRange.ClosedOpen(key1, null)); BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); underTest.LastFoundKey = key2; Assert.Equal(CreateRowRangeRequest(RowRange.Open(key2, null)), underTest.BuildUpdatedRequest()); }
public void TestFilterRowsRowKeys() { BigtableByteString key1 = "row1"; BigtableByteString key2 = "row2"; BigtableByteString key3 = "row3"; ReadRowsRequest originalRequest = CreateRowKeysRequest(key1, key2, key3); BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); underTest.LastFoundKey = key1; Assert.Equal(CreateRowKeysRequest(key2, key3), underTest.BuildUpdatedRequest()); }
public void TestRowFilter() { var rowFilter = RowFilters.Chain( RowFilters.CellsPerColumnLimit(1), RowFilters.CellsPerRowOffset(2), RowFilters.CellsPerRowLimit(10)); var originalRequest = new ReadRowsRequest { Rows = RowSet.FromRowKey("a"), Filter = rowFilter }; BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); }
public void TestRowsLimitOnlyRequest() { BigtableByteString lastFoundKey = "row015"; ReadRowsRequest originalRequest = new ReadRowsRequest { RowsLimit = 1000 }; BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); underTest.LastFoundKey = lastFoundKey; underTest.IncrementRowsReadSoFar(10); ReadRowsRequest updatedRequest = CreateRowRangeRequest(RowRange.Open(lastFoundKey, null)); updatedRequest.RowsLimit = 990; Assert.Equal(updatedRequest, underTest.BuildUpdatedRequest()); }
public void TestRowsLimit() { BigtableByteString startKeyOpenOriginal = "row050"; BigtableByteString lastFoundKey = "row125"; ReadRowsRequest originalRequest = CreateRowRangeRequest(RowRange.OpenClosed(startKeyOpenOriginal, null)); originalRequest.RowsLimit = 100; ReadRowsRequest updatedRequest = CreateRowRangeRequest(RowRange.OpenClosed(lastFoundKey, null)); updatedRequest.RowsLimit = 25; BigtableReadRowsRequestManager underTest = new BigtableReadRowsRequestManager(originalRequest); Assert.Equal(originalRequest, underTest.BuildUpdatedRequest()); underTest.LastFoundKey = lastFoundKey; underTest.IncrementRowsReadSoFar(75); Assert.Equal(updatedRequest, underTest.BuildUpdatedRequest()); }