summaryrefslogtreecommitdiff
path: root/js/tls_test.ts
blob: 25900f8763a555ed5106dcff4b12d3f30406fdd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { test, testPerm, assert, assertEquals } from "./test_util.ts";

// TODO(ry) The tests in this file use github.com:443, but it would be better to
// not rely on an internet connection and rather use a localhost TLS server.

test(async function dialTLSNoPerm(): Promise<void> {
  let err;
  try {
    await Deno.dialTLS({ hostname: "github.com", port: 443 });
  } catch (e) {
    err = e;
  }
  assertEquals(err.kind, Deno.ErrorKind.PermissionDenied);
  assertEquals(err.name, "PermissionDenied");
});

testPerm({ net: true }, async function dialTLSBasic(): Promise<void> {
  const conn = await Deno.dialTLS({ hostname: "github.com", port: 443 });
  assert(conn.rid > 0);
  const body = new TextEncoder().encode("GET / HTTP/1.0\r\n\r\n");
  const writeResult = await conn.write(body);
  assertEquals(body.length, writeResult);
  conn.close();
});