package javax.microedition.io;
import gnu.testlet.TestHarness;
import gnu.testlet.MIDletTestlet;
import java.io.InputStream;
import java.io.IOException;
public class TestHttpsConnection implements MIDletTestlet {
public int getExpectedPass() { return 5; }
public int getExpectedFail() { return 0; }
public int getExpectedKnownFail() { return 0; }
TestHarness th;
public void test(TestHarness th) {
this.th = th;
try {
testBasicHttpsConnection();
} catch (IOException e) {
th.fail("Unexpected exception: " + e);
e.printStackTrace();
}
}
public void testBasicHttpsConnection() throws IOException {
HttpsConnection hc = null;
InputStream is = null;
try {
hc = (HttpsConnection)Connector.open("https://localhost:4443/test.html");
long len = hc.getLength();
th.check(len > 0, "length is > 0");
int responseCode = hc.getResponseCode();
th.check(responseCode, HttpConnection.HTTP_OK, "response code is HTTP_OK");
String responseMessage = hc.getResponseMessage();
th.check(responseMessage, "OK");
String type = hc.getType();
th.check(type, "text/html");
is = hc.openDataInputStream();
byte buf[] = new byte[1024];
int i = 0;
do {
buf[i++] = (byte)is.read();
} while (buf[i-1] != -1 && buf[i-1] != '\r' && buf[i-1] != '\n' && i < buf.length);
String firstLine = new String(buf, 0, i-1);
th.check(firstLine, "<!doctype html>");
} finally {
if (is != null) {
is.close();
}
if (hc != null) {
hc.close();
}
}
}
}