예제 #1
0
        public void When_I_Scan_with_a_TimestampsFilter_I_get_the_expected_results()
        {
            var expectedRecords = _allExpectedRecords;

            // scan all and retrieve timestamps
            var client  = new HBaseClient(RequestOptionsFactory.GetDefaultOptions());
            var scanner = new Scanner();


            ScannerInformation scanAll    = null;
            List <long>        timestamps = null;

            try
            {
                scanAll    = client.CreateScannerAsync(_tableName, scanner).Result;
                timestamps = RetrieveTimestamps(scanAll).ToList();
            }
            finally
            {
                if (scanAll != null)
                {
                    client.DeleteScannerAsync(_tableName, scanAll).Wait();
                }
            }

            Assert.NotNull(timestamps);

            // timestamps scan
            scanner = new Scanner();
            var filter = new TimestampsFilter(timestamps);

            scanner.Filter = filter.ToEncodedString();
            ScannerInformation scanInfo = null;

            try
            {
                scanInfo = client.CreateScannerAsync(_tableName, scanner).Result;
                var actualRecords = RetrieveResults(scanInfo).ToList();

                actualRecords.ShouldContainOnly(expectedRecords);
            }
            finally
            {
                if (scanInfo != null)
                {
                    client.DeleteScannerAsync(_tableName, scanInfo).Wait();
                }
            }
        }
예제 #2
0
        public void When_I_Scan_with_a_TimestampsFilter_I_get_the_expected_results()
        {
            List <FilterTestRecord> expectedRecords = _allExpectedRecords;

            // scan all and retrieve timestamps
            var client  = new HBaseClient(_credentials);
            var scanner = new Scanner();
            ScannerInformation scanAll    = client.CreateScanner(_tableName, scanner);
            List <long>        timestamps = RetrieveTimestamps(scanAll).ToList();

            // timestamps scan
            scanner = new Scanner();
            var filter = new TimestampsFilter(timestamps);

            scanner.filter = filter.ToEncodedString();

            ScannerInformation      scanInfo      = client.CreateScanner(_tableName, scanner);
            List <FilterTestRecord> actualRecords = RetrieveResults(scanInfo).ToList();

            actualRecords.ShouldContainOnly(expectedRecords);
        }