Skip to content

Commit

Permalink
Add tests for opening a ncml dataset on S3
Browse files Browse the repository at this point in the history
  • Loading branch information
tdrwenski committed Dec 22, 2023
1 parent dade102 commit dc7a984
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions tds/src/integrationTests/java/thredds/tds/TestS3Ncml.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package thredds.tds;

import static com.google.common.truth.Truth.assertThat;

import java.nio.charset.StandardCharsets;
import javax.servlet.http.HttpServletResponse;
import org.junit.Test;
import thredds.test.util.TestOnLocalServer;

public class TestS3Ncml {
final private static String S3_NCML_PATH = "dodsC/s3-dataset-scan/ncml/";

@Test
public void shouldOpenNcmlOnS3() {
final String endpoint = TestOnLocalServer.withHttpPath(S3_NCML_PATH + "testStandalone.ncml.ascii?time");
final byte[] content = TestOnLocalServer.getContent(endpoint, HttpServletResponse.SC_OK);
final String stringContent = new String(content, StandardCharsets.UTF_8);

assertThat(stringContent).contains("time[2]");
assertThat(stringContent).contains("6, 18");
}

@Test
public void shouldOpenNcmlWithOtherExtensionOnS3() {
final String endpoint = TestOnLocalServer.withHttpPath(S3_NCML_PATH + "testStandaloneNcml.otherExt.ascii?time");
final byte[] content = TestOnLocalServer.getContent(endpoint, HttpServletResponse.SC_OK);
final String stringContent = new String(content, StandardCharsets.UTF_8);

assertThat(stringContent).contains("time[2]");
assertThat(stringContent).contains("6, 18");
}

@Test
public void shouldOpenAggregationWithRelativePathsOnS3() {
final String endpoint = TestOnLocalServer.withHttpPath(S3_NCML_PATH + "nc/namExtract/test_agg.ncml.ascii?time");
final byte[] content = TestOnLocalServer.getContent(endpoint, HttpServletResponse.SC_OK);
final String stringContent = new String(content, StandardCharsets.UTF_8);

assertThat(stringContent).contains("time[8]");
assertThat(stringContent).contains("3.0, 6.0, 9.0, 12.0, 15.0, 18.0, 21.0, 24.0");
}

@Test
public void shouldOpenAggregationWithAbsolutePathsOnS3() {
final String endpoint =
TestOnLocalServer.withHttpPath(S3_NCML_PATH + "nc/namExtract/test_agg_absolute_paths.ncml.ascii?time");
final byte[] content = TestOnLocalServer.getContent(endpoint, HttpServletResponse.SC_OK);
final String stringContent = new String(content, StandardCharsets.UTF_8);

assertThat(stringContent).contains("time[8]");
assertThat(stringContent).contains("3.0, 6.0, 9.0, 12.0, 15.0, 18.0, 21.0, 24.0");
}
}

0 comments on commit dc7a984

Please sign in to comment.