Make unit tests buildable again for backend and web (#325)

* Make unit tests buildable again for backend and web.

* Add back fest dependency so the tests can stay more of less the same as before.
This commit is contained in:
Mars Lan 2017-02-24 10:14:47 -08:00
parent 7b987c0138
commit bcc3cd9f76
8 changed files with 30 additions and 21 deletions

View File

@ -19,6 +19,7 @@ libraryDependencies ++= Seq(
"org.slf4j" % "slf4j-api" % "1.7.21", "org.slf4j" % "slf4j-api" % "1.7.21",
"org.jasypt" % "jasypt" % "1.9.2", "org.jasypt" % "jasypt" % "1.9.2",
"org.apache.kafka" % "kafka_2.10" % "0.10.0.1", "org.apache.kafka" % "kafka_2.10" % "0.10.0.1",
"org.apache.kafka" % "kafka-clients" % "0.10.0.1" "org.apache.kafka" % "kafka-clients" % "0.10.0.1",
"org.easytesting" % "fest-assert-core" % "2.0M8"
).map(_.exclude("log4j", "log4j")) ).map(_.exclude("log4j", "log4j"))
.map(_.exclude("org.slf4j", "slf4j-log4j12")) .map(_.exclude("org.slf4j", "slf4j-log4j12"))

View File

@ -23,19 +23,20 @@ import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.Properties; import java.util.Properties;
import static org.junit.Assert.assertThat; import static org.fest.assertions.api.Assertions.*;
public class ConfigUtilTest { public class ConfigUtilTest {
@Test @Test
public void shouldGenerateEtlJobDefaultCommand() { public void shouldGenerateEtlJobDefaultCommand() {
// when: // when:
String command = ConfigUtil.generateCommand(0L, "", new Properties()); String command = ConfigUtil.generateCommand(EtlJobName.HADOOP_DATASET_METADATA_ETL, 0L, "", new Properties());
// then: // then:
assertThat(command) assertThat(command)
.startsWith("java -cp ") .startsWith("java -cp ")
.contains(" -Dconfig=/var/tmp/wherehows/exec/0.properties ") .contains(" -Dconfig=/var/tmp/wherehows/exec/0.properties ")
.contains(" -DCONTEXT=HADOOP_DATASET_METADATA_ETL ")
.endsWith(" metadata.etl.Launcher"); .endsWith(" metadata.etl.Launcher");
} }
@ -48,12 +49,13 @@ public class ConfigUtilTest {
etlJobProperties.put(Constant.WH_APP_FOLDER_KEY, applicationDirectory); etlJobProperties.put(Constant.WH_APP_FOLDER_KEY, applicationDirectory);
// when: // when:
String command = ConfigUtil.generateCommand(1L, "", etlJobProperties); String command = ConfigUtil.generateCommand(EtlJobName.LDAP_USER_ETL, 1L, "", etlJobProperties);
// then: // then:
assertThat(command) assertThat(command)
.startsWith("java -cp ") .startsWith("java -cp ")
.contains(" -Dconfig=" + applicationDirectory + "/exec/1.properties ") .contains(" -Dconfig=" + applicationDirectory + "/exec/1.properties ")
.contains(" -DCONTEXT=LDAP_USER_ETL ")
.endsWith(" metadata.etl.Launcher"); .endsWith(" metadata.etl.Launcher");
} }
@ -68,8 +70,7 @@ public class ConfigUtilTest {
final File propertiesFile = createTemporaryPropertiesFile(whEtlExecId, etlJobProperties); final File propertiesFile = createTemporaryPropertiesFile(whEtlExecId, etlJobProperties);
// when: // when:
final EtlJobName etlJobName = EtlJobName.valueOf("HIVE_DATASET_METADATA_ETL"); ConfigUtil.generateProperties(EtlJobName.HIVE_DATASET_METADATA_ETL, 2, whEtlExecId, etlJobProperties);
ConfigUtil.generateProperties(etlJobName, 2, whEtlExecId, etlJobProperties);
// then: // then:
final String content = Files.toString(propertiesFile, Charset.defaultCharset()); final String content = Files.toString(propertiesFile, Charset.defaultCharset());

View File

@ -34,7 +34,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import static play.test.Helpers.*; import static play.test.Helpers.*;
import static org.junit.Assert.assertThat; import static org.fest.assertions.api.Assertions.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;

View File

@ -54,6 +54,11 @@ task "playCompile" (type: Exec, dependsOn: copyPlayLibs) {
commandLine playExec, 'compile' commandLine playExec, 'compile'
} }
task "playTest" (type: Exec, dependsOn: playCompile) {
commandLine playExec, 'test'
}
task "playClean" (type: Exec) { task "playClean" (type: Exec) {
commandLine playExec, 'clean' commandLine playExec, 'clean'
} }

View File

@ -13,5 +13,6 @@ libraryDependencies ++= Seq(
filters, filters,
"mysql" % "mysql-connector-java" % "5.1.40", "mysql" % "mysql-connector-java" % "5.1.40",
"org.springframework" % "spring-jdbc" % "4.1.6.RELEASE", "org.springframework" % "spring-jdbc" % "4.1.6.RELEASE",
"org.mockito" % "mockito-core" % "1.10.19" "org.mockito" % "mockito-core" % "1.10.19",
"org.easytesting" % "fest-assert-core" % "2.0M8"
) )

View File

@ -1,9 +1,10 @@
import org.junit.*; import org.junit.*;
import play.mvc.*; import play.twirl.api.Content;
import static play.test.Helpers.*; import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*; import static org.fest.assertions.api.Assertions.*;
public class ApplicationTest { public class ApplicationTest {
@ -12,7 +13,7 @@ public class ApplicationTest {
private static String FAKE_CSRF_TOKEN = "token"; private static String FAKE_CSRF_TOKEN = "token";
@Test @Test
public void renderTemplate() { public void renderTemplate() {
Content html = views.html.index.render(TEST_USER, FAKE_CSRF_TOKEN); Content html = views.html.index.render(TEST_USER, FAKE_CSRF_TOKEN, true, 1234);
assertThat(contentType(html)).isEqualTo("text/html"); assertThat(contentType(html)).isEqualTo("text/html");
} }

View File

@ -5,11 +5,11 @@ import controllers.api.v1.Dataset;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import play.Logger; import play.Logger;
import play.libs.Json; import play.libs.Json;
import play.mvc.Content;
import play.mvc.Http; import play.mvc.Http;
import play.mvc.Result; import play.mvc.Result;
import play.test.FakeApplication; import play.test.FakeApplication;
@ -20,7 +20,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import static play.test.Helpers.*; import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*; import static org.fest.assertions.api.Assertions.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
@ -113,37 +113,37 @@ public class ControllersTest {
assertThat(sampleNode.isContainerNode()); assertThat(sampleNode.isContainerNode());
//assertThat(sampleNode.get("status").asText()).isEqualTo("ok"); //assertThat(sampleNode.get("status").asText()).isEqualTo("ok");
result = controllers.api.v1.Dataset.getDatasetInstances(datasetId); result = controllers.api.v1.Dataset.getDatasetInstances(datasetId.longValue());
assertThat(status(result)).isEqualTo(OK); assertThat(status(result)).isEqualTo(OK);
JsonNode instanceNode = Json.parse(contentAsString(result)); JsonNode instanceNode = Json.parse(contentAsString(result));
assertThat(instanceNode.isContainerNode()); assertThat(instanceNode.isContainerNode());
assertThat(instanceNode.get("status").asText()).isEqualTo("ok"); assertThat(instanceNode.get("status").asText()).isEqualTo("ok");
result = controllers.api.v1.Dataset.getDatasetVersions(datasetId, DB_ID); result = controllers.api.v1.Dataset.getDatasetVersions(datasetId.longValue(), DB_ID);
assertThat(status(result)).isEqualTo(OK); assertThat(status(result)).isEqualTo(OK);
JsonNode versionNode = Json.parse(contentAsString(result)); JsonNode versionNode = Json.parse(contentAsString(result));
assertThat(versionNode.isContainerNode()); assertThat(versionNode.isContainerNode());
assertThat(versionNode.get("status").asText()).isEqualTo("ok"); assertThat(versionNode.get("status").asText()).isEqualTo("ok");
result = controllers.api.v1.Dataset.getReferenceViews(datasetId); result = controllers.api.v1.Dataset.getReferenceViews(datasetId.longValue());
assertThat(status(result)).isEqualTo(OK); assertThat(status(result)).isEqualTo(OK);
JsonNode referenceNode = Json.parse(contentAsString(result)); JsonNode referenceNode = Json.parse(contentAsString(result));
assertThat(referenceNode.isContainerNode()); assertThat(referenceNode.isContainerNode());
assertThat(referenceNode.get("status").asText()).isEqualTo("ok"); assertThat(referenceNode.get("status").asText()).isEqualTo("ok");
result = controllers.api.v1.Dataset.getDependViews(datasetId); result = controllers.api.v1.Dataset.getDependViews(datasetId.longValue());
assertThat(status(result)).isEqualTo(OK); assertThat(status(result)).isEqualTo(OK);
JsonNode dependsNode = Json.parse(contentAsString(result)); JsonNode dependsNode = Json.parse(contentAsString(result));
assertThat(dependsNode.isContainerNode()); assertThat(dependsNode.isContainerNode());
assertThat(dependsNode.get("status").asText()).isEqualTo("ok"); assertThat(dependsNode.get("status").asText()).isEqualTo("ok");
result = controllers.api.v1.Dataset.getDatasetSchemaTextByVersion(datasetId, '0.0.1'); result = controllers.api.v1.Dataset.getDatasetSchemaTextByVersion(datasetId.longValue(), "0.0.1");
assertThat(status(result)).isEqualTo(OK); assertThat(status(result)).isEqualTo(OK);
JsonNode schemaTextNode = Json.parse(contentAsString(result)); JsonNode schemaTextNode = Json.parse(contentAsString(result));
assertThat(schemaTextNode.isContainerNode()); assertThat(schemaTextNode.isContainerNode());
assertThat(schemaTextNode.get("status").asText()).isEqualTo("ok"); assertThat(schemaTextNode.get("status").asText()).isEqualTo("ok");
result = controllers.api.v1.Dataset.getDatasetAccess(datasetId) result = controllers.api.v1.Dataset.getDatasetAccess(datasetId.longValue());
assertThat(status(result)).isEqualTo(OK); assertThat(status(result)).isEqualTo(OK);
JsonNode accessNode = Json.parse(contentAsString(result)); JsonNode accessNode = Json.parse(contentAsString(result));
assertThat(accessNode.isContainerNode()); assertThat(accessNode.isContainerNode());

View File

@ -1,9 +1,9 @@
import org.junit.*; import org.junit.*;
import play.libs.WS; import play.libs.ws.WS;
import static play.test.Helpers.*; import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*; import static org.fest.assertions.api.Assertions.*;
public class IntegrationTest { public class IntegrationTest {