Skip to content

Commit

Permalink
Clean up test db before each test
Browse files Browse the repository at this point in the history
  • Loading branch information
aihuaxu committed Aug 25, 2024
1 parent 1163835 commit 7fa9b21
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<shared-cache-mode>NONE</shared-cache-mode>
<properties>
<property name="jakarta.persistence.jdbc.url"
value="jdbc:h2:file:./build/eclipselink-db/{realm}"/>
value="jdbc:h2:file:./build/test_data/iceberg/{realm}/db"/>
<property name="jakarta.persistence.jdbc.user" value="sa"/>
<property name="jakarta.persistence.jdbc.password" value=""/>
<property name="jakarta.persistence.schema-generation.database.action" value="create"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import jakarta.ws.rs.client.Entity;
import jakarta.ws.rs.client.Invocation;
import jakarta.ws.rs.core.Response;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
Expand Down Expand Up @@ -64,9 +65,12 @@ public class PolarisOverlappingCatalogTest {
private static String realm;

@BeforeAll
public static void setup(PolarisConnectionExtension.PolarisToken adminToken) {
public static void setup(PolarisConnectionExtension.PolarisToken adminToken) throws IOException {
userToken = adminToken.token();
realm = PolarisConnectionExtension.getTestRealm(PolarisOverlappingCatalogTest.class);

// Set up the database location
PolarisConnectionExtension.createTestDir(realm);
}

private Response createCatalog(String prefix, String defaultBaseLocation, boolean isExternal) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,12 @@ public class PolarisServiceImplIntegrationTest {
private static String realm;

@BeforeAll
public static void setup(PolarisConnectionExtension.PolarisToken adminToken) {
public static void setup(PolarisConnectionExtension.PolarisToken adminToken) throws IOException {
userToken = adminToken.token();
realm = PolarisConnectionExtension.getTestRealm(PolarisServiceImplIntegrationTest.class);

// Set up test location
PolarisConnectionExtension.createTestDir(realm);
}

@AfterEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,6 @@
import jakarta.ws.rs.client.Entity;
import jakarta.ws.rs.core.Response;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -134,25 +131,8 @@ public class PolarisRestCatalogIntegrationTest extends CatalogTests<RESTCatalog>
public static void setup() throws IOException {
realm = PolarisConnectionExtension.getTestRealm(PolarisRestCatalogIntegrationTest.class);

Path testDir = Path.of("build/test_data/iceberg/" + realm);
if (Files.exists(testDir)) {
if (Files.isDirectory(testDir)) {
Files.walk(testDir)
.sorted(Comparator.reverseOrder())
.forEach(
path -> {
try {
Files.delete(path);
} catch (IOException e) {
throw new RuntimeException(e);
}
});

} else {
Files.delete(testDir);
}
}
Files.createDirectories(testDir);
// Set up test location
PolarisConnectionExtension.createTestDir(realm);
}

@BeforeEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@
import jakarta.ws.rs.client.Entity;
import jakarta.ws.rs.core.Response;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import org.apache.iceberg.CatalogProperties;
Expand Down Expand Up @@ -96,25 +93,8 @@ public class PolarisRestCatalogViewIntegrationTest extends ViewCatalogTests<REST
public static void setup() throws IOException {
realm = PolarisConnectionExtension.getTestRealm(PolarisRestCatalogViewIntegrationTest.class);

Path testDir = Path.of("build/test_data/iceberg/" + realm);
if (Files.exists(testDir)) {
if (Files.isDirectory(testDir)) {
Files.walk(testDir)
.sorted(Comparator.reverseOrder())
.forEach(
path -> {
try {
Files.delete(path);
} catch (IOException e) {
throw new RuntimeException(e);
}
});

} else {
Files.delete(testDir);
}
}
Files.createDirectories(testDir);
// Set up test location
PolarisConnectionExtension.createTestDir(realm);
}

@BeforeEach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import io.polaris.service.types.TableUpdateNotification;
import jakarta.ws.rs.client.Entity;
import jakarta.ws.rs.core.Response;
import java.io.IOException;
import java.time.Instant;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -79,10 +80,14 @@ public class PolarisSparkIntegrationTest {
private static String realm;

@BeforeAll
public static void setup(PolarisConnectionExtension.PolarisToken polarisToken) {
public static void setup(PolarisConnectionExtension.PolarisToken polarisToken)
throws IOException {
s3Container.start();
PolarisSparkIntegrationTest.polarisToken = polarisToken;
realm = PolarisConnectionExtension.getTestRealm(PolarisSparkIntegrationTest.class);

// Set up test location
PolarisConnectionExtension.createTestDir(realm);
}

@AfterAll
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,13 @@
import io.polaris.core.storage.PolarisStorageIntegrationProvider;
import io.polaris.service.auth.TokenUtils;
import io.polaris.service.config.PolarisApplicationConfig;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Comparator;
import java.util.EnumMap;
import java.util.Map;
import java.util.Optional;
Expand Down Expand Up @@ -177,6 +181,29 @@ public static String getTestRealm(Class testClassName) {
return testClassName.getName().replace('.', '_');
}

public static void createTestDir(String realm) throws IOException {
// Set up the database location
Path testDir = Path.of("build/test_data/iceberg/" + realm);
if (Files.exists(testDir)) {
if (Files.isDirectory(testDir)) {
Files.walk(testDir)
.sorted(Comparator.reverseOrder())
.forEach(
path -> {
try {
Files.delete(path);
} catch (IOException e) {
throw new RuntimeException(e);
}
});

} else {
Files.delete(testDir);
}
}
Files.createDirectories(testDir);
}

static PolarisPrincipalSecrets getAdminSecrets() {
return adminSecrets;
}
Expand Down

0 comments on commit 7fa9b21

Please sign in to comment.