Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Plain View
Accumulo >> mail # dev >> Using powermock-api-mockito in tests?


+
David Medinets 2013-03-21, 20:59
+
dlmarion@... 2013-03-21, 21:11
Copy link to this message
-
RE: Using powermock-api-mockito in tests?
Out of curiosity, why do you say that " System.getenv() which breaks the tests in AccumuloVFSClassLoaderTest?" It's worked fine for a while. What is different now?

-- Dave

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Thursday, March 21, 2013 5:12 PM
To: [EMAIL PROTECTED]
Subject: Re: Using powermock-api-mockito in tests?

We can do it with PowerMock, no need to add  Mockito. This should work, going from memory here. I should be able to help when I get back to a computer if you have problems.

  //Mock the method

  PowerMock.mockStatic(System.class, System.class.getMethod("getenv"));

  //Invoke it

  Map<String, String> mockSystemProperties = new HashMap<String, String>();
  mockSystemProperties.put("ACCUMULO_HOME", System.getenv("HOME"));
  EasyMock.expect(System.getenv()).andReturn(mockSystemProperties);

----- Original Message -----
From: "David Medinets" <[EMAIL PROTECTED]>
To: "accumulo-dev" <[EMAIL PROTECTED]>
Sent: Thursday, March 21, 2013 4:59:40 PM
Subject: Using powermock-api-mockito in tests?

Is there any reason why I should not add a dependency in start/pom.xml to powermock-api-mockito? With this library, we can mock the call to
System.getenv() which breaks the tests in AccumuloVFSClassLoaderTest.
The two tests need these four lines of setup in order to pass:

      Map<String, String> mockSystemProperties = new HashMap<String, String>();
      mockSystemProperties.put("ACCUMULO_HOME", System.getenv("HOME"));

      PowerMockito.mockStatic(System.class);
      Mockito.when(System.getenv()).thenReturn(mockSystemProperties);

You'll notice that set ACCUMULO_HOME is set to the value of HOME to make the test cross-platform.
+
David Medinets 2013-03-22, 01:26
+
dlmarion@... 2013-03-22, 01:44
+
Josh Elser 2013-03-21, 22:43
+
Dave Marion 2013-03-21, 23:11
+
dlmarion@... 2013-03-22, 01:50
+
David Medinets 2013-03-22, 01:58
+
dlmarion@... 2013-03-22, 02:03
+
David Medinets 2013-03-22, 02:08
+
dlmarion@... 2013-03-22, 02:16
+
Keith Turner 2013-03-22, 14:11
+
Jim Klucar 2013-03-22, 14:42
+
David Medinets 2013-03-22, 21:42
+
Dave Marion 2013-03-22, 22:48
+
David Medinets 2013-03-22, 23:54
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB