swagle 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_r300188348
 
 

 ##########
 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:
   @BeforeClass annotated methods are guaranteed to be run once by junit 
framework.

----------------------------------------------------------------
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