Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo >> mail # user >> Mock classes for JUnit Testing


Copy link to this message
-
Re: Mock classes for JUnit Testing
What I think is going is that the class MockTableOperations references
org.apache.commons.lang.NotImplementedException.  When you try to load
the class MockTableOperations, it tries to load the dependency
NotImplementedException which is not on your class path.

On Tue, Sep 25, 2012 at 9:29 AM, Joe Berk <[EMAIL PROTECTED]> wrote:
> Thanks for responding, Keith.
>
> When I execute the following lines:
>
>
> MockInstance    instance  = new MockInstance();
> MockConnector connector = (MockConnector) instance.getConnector(UserName,
> Password);
> connector.tableOperations().create("SomeTable");
>
> I get a "caused by: java.lang.ClassNotFoundException:
> org/apache/commons/lang/NotImplementedException"
>
> & it throws the Exception on the 3rd line there:
> connector.tableOperations().create("SomeTable");
>
> Best Regards,
>
> Josh
>
>
>
>
> On Tue, Sep 25, 2012 at 8:54 AM, Keith Turner <[EMAIL PROTECTED]> wrote:
>>
>> Did you create the table using mockConn.tableOperations().create()?
>>
>> On Tue, Sep 25, 2012 at 8:47 AM, Joe Berk <[EMAIL PROTECTED]> wrote:
>> > Hello,
>> >
>> >
>> >
>> > I am trying to write JUnit tests for Accumulo and I keep running into
>> > dead-ends with the “Mock” classes.
>> >
>> >
>> >
>> > /*
>> >
>> >   * So, the following lines are how I would traditionally establish an
>> > instance to perform Accumulo reads or writes
>> >
>> >   */
>> >
>> >
>> >
>> > Instance       zooInstance    = new ZooKeeperInstance( InstanceName,
>> > ZooServers);
>> >
>> > Connector      connector      = zooInstance.getConnector(UserName,
>> > PassWord);
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > /*
>> >
>> >   * The following lines would be how I would perform a write to Accumulo
>> >
>> >   */
>> >
>> >
>> >
>> > BatchWriter batchWriter   = configuration.getBatchWriter();
>> >
>> > Mutation    videoMutation = new Mutation(new Text( RowId ));
>> >
>> >
>> >
>> > videoMutation.put(ColumnFamily, ColumnQualifer, Value );
>> >
>> >
>> >
>> > batchWriter.addMutation(videoMutation);
>> >
>> > batchWriter.flush();
>> >
>> > batchWriter.close();
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > /*
>> >
>> >   * The following lines would be how I would perform a read from
>> > Accumulo
>> >
>> >   */
>> >
>> >
>> >
>> > Authorizations authorizations = new Authorizations();
>> >
>> > Scanner        scanner        = connector.createScanner(TableName,
>> > authorizations);
>> >
>> >
>> >
>> > scanner.setRange(new Range(RowId));
>> >
>> > scanner.fetchColumnFamily(columnFamily);
>> >
>> >
>> >
>> > Iterator<Entry<Key,Value>> iterator = scanner.iterator();
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > So, I tried to repeat this process, but substituted:
>> >
>> >
>> >
>> > MockInstance instance = new MockInstance()
>> >
>> >                    Or
>> >
>> > Instance     instance = new MockInstance();
>> >
>> >
>> >
>> > and everything works great until I attempt to
>> > addMutation(videoMutation).
>> > That throws a NullPointerException.
>> >
>> >
>> >
>> > I’ve also tried to use the MockConnector & even MockBatchWriter classes,
>> > but
>> > have not had any success.
>> >
>> >
>> >
>> > I would really appreciate any help you could provide.
>> >
>> >
>> >
>> >
>> >
>> > Best Regards,
>> >
>> >
>> >
>> > Josh
>
>