NIFI-749: Ignore line endings in unit test

This commit is contained in:
Mark Payne 2015-07-03 10:07:19 -04:00
parent 136974af7c
commit 74b4800937
1 changed files with 22 additions and 22 deletions

View File

@ -45,7 +45,9 @@ import org.junit.Assert;
import static org.apache.commons.codec.binary.Base64.encodeBase64; import static org.apache.commons.codec.binary.Base64.encodeBase64;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
@ -103,7 +105,7 @@ public class TestInvokeHTTP {
@Test @Test
public void testDateGeneration() throws Exception { public void testDateGeneration() throws Exception {
DateHandler dh = new DateHandler(); final DateHandler dh = new DateHandler();
addHandler(dh); addHandler(dh);
runner.setProperty(Config.PROP_URL, url); runner.setProperty(Config.PROP_URL, url);
@ -112,8 +114,8 @@ public class TestInvokeHTTP {
// extract the date string sent to the server // extract the date string sent to the server
// and store it as a java.util.Date // and store it as a java.util.Date
SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); final SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
Date date = sdf.parse(dh.dateString); final Date date = sdf.parse(dh.dateString);
// calculate the difference between the date string sent by the client and // calculate the difference between the date string sent by the client and
// the current system time -- these should be within a second or two // the current system time -- these should be within a second or two
@ -121,8 +123,8 @@ public class TestInvokeHTTP {
// //
// If the difference is more like in hours, it's likely that a timezone // If the difference is more like in hours, it's likely that a timezone
// conversion caused a problem. // conversion caused a problem.
long diff = Math.abs(System.currentTimeMillis() - date.getTime()); final long diff = Math.abs(System.currentTimeMillis() - date.getTime());
long threshold = 15000; // 15 seconds final long threshold = 15000; // 15 seconds
if (diff > threshold) { if (diff > threshold) {
fail("Difference (" + diff + ") was greater than threshold (" + threshold + ")"); fail("Difference (" + diff + ") was greater than threshold (" + threshold + ")");
} }
@ -175,14 +177,14 @@ public class TestInvokeHTTP {
public void test200auth() throws Exception { public void test200auth() throws Exception {
addHandler(new BasicAuthHandler()); addHandler(new BasicAuthHandler());
String username = "basic_user"; final String username = "basic_user";
String password = "basic_password"; final String password = "basic_password";
runner.setProperty(Config.PROP_URL, url + "/status/200"); runner.setProperty(Config.PROP_URL, url + "/status/200");
runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username); runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username);
runner.setProperty(Config.PROP_BASIC_AUTH_PASSWORD, password); runner.setProperty(Config.PROP_BASIC_AUTH_PASSWORD, password);
byte[] creds = String.format("%s:%s", username, password).getBytes(StandardCharsets.UTF_8); final byte[] creds = String.format("%s:%s", username, password).getBytes(StandardCharsets.UTF_8);
final String expAuth = String.format("Basic %s\n", new String(encodeBase64(creds))); final String expAuth = String.format("Basic %s", new String(encodeBase64(creds)));
createFlowFiles(runner); createFlowFiles(runner);
@ -209,22 +211,20 @@ public class TestInvokeHTTP {
//server response message body into payload of ff //server response message body into payload of ff
//should not contain any original ff attributes //should not contain any original ff attributes
final MockFlowFile bundle1 = runner.getFlowFilesForRelationship(Config.REL_SUCCESS_RESP).get(0); final MockFlowFile bundle1 = runner.getFlowFilesForRelationship(Config.REL_SUCCESS_RESP).get(0);
bundle1.assertContentEquals(expAuth.getBytes("UTF-8")); final String bundle1Content = new String(bundle1.toByteArray(), StandardCharsets.UTF_8);
assertTrue(bundle1Content.startsWith(expAuth)); // use startsWith instead of equals so we can ignore line endings
bundle1.assertAttributeEquals(Config.STATUS_CODE, "200"); bundle1.assertAttributeEquals(Config.STATUS_CODE, "200");
bundle1.assertAttributeEquals(Config.STATUS_MESSAGE, "OK"); bundle1.assertAttributeEquals(Config.STATUS_MESSAGE, "OK");
bundle1.assertAttributeEquals("Foo", "Bar"); bundle1.assertAttributeEquals("Foo", "Bar");
bundle1.assertAttributeEquals("Content-Type", "text/plain; charset=ISO-8859-1"); bundle1.assertAttributeEquals("Content-Type", "text/plain; charset=ISO-8859-1");
final String actual1 = new String(bundle1.toByteArray(), StandardCharsets.UTF_8);
Assert.assertEquals(expAuth, actual1);
} }
@Test @Test
public void test401notauth() throws Exception { public void test401notauth() throws Exception {
addHandler(new BasicAuthHandler()); addHandler(new BasicAuthHandler());
String username = "basic_user"; final String username = "basic_user";
String password = "basic_password"; final String password = "basic_password";
runner.setProperty(Config.PROP_URL, url + "/status/401"); runner.setProperty(Config.PROP_URL, url + "/status/401");
runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username); runner.setProperty(Config.PROP_BASIC_AUTH_USERNAME, username);
@ -250,7 +250,7 @@ public class TestInvokeHTTP {
final String expected = "Hello"; final String expected = "Hello";
Assert.assertEquals(expected, actual); Assert.assertEquals(expected, actual);
String response = bundle.getAttribute(Config.RESPONSE_BODY); final String response = bundle.getAttribute(Config.RESPONSE_BODY);
assertEquals(response, "Get off my lawn!"); assertEquals(response, "Get off my lawn!");
} }
@ -505,7 +505,7 @@ public class TestInvokeHTTP {
addHandler(new GetOrHeadHandler()); addHandler(new GetOrHeadHandler());
// this is the bad urls // this is the bad urls
String badurlport = "https://localhost:" + 445; final String badurlport = "https://localhost:" + 445;
runner.setProperty(Config.PROP_URL, badurlport + "/doesnotExist"); runner.setProperty(Config.PROP_URL, badurlport + "/doesnotExist");
createFlowFiles(runner); createFlowFiles(runner);
@ -529,7 +529,7 @@ public class TestInvokeHTTP {
public void testConnectFailBadHost() throws Exception { public void testConnectFailBadHost() throws Exception {
addHandler(new GetOrHeadHandler()); addHandler(new GetOrHeadHandler());
String badurlhost = "https://localhOOst:" + 445; final String badurlhost = "https://localhOOst:" + 445;
runner.setProperty(Config.PROP_URL, badurlhost + "/doesnotExist"); runner.setProperty(Config.PROP_URL, badurlhost + "/doesnotExist");
createFlowFiles(runner); createFlowFiles(runner);
@ -550,7 +550,7 @@ public class TestInvokeHTTP {
} }
private static Map<String, String> createSslProperties() { private static Map<String, String> createSslProperties() {
Map<String, String> map = new HashMap<>(); final Map<String, String> map = new HashMap<>();
map.put(StandardSSLContextService.KEYSTORE.getName(), "src/test/resources/localhost-ks.jks"); map.put(StandardSSLContextService.KEYSTORE.getName(), "src/test/resources/localhost-ks.jks");
map.put(StandardSSLContextService.KEYSTORE_PASSWORD.getName(), "localtest"); map.put(StandardSSLContextService.KEYSTORE_PASSWORD.getName(), "localtest");
map.put(StandardSSLContextService.KEYSTORE_TYPE.getName(), "JKS"); map.put(StandardSSLContextService.KEYSTORE_TYPE.getName(), "JKS");
@ -583,7 +583,7 @@ public class TestInvokeHTTP {
assertEquals("/post", target); assertEquals("/post", target);
String body = request.getReader().readLine(); final String body = request.getReader().readLine();
assertEquals("Hello", body); assertEquals("Hello", body);
} }
@ -595,7 +595,7 @@ public class TestInvokeHTTP {
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
baseRequest.setHandled(true); baseRequest.setHandled(true);
int status = Integer.valueOf(target.substring("/status".length() + 1)); final int status = Integer.valueOf(target.substring("/status".length() + 1));
response.setStatus(status); response.setStatus(status);
response.setContentType("text/plain"); response.setContentType("text/plain");
@ -638,7 +638,7 @@ public class TestInvokeHTTP {
authString = request.getHeader("Authorization"); authString = request.getHeader("Authorization");
int status = Integer.valueOf(target.substring("/status".length() + 1)); final int status = Integer.valueOf(target.substring("/status".length() + 1));
if (status == 200) { if (status == 200) {
response.setStatus(status); response.setStatus(status);