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.jasypt" % "jasypt" % "1.9.2",
"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("org.slf4j", "slf4j-log4j12"))

View File

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

View File

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

View File

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

View File

@ -13,5 +13,6 @@ libraryDependencies ++= Seq(
filters,
"mysql" % "mysql-connector-java" % "5.1.40",
"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 play.mvc.*;
import play.twirl.api.Content;
import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*;
import static org.fest.assertions.api.Assertions.*;
public class ApplicationTest {
@ -12,7 +13,7 @@ public class ApplicationTest {
private static String FAKE_CSRF_TOKEN = "token";
@Test
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");
}

View File

@ -5,11 +5,11 @@ import controllers.api.v1.Dataset;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import play.Logger;
import play.libs.Json;
import play.mvc.Content;
import play.mvc.Http;
import play.mvc.Result;
import play.test.FakeApplication;
@ -20,7 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*;
import static org.fest.assertions.api.Assertions.*;
import static org.mockito.Mockito.*;
@ -113,37 +113,37 @@ public class ControllersTest {
assertThat(sampleNode.isContainerNode());
//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);
JsonNode instanceNode = Json.parse(contentAsString(result));
assertThat(instanceNode.isContainerNode());
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);
JsonNode versionNode = Json.parse(contentAsString(result));
assertThat(versionNode.isContainerNode());
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);
JsonNode referenceNode = Json.parse(contentAsString(result));
assertThat(referenceNode.isContainerNode());
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);
JsonNode dependsNode = Json.parse(contentAsString(result));
assertThat(dependsNode.isContainerNode());
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);
JsonNode schemaTextNode = Json.parse(contentAsString(result));
assertThat(schemaTextNode.isContainerNode());
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);
JsonNode accessNode = Json.parse(contentAsString(result));
assertThat(accessNode.isContainerNode());

View File

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