accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bill Havanki <bhava...@clouderagovt.com>
Subject Re: Using ZooCache in unit tests
Date Thu, 12 Jun 2014 01:29:52 GMT
Add a static setZooCacheFactory() method to Tables. Then you can set a mock
ZooCacheFactory instance and inject a mock ZooCache.


On Wed, Jun 11, 2014 at 8:21 PM, Mike Drob <madrob@cloudera.com> wrote:

> I tried passing a MockInstance and a mock(Instance.class) higher in the
> call chain, but it still tried to pull information out of them to make the
> call.
>
> Explicitly mocking that call might work, but I thought there was some issue
> with PowerMock and Java 7 that existed when mocking static methods? Oh,
> also that call is private, so I'd have to mock everything that uses it.
> I'll look into that soon.
>
>
> On Wed, Jun 11, 2014 at 8:16 PM, William Slacum <
> wilhelm.von.cloud@accumulo.net> wrote:
>
> > What about mocking that call?
> >
> >
> > On Wed, Jun 11, 2014 at 8:09 PM, Mike Drob <madrob@cloudera.com> wrote:
> >
> > > When writing unit tests, I indirectly call code that invokes
> > > {{Tables.getZooCache(Instance)}} which sets up a connection to a
> > zookeeper.
> > > However, there is not a server running, so this end up looping forever
> > > until my test times out.
> > >
> > > It looks like my options are...
> > > 1) Make it an IT that uses MAC, so that there is a ZK to connect to
> > > (probably overkill)
> > > 2) Stand up my own ZK (error prone? duplicative?)
> > > 3) Stand up a Curator Testing Server (introduces new dependencies).
> > > 4) Not write tests.
> > >
> > > I'm leaning toward number 3, but was wondering if anybody had thoughts
> on
> > > this, since I feel like that will have a lasting impact on the code.
> > >
> >
>



-- 
// Bill Havanki
// Solutions Architect, Cloudera Govt Solutions
// 443.686.9283

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message