vivekratnavel commented on a change in pull request #1055: HDDS-1705. Recon: 
Add estimatedTotalCount to the response of ...
URL: https://github.com/apache/hadoop/pull/1055#discussion_r301358174
 
 

 ##########
 File path: 
hadoop-ozone/ozone-recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestContainerKeyService.java
 ##########
 @@ -80,41 +92,77 @@
 @PrepareForTest(ReconUtils.class)
 public class TestContainerKeyService extends AbstractOMMetadataManagerTest {
 
+  @Rule
+  public TemporaryFolder temporaryFolder = new TemporaryFolder();
   private ContainerDBServiceProvider containerDbServiceProvider;
   private OMMetadataManager omMetadataManager;
   private ReconOMMetadataManager reconOMMetadataManager;
   private Injector injector;
   private OzoneManagerServiceProviderImpl ozoneManagerServiceProvider;
   private ContainerKeyService containerKeyService;
+  private boolean setUpIsDone = false;
+
+  private Injector getInjector() {
+    return injector;
+  }
 
   @Before
   public void setUp() throws Exception {
     omMetadataManager = initializeNewOmMetadataManager();
-    injector = Guice.createInjector(new AbstractModule() {
-      @Override
-      protected void configure() {
-        try {
-          bind(OzoneConfiguration.class).toInstance(
-              getTestOzoneConfiguration());
-          reconOMMetadataManager = getTestMetadataManager(omMetadataManager);
-          
bind(ReconOMMetadataManager.class).toInstance(reconOMMetadataManager);
-          bind(DBStore.class).toProvider(ReconContainerDBProvider.class).
-              in(Singleton.class);
-          bind(ContainerDBServiceProvider.class).to(
-              ContainerDBServiceProviderImpl.class).in(Singleton.class);
-          ozoneManagerServiceProvider = new OzoneManagerServiceProviderImpl(
-              getTestOzoneConfiguration());
-          bind(OzoneManagerServiceProvider.class)
-              .toInstance(ozoneManagerServiceProvider);
-          containerKeyService = new ContainerKeyService();
-          bind(ContainerKeyService.class).toInstance(containerKeyService);
-        } catch (IOException e) {
-          Assert.fail();
+    File tempDir = temporaryFolder.newFolder();
+    AbstractSqlDatabaseTest.DataSourceConfigurationProvider
+        configurationProvider =
+        new AbstractSqlDatabaseTest.DataSourceConfigurationProvider(tempDir);
+
+    JooqPersistenceModule jooqPersistenceModule =
+        new JooqPersistenceModule(configurationProvider);
+
+    injector = Guice.createInjector(jooqPersistenceModule,
+        new AbstractModule() {
+        @Override
+        public void configure() {
+          try {
+            bind(DataSourceConfiguration.class)
+                .toProvider(configurationProvider);
+            OzoneConfiguration configuration = getTestOzoneConfiguration();
+            bind(OzoneConfiguration.class).toInstance(configuration);
+
+            ozoneManagerServiceProvider = new OzoneManagerServiceProviderImpl(
+                configuration);
+
+            reconOMMetadataManager = getTestMetadataManager(omMetadataManager);
+            bind(ReconOMMetadataManager.class)
+                .toInstance(reconOMMetadataManager);
+
+            bind(DBStore.class).toProvider(ReconContainerDBProvider.class).
+                in(Singleton.class);
+            bind(ContainerDBServiceProvider.class)
+                .to(ContainerDBServiceProviderImpl.class).in(Singleton.class);
+
+            bind(OzoneManagerServiceProvider.class)
+                .toInstance(ozoneManagerServiceProvider);
+            containerKeyService = new ContainerKeyService();
+            bind(ContainerKeyService.class).toInstance(containerKeyService);
+          } catch (IOException e) {
+            Assert.fail();
+          }
         }
-      }
-    });
-    containerDbServiceProvider = injector.getInstance(
-        ContainerDBServiceProvider.class);
+      });
+
+    // The following setup is run only once
+    if (!setUpIsDone) {
 
 Review comment:
   Also, power mock runner does not apply JUnit ClassRules - 
https://github.com/powermock/powermock/issues/687
   
   The workaround to use `BlockJUnit4ClassRunner.class` also doesn't work as 
expected and causes a lot of test failures. Hence, sticking with this approach 
for test classes that use power mock runner.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to