kijiproject/kiji-mapreduce — pull request #10 by sqrl (2013-01-21 00:45:35+00:00)
Title: KIJI-405. Adds some kiji-mapreduce and kiji-schema tests.

IntegrationTestJobHistoryKijiTable
TestWibiTableMapReduceJobInput
IntegrationTestColumnPaging
WibiRowFilterIntegrationTest
IntegrationTestRegexQualifierColumnFilter

Testing done: mvn clean verify

Since these classes are entirely new from the perspective of map-reduce's git,
I'm recording what I did step-by-step (leaving out simple renames and I may have missed a few of those):

* Moved IntegrationTestJobHistoryKijiTable
* Added a setup method to this test to install the job history table.
* Added an internal producer.
* Fixed a bug in JobHistoryKijiTable discovered in the process.

* Moved TestWibiTableMapReduceJobInput
* Fixed mock after some tribulation.
* Moved around stuff in testConfigure() to make sure that KijiTableMapReduce.configure()
works.

* Moved IntegrationTestColumnPaging
* Not sure where this class should live eventually: It's testing a kiji schema feature
but using a gatherer to do so. See KIJIMR-23
* Removed using a tool from this class: Got an admin and just added a table through that
instead.
* KijiAdmins don't clean up their internal HBaseAdmin, so created SCHEMA-158 to track
that in TODOs. Related: SCHEMA-156.
* Removed local variable 'strSchema' from the gather call. Unused?
* Changed setup to use the new put API (values directly rather than Cells).
* Discovered a bug in the order returned from KijiRowData.getValues()
* Fixed and submitted a fix for it.

* Started to move IntegrationTestWibiColumnOutputFormat. These seems to rely on a class which is gone, however.

* Started to move IntegrationTestWibiRowScannerJsonEncoder. Looks like this tests a class that is staying in wibi, however. Making a ticket for moving it back.

* Ported KijiRowFilterIntegrationTest to org.kiji.schema.filter in kiji-mapreduce.
* Removed ToolResult logic. Fixed up some comments.

* Started to move IntegrationTestWibiRowFilters to org.kiji.schema.filter in kiji-mapreduce.
* This test relies on a number of mr-lib classes, though. Rather than porting them, I'm holding off on this for now.
* Keeping KijiRowFilterIntegrationTest, though, so we don't have to redo the porting work for this class later.

* Started to move TestRegexQualifierColumnFilter.
* This relies on a gatherer tester, which no longer exists.
* Not porting. Using the integration test below.

* Ported IntegrationTestRegexQualifierColumnFilter
* Changed table creation to use KijiAdmin.
* Fixed up gatherer.

A number of new tickets have been filed in relation to continued work in this space:
- Remove migrated integration tests from wibi: WIBI-1790 - Remove kiji-mr-migrated tests from Wibi
- Tests should use fake kijis where possible: https://jira.kiji.org/browse/KIJIMR-22
- Kiji.getAdmin leaks an HBaseAdmin: https://jira.kiji.org/browse/SCHEMA-158
- Rework tests that test kiji schema features but live in mapreduce because they use producers/gatherers: https://jira.kiji.org/browse/KIJIMR-23
- Fix and re-enable IntegrationTestWibiRowScannerJsonEncoder in wibi: WIBI-1791
- Nominate classes and integration tests for mr-lib: KIJI-414