Skip to content

Commit 77aa8ad

Browse files
Tara Drwenskitdrwenski
Tara Drwenski
authored andcommitted
Add S3 Radar Server tests
1 parent 686002d commit 77aa8ad

File tree

3 files changed

+200
-14
lines changed

3 files changed

+200
-14
lines changed

Diff for: tds/src/integrationTests/java/thredds/server/radar/TestRadarServer.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,15 @@ public static java.util.Collection<Object[]> getTestParameters() {
3131
// {"/radar/radarCollections.xml"},
3232
{"/radarServer/nexrad/level2/IDD/dataset.xml"}, {"/radarServer/nexrad/level2/IDD/stations.xml"},
3333
{"/radarServer/nexrad/level2/IDD?stn=KDGX&time_start=2014-06-05T12:47:17&time_end=2014-06-05T16:07:17"},
34-
{"/radarServer/nexrad/level3/IDD/stations.xml"}, {"/radarServer/terminal/level3/IDD/stations.xml"},});
34+
{"/radarServer/nexrad/level3/IDD/stations.xml"}, {"/radarServer/terminal/level3/IDD/stations.xml"},
35+
36+
37+
// s3 tests
38+
{"/radarServer/s3/nexrad/level2/IDD/dataset.xml"}, {"/radarServer/s3/nexrad/level2/IDD/stations.xml"},
39+
{"/radarServer/s3/nexrad/level2/IDD?stn=KDGX&time_start=2014-06-05T12:47:17&time_end=2014-06-05T16:07:17"},
40+
{"/radarServer/s3/nexrad/level3/IDD/stations.xml"},
41+
42+
});
3543
}
3644

3745
private static final String expectedContentType = "application/xml";

Diff for: tds/src/integrationTests/java/thredds/server/radar/TestRadarServerQuery.java

+28-13
Original file line numberDiff line numberDiff line change
@@ -10,88 +10,103 @@
1010
import org.jdom2.xpath.XPathFactory;
1111
import org.junit.Test;
1212
import org.junit.experimental.categories.Category;
13+
import org.junit.runner.RunWith;
14+
import org.junit.runners.Parameterized;
1315
import thredds.test.util.TestOnLocalServer;
1416
import thredds.util.xml.XmlUtil;
1517
import ucar.unidata.util.test.category.NeedsCdmUnitTest;
1618

1719
import java.io.IOException;
1820
import java.nio.charset.StandardCharsets;
21+
import java.util.Arrays;
1922
import java.util.List;
2023

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

2326
@Category(NeedsCdmUnitTest.class)
27+
@RunWith(Parameterized.class)
2428
public class TestRadarServerQuery {
2529
private static final Namespace NS =
2630
Namespace.getNamespace("ns", "http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0");
27-
private static final String L2_URL = "/radarServer/nexrad/level2/IDD";
28-
private static final String L3_URL = "/radarServer/nexrad/level3/IDD";
31+
32+
private final String l2Url;
33+
private final String l3Url;
34+
35+
@Parameterized.Parameters(name = "{0}")
36+
public static List<String> getTestParameters() {
37+
return Arrays.asList("", "s3/");
38+
}
39+
40+
public TestRadarServerQuery(String datasetPathPrefix) {
41+
l2Url = "/radarServer/" + datasetPathPrefix + "nexrad/level2/IDD";
42+
l3Url = "/radarServer/" + datasetPathPrefix + "nexrad/level3/IDD";
43+
}
2944

3045
@Test
3146
public void shouldReturnAllDatasetsForStation() throws IOException, JDOMException {
32-
String endpoint = L2_URL + "?stn=KDGX&temporal=all";
47+
String endpoint = l2Url + "?stn=KDGX&temporal=all";
3348
verifyNumberOfDatasets(endpoint, 3);
3449
}
3550

3651
@Test
3752
public void shouldReturnZeroDatasetsForNonOverlappingTimeRange() throws IOException, JDOMException {
38-
String endpoint = L2_URL + "?stn=KDGX&time_start=2000-01-01T12:00:00&time_end=2001-01-01T12:00:00";
53+
String endpoint = l2Url + "?stn=KDGX&time_start=2000-01-01T12:00:00&time_end=2001-01-01T12:00:00";
3954
verifyNumberOfDatasets(endpoint, 0);
4055
}
4156

4257
@Test
4358
public void shouldReturnOneDatasetForOverlappingTimeRange() throws IOException, JDOMException {
44-
String endpoint = L2_URL + "?stn=KDGX&time_start=2014-06-02T23:52:00&time_end=2014-06-02T23:53:00";
59+
String endpoint = l2Url + "?stn=KDGX&time_start=2014-06-02T23:52:00&time_end=2014-06-02T23:53:00";
4560
verifyNumberOfDatasets(endpoint, 1);
4661
}
4762

4863
@Test
4964
public void shouldReturnOneDatasetForOverlappingTimeDuration() throws IOException, JDOMException {
50-
String endpoint = L2_URL + "?stn=KDGX&time_start=2014-06-02T23:52:00&time_duration=PT1M";
65+
String endpoint = l2Url + "?stn=KDGX&time_start=2014-06-02T23:52:00&time_duration=PT1M";
5166
verifyNumberOfDatasets(endpoint, 1);
5267
}
5368

5469
@Test
5570
public void shouldReturnOneDatasetForTime() throws IOException, JDOMException {
56-
String endpoint = L2_URL + "?stn=KDGX&time=2014-06-02T23:52:00";
71+
String endpoint = l2Url + "?stn=KDGX&time=2014-06-02T23:52:00";
5772
verifyNumberOfDatasets(endpoint, 1);
5873
}
5974

6075
@Test
6176
public void shouldReturnZeroDatasetsForNonExistentStation() throws IOException, JDOMException {
62-
String endpoint = L2_URL + "?stn=ABCD&temporal=all";
77+
String endpoint = l2Url + "?stn=ABCD&temporal=all";
6378
verifyNumberOfDatasets(endpoint, 0);
6479
}
6580

6681
@Test
6782
public void shouldReturnErrorForNonOverlappingBox() throws IOException, JDOMException {
68-
String endpoint = L2_URL + "?north=10&south=0&west=-100&east=-80&temporal=all";
83+
String endpoint = l2Url + "?north=10&south=0&west=-100&east=-80&temporal=all";
6984
byte[] result = TestOnLocalServer.getContent(TestOnLocalServer.withHttpPath(endpoint), HttpServletResponse.SC_OK,
7085
"text/plain;charset=iso-8859-1");
7186
assertThat(new String(result, StandardCharsets.UTF_8)).isEqualTo("No stations found for specified coordinates.");
7287
}
7388

7489
@Test
7590
public void shouldReturnAllDatasetsForOverlappingBox() throws IOException, JDOMException {
76-
String endpoint = L2_URL + "?north=50&south=30&west=-100&east=-80&temporal=all";
91+
String endpoint = l2Url + "?north=50&south=30&west=-100&east=-80&temporal=all";
7792
verifyNumberOfDatasets(endpoint, 3);
7893
}
7994

8095
@Test
8196
public void shouldReturnAllDatasetsForLonLat() throws IOException, JDOMException {
82-
String endpoint = L2_URL + "?latitude=30&longitude=-90&temporal=all";
97+
String endpoint = l2Url + "?latitude=30&longitude=-90&temporal=all";
8398
verifyNumberOfDatasets(endpoint, 3);
8499
}
85100

86101
@Test
87102
public void shouldReturnAllLevel3Datasets() throws IOException, JDOMException {
88-
String endpoint = L3_URL + "?temporal=all&var=N0R&stn=UDX";
103+
String endpoint = l3Url + "?temporal=all&var=N0R&stn=UDX";
89104
verifyNumberOfDatasets(endpoint, 329);
90105
}
91106

92107
@Test
93108
public void shouldReturnErrorWithoutVar() throws IOException, JDOMException {
94-
String endpoint = L3_URL + "?temporal=all&stn=UDX";
109+
String endpoint = l3Url + "?temporal=all&stn=UDX";
95110
byte[] result = TestOnLocalServer.getContent(TestOnLocalServer.withHttpPath(endpoint), HttpServletResponse.SC_OK,
96111
"text/plain;charset=iso-8859-1");
97112
assertThat(new String(result, StandardCharsets.UTF_8)).isEqualTo("One or more variables required.");

0 commit comments

Comments
 (0)